操作系统结构
分层法
分层法是将操作系统分为若干层,最底层(层0)为硬件,最高层(层N)为用户接口,每层只能调用紧邻它的低层的功能和服务(单向依赖)。
优点
- 便于系统的调试和验证,简化了系统的设计和实现。
- 易扩充和易维护。
缺点
- 合理定义各层比较困难。因为依赖关系固定后,往往就显得不够灵活。
- 效率较差。操作系统每执行一个功能,通常要自上而下地穿越多层,各层之间都有相应的层间通信机制,这无疑增加了额外的开销,导致系统效率降低。
模块化
优点
- 提高了操作系统设计的正确性、可理解性和可维护性。
- 增强了操作系统的可适应性,支持动态加载新的内核模块。
- 加速了操作系统的开发过程,模块间逻辑清晰易于维护,确定模块间接口,可以多模块开发。
- 任何模块可以直接调用其他模块,无需采用消息传递进行通信,效率高。
缺点
如果将模块划分得太小,虽然能降低模块本身的复杂性,但会使得模块之间的联系过多,造成系统比较混乱
如果模块划分得过大,又会增加模块内部的复杂性,相互依赖,难以调试和验证。
模块间的接口规定很难满足对接口的实际需求,接口定义未必合理、实用。
各模块设计者齐头并进,每个决定无法建立在上一个己验证的正确决定的基础上,因此无法找到一个可靠的决定顺序。
宏内核
大内核,将操作系统的主要功能模块都作为系统内核,运行在核心态。
优点
性能高,内核各功能模块可以相互之间调用。
缺点
内核代码量大,结构混乱,难以维护。
大内核某个功能模块出错,可能导致整个系统崩溃。
微内核
只把最基本的功能保留在内核。
优点
内核功能少,结构清晰,方便维护,可靠性高。
内核外某个功能模块出错不会导致整个系统崩溃。
缺点
需要频繁地在核心态和用户态之间切换,性能低。
用户态下各功能模块不可以之间相互调用,只能通过内核的“消息传递”来间接通信。
外核
内核负责进程调度、进程通信等功能,外核负责为用户进程分配未经抽象的硬件资源,且由外核负责保证资源使用安全。
优点
- 外核可直接给用户进程分配未经抽象的硬件资源,使用户进程可以灵活使用硬件资源。
- 减少了虚拟硬件资源的“映射层”,提升效率。
缺点
- 降低了系统的一致性
- 使系统变得更加复杂。
COPYRIGHT (c) OLENCER. ALL RIGHTS RESERVED.
- Title: 操作系统结构
- Author: OLENCER.
- Created at : 2023-07-09 21:22:53
- Updated at : 2023-07-09 21:23:05
- Link: https://olencer.github.io/考研/408/操作系统/操作系统结构/
- License: This work is licensed under CC BY-NC-SA 4.0.
Comments