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

过程

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

机制

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

posted @   yytarget  阅读(338)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示