操作系统结构

操作系统结构

OLENCER. Infinity

分层法


分层法是将操作系统分为若干层,最底层(层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