1. 运行机制
1.1 两种指令
- 特权指令
- 如内存清零指令
- 仅在内核态下才能使用的指令
- 不允许用户程序使用
- 非特权指令
- 如普通的运算指令
- 在目态和管态下都能工作
操作系统能执行全部机器指令,应用程序只能使用非特权指令。
1.2 两种处理器状态
- 用户态(目态)
- 此时CPU只能执行非特权指令
- 核心态(管态)
- 特权指令、非特权指令都可执行
两种处理器状态用程序状态字寄存器(PSW)中的某标志位来标识当前处理器处于什么状态。
程序状态字(PSW)
作用:实现程序状态的保护和恢复。
标志划分:状态标志、控制标志和系统标志。
1.3 两种程序
- 内核程序
- 是系统的管理者
- 既可以执行特权指令,也可以执行非特权指令
- 运行在核心态
- 应用程序
- 只能执行非特权指令
- 运行在用户态
2. 操作系统的内核
内核: 计算机上配置的底层软件,是OS最基本、最核心的部分。
实现操作系统内核功能的程序就是内核程序。
功能:
- 中断处理
- 时钟管理
- 短程调度
- 原语管理
属性:
- 内核是由中断驱动的
- 内核是不可抢占的
- 内核可以在屏蔽中断状态下执行
- 内核可以使用特权指令
内核是OS对裸机的第一次改造,内核和裸机组成了第一次虚拟机,进程在虚拟机上运行。
虚拟机特性:
- 虚拟机没有中断
- 虚拟机为每个进程提供了一台虚处理器
- 虚拟机为进程提供功能强大的指令系统
3. 操作系统的体系结构
- 大内核
- 将OS的主要功能模块都作为系统内核,运行在核心态
- 优点:高性能
- 缺点:内核代码庞大,结构混乱,难以维护
- 微内核
- 只把最基本的功能保留在内核
- 优点:内核功能少,结构清晰,方便维护
- 缺点:需要频繁地在核心态和用户态之间切换,性能低
华为鸿蒙系统用的是微内核。