一.两种指令
- 特权指令:如内存清零指令,不允许用户使用
- 非特权指令:如普通的运算指定
二.两种处理器状态
- 用户态(目态):只能执行非特权指令
- 核心态(管态):特权指令和非特权指令都可以执行
三.两种应用程序
- 内核程序:操作系统的内核程序是系统的管理者,可以执行特权和非特权指令,运行在核心态。
- 应用程序:普通应用程序只能执行非特权指令,运行在用户态
四.操作系统的内核和内核程序
内核是计算机上配置的底层软件,是操作系统最核心、最基本的部分,而实现内核功能的那些程序就是内核程序
-
时钟管理:实现计时功能
-
中断处理:实现中断机制
-
原语:是一种特殊的程序,是最接近硬件的部分,这种程序的运行具有原子性(运行就要一气呵成,不能中断)
-
以上三类是和硬件联系较密切的模块,是操作系统最基本的功能
-
除此之外还有对系统资源管理的模块:进程管理,存储器管理,设备管理等功能。
五.大内核和微内核
大内核
- 概念:
包含时钟管理,中断处理,原语以及进程管理,存储器管理,设备管理等。也就是说将操作系统的主要功能模块都作为系统内核,让其都在核心态运行。 - 优点:性能高
- 缺点:内核代码庞大,复杂难以维护
微内核
- 概念:
只包含时钟管理,中断处理,原语。也就是说只保留了最基本的功能模块作为内核。 - 优点:功能少,结构清晰,方便维护
- 缺点:需要频繁的在核心态和用户态之间切换,性能低
六.总结
- 内核就是计算机上的那些底层软件,实现一些基本的功能
- 内核程序要执行在核心态
- 大内核包含的功能多,并且让这些功能都运行在核心态,因此不用频繁切换到用户态,所以他的性能高。