作者:严哲璟

原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000

系统调用过程为getpid()即返回当前进程的ID

使用汇编代码

用库函数实现

参数传递方式:eax传递系统调用号,库函数的参数按照从左至右传递到ebx,ecx,edx,esi,edi的顺序存储,返回值为eax.当参数个数大于6个的时候,需要制定一个寄存器来存放一段内存地址的起始地址,将所有的参数都放入这段地址中.

 

系统调用的3个基本层次:1 API即应用程序接口    2.库函数产生软中断进入内核态,int80指令进入内核态,之前需保存所有的现场   3.调用内核函数计算