hw-syscall

part1

part2

syscall调用的过程

​ 在用户层面涉及文件有usys.s, user.h。我们发现在用户态调用的时候,我们的函数调用是带有参数的,但是陷入到系统调用中,函数中是不带有参数的。

举例:

int date(struct rtcdate *); user.h
int sys_date(void); sysproc.c

​ 因此,我很好奇syscall是怎么调用的。

​ 最后仔细的阅读源代码,发现系统调用中虽然不带有参数,但是由于函数调用的结构化,我们在系统调用的时候可以从内存中主动去读取相关的变量值,从而能够顺利的执行相关的函数功能。不带有参数是为了系统调用时结构的统一性。

results matching ""

    No results matching ""