操作系统体系结构:
- 大内核(宏内核/单内核)
- 微内核
- 分层结构
- 模块化
- 外核
一、大内核、微内核
内核是操作系统最基本、最核心的部分,实现内核功能的程序是内核程序
原语、中断处理、时钟管理是硬件关联较紧密的模块;对系统资源进行管理的功能不会涉及到硬件
- 大内核:把所有功能都包含在操作系统中的内核
- 微内核:只保留与硬件关联紧密的模块--和硬件紧密联系的运行在内核态;不涉及硬件的运行在用户态
二、大内核、微内核、分层结构、模块化、外核,了解特性和优缺点
1、分层结构:
- 优点:便于调试和验证;易于扩充和维护
- 缺点:只能调用相邻低层;效率低,不可跨层调用
2、模块化:
- 划分多个模块,内核=主模块+可加载内核模块(主模块:核心功能,进程调度,内存管理;可加载内核模块:动态加载模块到内核无需调用整个内核)
- 优点:逻辑清晰易于维护;支持动态加载新的内核,可以直接调用其他模块
- 缺点:模块间接口定义未必合理实用;相互依赖难调试验证
3、大内核:
- 优点:性能高
- 缺点:功能庞大,难维护;某个功能模块出错容易导致整个系统崩溃
4、微内核:
- 优点:功能少便于维护,可靠性高;某个模块出错不会影响整个系统崩溃
- 缺点:性能低,需要频繁切换用户态/核心态;用户态下各功能调用只能通过内核的“消息传递”
5、外核:
- 负责进程调度、进程通信等功能,外核负责为用户进程分配未经抽象的硬件资源,且由外核负责保障资源使用安全
- 优点:可直接给用户进程分配“不虚拟、不抽象”的硬件资源,使用户进程更灵活使用硬件资源;减少虚拟硬件资源的“映射层”,提高效率
- 缺点:降低系统一致性;系统更复杂