跳转至

系统调用

来源:操作系统 / note/概述/系统调用.md

上级:操作系统的运行环境

系统调用是用户程序请求操作系统内核服务的接口,也是程序主动从用户态进入内核态的主要方式。

为什么需要系统调用

用户程序不能直接执行特权指令,也不能随意访问设备、文件系统和内核数据结构。需要访问这些资源时,必须通过系统调用让内核代为完成。

典型服务

  • 进程控制:创建、退出、等待进程。
  • 文件操作:打开、读写、关闭文件。
  • 设备管理:读写 I/O 设备。
  • 信息维护:获取时间、系统信息。
  • 通信:管道、信号、共享内存等。

基本流程

  1. 用户程序准备系统调用号和参数。
  2. 执行陷入指令,触发软中断或异常。
  3. CPU 从用户态切换到内核态。
  4. 内核检查参数并执行服务。
  5. 返回用户态,用户程序继续运行。

相关