1.10 系统结构的角度

24 阅读2分钟

一,操作系统软件的规模

  • 在计算机软件发展史上,OS 是第一个大规模的软件系统

  • 1960年代,由 OS 开发所衍生的体系结构、模块化开发、测试与验证、演化与维护等研究,直接催生了软件工程这一新兴研究领域

    • 另一个催生来源是 DB 应用引发的需求与规格
  • OS 作为大型软件,结构设计是关键

    • 结构设计直接决定了操作系统的效率

    • 决定了操作系统的开发

    • 决定了操作系统的可靠性

    • 决定了操作系统以后版本的演化维护

二,操作系统软件的结构设计

  • OS 构件

    • 内核、进程、线程、管程等
  • 设计概念

    • 模块化、层次式、虚拟化
  • 内核设计是 OS 设计中最为复杂、最为关键的部分

    • 操作系统必须提供一个内核

    • 只有在这个内核的支持下,计算机上运行的各种各样的应用以及系统软件才能被抽象成进程、线程、管程等实体

三,操作系统内核

  • 单内核:内核中各部件杂然混居的形态,始于 1960 年代,广泛使用;

    • 如 Unix/Linux,及 Windows(自称采用混合内核的 CS 结构)
  • 微内核:1980年代始,强调结构性部件与功能性部件的分离,大部分 OS 研究都集中在此

    • 把功能性部件抽离成进程在外层运行

    • 由于效率问题,产品化的例子不多,学术研究较多

  • 混合内核:微内核和单内核的折中,较多组件在核心态中运行。

    • Windows 尝试过
  • 外内核:尽可能减少内核的软件抽象化和传统微内核的消息传递机制,使得开发者专注于硬件的抽象化;

    • 部分嵌入式系统使用

四,操作系统的层次结构

4.1 理想化的层次结构

image.png

实际上,此结构运用不多。当前主流是:文件系统同样属于内核

4.2 层次结构的细则

image.png