基础概念
相关提炼内容见 os-basics。
操作系统的运行机制
程序分类
- 内核程序:执行特权指令
- 特权指令:指计算机中不允许被用户直接使用的指令
- 应用程序
- 非特权指令:应用程序可以使用的指令
- 内核程序 是 应用程序 的管理程序
CPU 状态
用户态 / 目态 user mode
- 可以在用户态下执行的指令
- 读时钟指令(置时钟不行)
- 取数指令
- 寄存器清零指令
- 算术运算
- 访管指令
- 访管中断
- 访管指令是一条可以在用户态下执行的指令。在用户程序中,因要求操作系统提供服务而有意识地使用访管中断,从而产生一个中断事件(自愿中断),将操作系统转换为核心态,称为访管中断
- 访管中断
核心态
- 只能在核心态执行的指令―输入/输出指令 系统调用(广义指令)
- CPU 状态之间的转换
- 用户态 —> 内核态―中断、异常、访管指令
- 内核态 —> 用户态―设置程序状态字
大多数操作系统的内核分为 4 方面内容
时钟管理
中断机制
原语 Atomic Operation
- 处于操作系统的最底层,是最接近硬件的部分
- 这些程序的运行具有原子性,其操作只能一气呵成(主要从系统安全性和便于管理考虑)
- 这些程序的运行时间较短
系统控制的数据结构及处理
- 进程管理:进程状态管理、进程调度和分配、创建与撤销进程控制块等
- 存储器管理:存储器的空间分配和回收、内存信息保护程序、代码对换程序等
- 设备管理:缓冲区管理、设备分配和回收等
中断和异常的概念
- 中断和异常的定义
- 中断(Interruption)也称外中断,指来自 CPU 执行指令以外的事件的发生,如设备发出的 I/O 结束中断或时钟中断
- 异常(Exception)也称内中断、例外或陷入(trap),指源自 CPU 执行指令内部的事件,如程序的非法操作码、地址越界、算术溢出、虚存系统的缺页及专门的陷入指令,比如访管指令
- 中断处理的过程 ↓
- 关中断
- 保存断点:程序计数器 PC
- 中断服务程序寻址:程序状态字寄存器 PSWR
- 保存现场和屏蔽字
- 开中断
- 执行中断程序服务
- 关中断
- 恢复现场和屏蔽字
- 开中断、中断返回
- 1-3 步是在 CPU 进入中断周期后,由硬件自动(中断隐指令)完成
- 4-9 步由中断服务程序完成
- 系统调用
- 设备管理
- 文件管理
- 进程控制
- 进程通信
- 内存管理