运行机制
1.两种指令
指令:就是处理器(cpu)能识别、执行的最基本命令;一条高级语言的代码翻译过来可能会对应多条指令
特权指令:如内存清零指令...特权指令是不允许用户程序使用的
非特权指令:如普通的运算指令
2.两种处理器状态
CPU如何判断当前是否可以执行特权指令?
用户态(目态):此时CPU只能执行非特权指令
核心态(管态):此时CPU既可以执行非特权指令,也可以执行特权指令。
操作系统用程序状态寄存器(PSW)中的某标识位来标识当前处理器处于什么状态。如0为用户态,1为核心态
3.两种程序
内核程序:操作系统的内核程序就是系统的管理者,既可以执行特权指令,也可以执行非特权指令,所以运行在核心态
应用程序:为了保证系统能安全运行,普通应用程序只能执行非特权指令,运行在用户态。
操作系统内核
操作系统中的哪些功能应该由内核程序实现呢?
内核是计算机上配置的底层软件,是操作系统最基本、最核心的部分。实现操作系统内核功能的那些程序就是内核程序。
1.时间管理
实现计时功能
2.中断处理
负责实现实现中断机制
3.原语(设备驱动、CPU切换)
原语是一种特殊的程序。是最接近硬件的部分,这种程序的运行具有原子性。
4.对系统资源进行管理的功能
- 进程管理
- 存储器管理
- 设备管理
有的操作系统不把这部分功能归为“内核功能”。也就是说,不同的操作系统,对内核功能的划分可能并不一样。
操作系统的体系结构
1.大内核
将操作系统的主要功能模块都最为系统内核,运行在内核态。
优点:高性能
缺点:内核代码庞大,结构混乱,难以维护
2.微内核
只把最基本的功能保留在内核
优点:内核功能少,结构清晰,方便维护
缺点:需要频繁的在核心态和用户态之间切换,性能低