系统调用的大致过程

名词解释

系统调用

操作系统(operating system)内核中有一组实现系统功能的代码,系统调用就是对上述代码的调用。程序利用系统调用,向OS提出服务请求,由OS代为完成。

中断

中断是一种使CPU中止正在执行的程序而转去处理特殊事件的操作,这些引起中断的事件称为中断源,它们可能是来自外设的输入输出请求,也可能是计算机的一些异常事故或其它内部原因。

系统调用过程

  1. 触发中断:硬件或软件发出中断请求(电信号),要求CPU暂停当前工作转手处理更重要的事情。
  2. 查询中断向量表:通过中断传来的参数 int 0x80,在 kernel 里的中断向量表中找到对应方法
  3. 切换用户态到内核态:保护现场,切换用户态到内核态
  4. 执行对应方法