第一讲 操作系统概述

第四节 操作系统结构



向勇 陈渝 李国良 任炬



2025年秋季

问题

  • 如何设计和实现一个功能复杂的系统(如:企业组织结构)?
    • 如何平衡或取舍各种相互冲突的设计目标?

简单结构

MS-DOS:应用和OS混在一起 (1981–1994)

  • 没有拆分为模块
  • 主要用汇编编写
  • 没有安全保护

宏内核结构

宏内核结构操作系统(Monolithic OS) 划分为多层 (levels)

  • 每层建立在低层之上
  • 最底层 (layer 0), 是硬件驱动
  • 最高层 (layer N) 是用户界面
  • 每一层仅使用更低一层的功能和服务

微内核结构(Micro Kernel)

  • 尽可能把内核功能移到用户空间
  • 用户模块间的通信使用消息传递
  • 好处: 灵活/安全...
  • 缺点: 性能
  • LPC: 本地过程调用(Local Procedure Call)
  • HAL: 硬件抽象层(Hardware Abstraction Layer)

外核结构(Exokernel)

  • 让内核分配物理资源给多个应用程序, 并让每个程序决定如何处理这些资源
  • 程序能链接到操作系统库 (libOS) 实现了操作系统抽象
  • 保护与控制分离
  • Distributed Shared Memory(DSM)

虚拟机结构

虚拟机管理器将单独的机器接口转换成很多的虚拟机, 每个虚拟机都是一个原始计算机系统的有效副本, 并能完成所有的处理器指令

虚拟机结构

应用程序运行与 OS 抽象 + 架构的关系

小结

  • 操作系统架构:
    • 纵向分层
    • 横向隔离:虚拟存储、虚拟机
    • 依赖最小化:微内核、保护与控制分离
  • 平衡冲突操作系统实现目标
    • 折中:执行时间与存储空间

page_number: true