系统调用接口调用“int $Ox8O”指令进入内核并准各了相关参数后,剩下的工作就由系统调用例程来进行。Linux定义的系统调用 例程的入口为system_call。下面具体介绍system_call所做的工作。 system_call是用汇编语言编写的,在i386体系中,其前半部分代码如下: 这部分代码的任务是传递系统调用号和参数。 前面谈到,为了识别具体的内核服务例程,必须用寄存器eax传递系统调用号。除此之外,某些内核服务例程还需要一些由用户提供 的参数。例如,内核服务例程mmap()除系统调用号之外还需要6个参数。 传递参数的任务是由处理器的寄存器来完成的。