04-操作系统的运行机制和体系特征
操作系统的运行机制和体系特征
预备知识
预备知识:什么是指令?
C语言写完的代码经过翻译之后,会翻译成机器语言的指令。一条高级语言的代码翻译过来可能会对应多条指令。
简单来说:指令就是处理器(CPU)能够识别、执行的最基本命令。
运行机制
操作系统的运行机制包括了两种指令[特权指令,非特权指令]、两种处理器状态[核心态,用户态]、两种程序[内核程序,应用程序]
01-指令
- 指令
- 特权指令:不允许用户程序使用。如内存清零指令
- 非特权指令:用户程序使用。如普通的运算指令
02-处理器状态
- 处理器状态
- 核心态:管态-此时CPU既能执行特权指令,也能执行非特权指令
- 用户态:目态-此时CPU只能执行非特权指令
- 用程序状态寄存器(PSW)中的某一个标志位表示当前处理器处于什么状态。如0为用户态、1为核心态
- 程序
- 内核程序:系统资源的管理者,即可以执行特权指令也可以执行非特权指令.运行在和心态
- 应用程序:只能运行非特权指令,运行在用户态
内核
内核程序的功能
思考:操作系统的哪些功能应该由内核程序实现?
回答:
- 内核是计算机配置上的底层软件,是操作系统最基本最核心的部分
- 实现操作系统内核功能的那些程序就是内核程序
操作系统的内核功能包括了时钟管理、中断处理、原语、资源管理四大功能
时钟管理
- 时钟管理:负责计时功能
中断处理
- 中断处理:负责实现中断机制
原语
- 原语: ^776b4f
- 是一种特殊的程序
- 处于操作系统最底层,是最接近硬件的部分
- 这种程序的运行具有原子性[运行一气呵成,不能中断],运行时间较短,调用频繁
资源管理
- 对系统资源进行管理:包括进程管理、存储器管理、设备管理
操作系统的体系结构
大内核
- 大内核
- 将操作系统的主要功能都作为系统内核,运行在核心态
- 优点:高性能
- 缺点:内核代码庞大、结构混乱、难以维护
微内核
- 微内核
- 只把最基本的功能保留在内核
- 优点:内核功能少,结构清晰,方便维护
- 缺点:需要频繁地在核心态和用户态之间切换、性能低
内核功能的使用场景
用户态的切换
问题:用户态、核心态之间的切换是怎么实现的?
回答:用户态—>核心态是通过中断实现的,并且中断是唯一途径。
核心态—>用户态的切换是通过执行一个特权指令,将程序状态字(PSW)的标志位设置为用户态。