目录
操作系统的结构设计
1. 无结构操作系统
2. 模块化 OS 结构
3. 分层式 OS 结构
4. 微内核 OS 结构
操作系统的结构设计
操作系统是一个大型系统软件,其结构已经历了四代的变革:
- 第一代 OS 是无结构
- 第二代 OS 采用模块式结构
- 第三代是层次式结构
- 现代 OS 结构是微内核结构
1. 无结构操作系统
在早期开发操作系统时,设计者只是把 TA 的注意力放在功能的实现和获得高的效率上,缺乏首尾一致的设计思想。
这种 OS 是为数众多的一组过程的集合,各过程之间可以相互调用,在操作系统内部不存在任何结构。因此,有人把它称为整体系统结构。
缺陷:
- 设计出的操作系统既庞大又杂乱,缺乏清晰的程序结构。
- 编制出的程序错误很多,给调试工作带来很多困难;增加了维护人员的负担。
修改某一部分程序将会需要对整个 OS 进行重新编译。
2. 模块化 OS 结构
(1)模块化结构(模块 - 接口法)
使用分块结构的系统包含若干模块,每一模块实现一组基本概念以及与其相关的基本属性。
块与块之间的相互关系:所有各块的实现均可以任意引用其它各块所提供的概念及属性。
module
模块化操作系统结构
(2)模块化 OS 的优缺点
优点
- 提高了 OS 设计的正确性、可理解性和可维护性。
- 增强了 OS 的可适应性。
- 加速了 OS 的开发过程。
缺点
- 对模块的划分及对接口的规定要精确描述很困难。
- 从功能观点来划分模块时,未能将共享资源和独占资源加以区别。
3. 分层式 OS 结构
使用分层系统结构包含若干层,其中,每一层实现一组基本概念以及与其相关的基本属性。
层与层之间的相互关系:
- 各层实现不依赖其以上各层所提供的概念及其属性;
- 各层实现只依赖其直接下层所提供的概念及属性;
- 每一层均对其上各层隐藏其下各层的存在。
layer
层次的设置时应考虑的几个因素
① 程序嵌套。通常 OS 的每个功能的实现,并非是只用一个程序便能完成的,而是要经由若干个软件层才有可能完成,因此在考虑实现 OS 时,每个功能可能形成的程序嵌套。
② 运行频率。将那些经常活跃的模块放在最接近硬件的层。
③ 公用模块。把供多种资源管理程序调用的公用模块,设置在最低层, 以便调用。
④ 用户接口。命令接口、程序接口以及图形用户接口。这些接口应设置在 OS 的最高层,直接提供给用户使用。
层次化操作系统结构
DeltaCORE 的体系结构:层次+模块结构。
若更改硬件,则只需修改硬件抽象层即可。
4. 微内核 OS 结构
所谓微内核技术,是指精心设计的、能实现现代 OS 核心功能的小型内核,它与一般的 OS 程序不同, 它更小更精炼,它不仅运行在核心态,而且开机后常驻内存, 它不会因内存紧张而被换出内存。
当前比较流行的、能支持多处理机运行的 OS 几乎全部都采用了微内核结构,如:Mac OS、Windows 2000 。
微内核功能
微内核所提供的功能,通常都是一些最基本的功能,如:
- 进程管理
- 低级存储器管理
- 中断和陷入处理
- 进程间通信
- 低级 I/O 功能
微内核特点
- 足够小的内核
- 基于客户/服务器模式
- 应用 “机制与策略分离” 原理
- 采用面向对象技术