系统调用¶
来源:
操作系统 / note/概述/系统调用.md
上级:操作系统的运行环境
系统调用是用户程序请求操作系统内核服务的接口,也是程序主动从用户态进入内核态的主要方式。
为什么需要系统调用¶
用户程序不能直接执行特权指令,也不能随意访问设备、文件系统和内核数据结构。需要访问这些资源时,必须通过系统调用让内核代为完成。
典型服务¶
- 进程控制:创建、退出、等待进程。
- 文件操作:打开、读写、关闭文件。
- 设备管理:读写 I/O 设备。
- 信息维护:获取时间、系统信息。
- 通信:管道、信号、共享内存等。
基本流程¶
- 用户程序准备系统调用号和参数。
- 执行陷入指令,触发软中断或异常。
- CPU 从用户态切换到内核态。
- 内核检查参数并执行服务。
- 返回用户态,用户程序继续运行。