总结:
操作系统体系结构:
1.大内核(宏内核)
- 思想特征:
所有的系统功能都放在内核里
- 优点
1.性能高,内核内部各种功能都可以相互调用
- 缺点
1. 内核庞大功能复杂,难以维护
2.大内核中某个模块出错,就会导致整个系统崩溃
2.微内核
- 思想特征
只把中断,原语等核心功能放入内核.进程管理,文件管理等共呢个放在用户态
- 优点
1.内核小功能少,易于维护,内核可靠性高
2.内核外的某个功能出错不会导致整个系统崩溃
- 缺点
1.性能低,需要频繁转换内核态/用户态.
2.用户态下各功能模块不可以直接相互调用,只能通过内核的"消息传递来间接通信.
3.分层结构
-
思想特性:内核分多层,每层可单向调用更第一层的接口
-
优点:
1.便于调试和验证 ,自底向上逐层调试和验证
2.易于扩充和维护,各层接口清晰稳定
- 缺点:
1.只能调用相邻层,难以合理定义各层的边界
2.效率低,不可跨层调用,系统调用执行时间长
4.模块化
-
思想特征:
将内核划分为多个模块,各模块之间相互协作
内核 = 主模块+可加载模块
主模块:只负责核心功能,如进程调度,文件管理
可加载内核模块:可以动态加载新模块到内核,而无需编译整个内核
- 优点:
1.模块间逻辑清晰,易于维护,确定模块接口后就可以多模块同时开发
2.支持动态加载新的内核模块,增强OS的适应性
3.任何模块都可以直接调用其他模块,无需采用消息传递进行通信,效率高
- 缺点:
1. 模块间的接口未必合理,实用
2.模块间相互依赖,更难调试和验证
5.外核
- 思想特征:
内核负责进程调度,进程通信等功能.外盒负责为进程未经抽象的硬件资源,且由外核负责保证资源使用安全
- 优点:
1.外核可直接给用户进程分配"不虚拟,不抽象"的硬件资源,让用户进程可以更加灵活的使用硬件资源
2.减少了虚拟硬件的"映射层",提升效率
- 缺点:
1.降低了系统的一致性
2.使系统变得更复杂