基础概念

相关提炼内容见 os-basics

操作系统的运行机制

程序分类

  • 内核程序:执行特权指令
    • 特权指令:指计算机中不允许被用户直接使用的指令
  • 应用程序
    • 非特权指令:应用程序可以使用的指令
  • 内核程序 是 应用程序 的管理程序

CPU 状态

用户态 / 目态 user mode

  • 可以在用户态下执行的指令
    • 读时钟指令(置时钟不行)
    • 取数指令
    • 寄存器清零指令
    • 算术运算
    • 访管指令
      • 访管中断
        • 访管指令是一条可以在用户态下执行的指令。在用户程序中,因要求操作系统提供服务而有意识地使用访管中断,从而产生一个中断事件(自愿中断),将操作系统转换为核心态,称为访管中断

核心态

  • 只能在核心态执行的指令―输入/输出指令 系统调用(广义指令)
  • CPU 状态之间的转换
    • 用户态 —> 内核态―中断、异常、访管指令
    • 内核态 —> 用户态―设置程序状态字

大多数操作系统的内核分为 4 方面内容

时钟管理

中断机制

原语 Atomic Operation

  • 处于操作系统的最底层,是最接近硬件的部分
  • 这些程序的运行具有原子性,其操作只能一气呵成(主要从系统安全性和便于管理考虑)
  • 这些程序的运行时间较短

系统控制的数据结构及处理

  • 进程管理:进程状态管理、进程调度和分配、创建与撤销进程控制块等
  • 存储器管理:存储器的空间分配和回收、内存信息保护程序、代码对换程序等
  • 设备管理:缓冲区管理、设备分配和回收等

中断和异常的概念

  • 中断和异常的定义
    • 中断(Interruption)也称外中断,指来自 CPU 执行指令以外的事件的发生,如设备发出的 I/O 结束中断或时钟中断
    • 异常(Exception)也称内中断、例外或陷入(trap),指源自 CPU 执行指令内部的事件,如程序的非法操作码、地址越界、算术溢出、虚存系统的缺页及专门的陷入指令,比如访管指令
  • 中断处理的过程 ↓
    1. 关中断
    2. 保存断点:程序计数器 PC
    3. 中断服务程序寻址:程序状态字寄存器 PSWR
    4. 保存现场和屏蔽字
    5. 开中断
    6. 执行中断程序服务
    7. 关中断
    8. 恢复现场和屏蔽字
    9. 开中断、中断返回
    • 1-3 步是在 CPU 进入中断周期后,由硬件自动(中断隐指令)完成
    • 4-9 步由中断服务程序完成
  • 系统调用
  • 设备管理
  • 文件管理
  • 进程控制
  • 进程通信
  • 内存管理