系统调用是异常控制流的一个重要的组成部分。ECF 是理解应用程序与操作系统如何交互的重要的工具。 OS要想实现系统调用,必须使用中断int命令。
1. 在启动时,注册好每一种系统调用的方法,形成一个系统调用表。
2. 当用户调用系统调用时,底层会转换成一条指令int 0x80 args... 。当调用了这个指令的时候,产生了一个中断,而CPU查看这个中断号是0x80,并不是由硬件产生的中断,CPU会将指针戳向内核的异常处理函数的入口处。
在那里,根据CPU传过来的参数,依次填充到相应的实参中,并根据系统调用表找到相应的函数并执行。
阅读(1462) | 评论(0) | 转发(0) |