marp: true theme: default paginate: true _paginate: false header: '' footer: '' backgroundColor: white
第一讲 操作系统概述
第四节 操作系统结构
向勇 陈渝 李国良 任炬
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 抽象 + 架构的关系

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