操作系统运行环境与运行机制
1 | 操作系统运行环境 |
1 | 中央处理器(CPU): 运算器,控制器,一系列寄存器 以及 高速缓存 构成 |
操作系统需求 – 保护
1 | 从特征考虑: 并发,共享 |
处理器状态(模式)
1 | 现代处理器,cpu状态分为 二,三,或四种 |
操作系统需要两种 CPU状态
1 | 内核态(kernel mode): 运行操作系统程序 |
例子: x86系列处理器
1 | 支持 4 个特权级别, 称为特权环: R0, R1, R2, R3 |
CPU状态之间的转换
1 | 用户态 -》 内核态 |
中断与异常机制
- 介绍
1 | 重要性: 好比汽车的发动机 |
- 工作原理
1 | 软硬件配合完成 |
- x86处理器 的中断/异常
1 | 中断: 硬件引发 |
1 | 中断控制器(PIC 、 APIC) :将中断信号转换为 中断向量,引发CPU中断 |
中断/异常 的硬件处理过程
1 | 确定 中断向量i |
系统调用
1 | 用户在编程时可以调用的操作系统功能 |
- 系统调用, 库函数, 内核函数 概念区分
1 | 内核函数 是 系统调用 的处理程序 |
- 系统调用机制的设计
1 | 中断/异常机制 -- 来支持 系统调用的实现 |
- 系统调用执行过程
1 | CPU 执行到特殊的陷入指令: |
- 基于x86内核的 linux系统调用实现
1 | 陷入指令 为128号: |