操作系统结构
操作系统的机制与策略
复杂系统的构建须考虑其 内部结构,而 不同目标 之间往往存在冲突,不同需求 之间需要进行权衡。
例如 用户目标 包含易用、易学、功能全、安全和流畅等,而 系统目标 则包含易设计、易实现、易维护、灵活性、可靠性和高效性等。
所以,将策略(what to do, dynamic)与机制(how to do, static)进行 解耦合,操作系统通过调整策略来适应不同应用的需求。
例子 | 策略 | 机制 |
---|---|---|
登录 | 什么用户、什么权限 | 输入处理、策略文件管理、桌面启动加载 |
调度 | 调度算法 | 调度队列、调度实体(如线程)的表示、调度中断处理 |
操作系统管理系统复杂度
M.A.L.H 方法,即 模块化(modularity),抽象(abstraction),分层(layering)和层级(hierarchy)。
- 模块化:遵循分而治之原则,将复杂系统分解成通过接口进行交互的 模块,严格保障模块之间的界限。
- 抽象:在模块化基础上,将 接口与内部实现分离。
- 分层:将模块按照一定的原则进行层次的划分,约束每层内部模块间的交互方式与跨层次模块间的交互方式。通常原则是一个模块只能和同层模块以及相邻的上层或下层模块进行交互。
- 层级:另外一种模块的组织方式。将功能相近的模块组成一个具有清晰接口的自包含子系统,然后再将这些子系统递归地组成一个具有清晰接口的更大子系统。</