hw-syscall
part1
part2
syscall调用的过程
在用户层面涉及文件有usys.s
, user.h
。我们发现在用户态调用的时候,我们的函数调用是带有参数的,但是陷入到系统调用中,函数中是不带有参数的。
举例:
int date(struct rtcdate *); user.h
int sys_date(void); sysproc.c
因此,我很好奇syscall是怎么调用的。
最后仔细的阅读源代码,发现系统调用中虽然不带有参数,但是由于函数调用的结构化,我们在系统调用的时候可以从内存中主动去读取相关的变量值,从而能够顺利的执行相关的函数功能。不带有参数是为了系统调用时结构的统一性。