系统调用的过程及操作系统通过什么机制触发系统调用

过程

  • 用户进程通过库函数或者直接使用汇编指令(如svc)发起系统调用请求,将系统调用号和参数保存在寄存器中。
  • 处理器切换到内核模式,根据中断向量表跳转到系统调用总入口程序,保存用户进程的现场信息。
  • 系统调用总入口程序根据系统调用号查找对应的服务例程,执行服务例程的功能。
  • 服务例程执行完毕后,恢复用户进程的现场信息,返回到用户空间继续执行。

机制

操作系统通过中断机制触发系统调用。中断机制是一种硬件和软件之间的通信方式,可以让处理器响应外部事件或者内部异常。中断可以分为硬中断和软中断。硬中断是由外设产生的信号,如键盘输入、鼠标移动等。软中断是由当前运行的进程产生的指令,如svc、int等。系统调用就是一种软中断,它模拟了硬中断的处理过程。

posted @ 2023-03-01 16:28  yytarget  阅读(244)  评论(0编辑  收藏  举报