OS结构设计
早期的OS的规模很小,只有几十kb
- 传统操作系统结构
- 无操作系统:为保证功能实现和提高效率,缺乏首尾一致地设计思想。此时地OS是为数众多的一组过程的集合,每个过程可以任意地调用其他过程,致使系统内部既复杂又混乱。
- 模块化结构OS:
- 模块化程序设计技术的基本概念:基于分解和模块化的原则来控制大型软件的复杂度
- 模块独立性:
- 模块-接口法:模块的划分和规划好模块之间的接口。
- 相对无OS系统的优点:
- 提高OS的正确性,可理解性,可维护性
- 增强OS的可适应性
- 加速OS的开发过程
- 相对无OS系统的优点:
- 模块化OS存在的问题:
- 对各模块的接口规定很难满足在模块设计完成后对接口的实际需求
- 各个模块设计起头并进,无法寻找一个可靠的的决定顺序,无序性,又称无序模块法。
- 模块化程序设计技术的基本概念:基于分解和模块化的原则来控制大型软件的复杂度
- 分层式OS
- 分层结构的基本概念:
- 为了将模块-接口法中决定顺序的无序性变为有序性,引入有序分层法,分层法的设计任务是,在目标系统An和裸机系统A0之间,铺设若干个层次的软件A1、A2……,使An通过An-1…A1,能够在A0上运行,采用自底向上来铺设中间层。
- 分层结构的优缺点
- 易保证系统的正确性
- 易扩充和易维护性
- 系统效率降低
- 分层结构的基本概念:
- 客户/服务器模式
- 客户/服务器的由来、组成和类型
- 客户/服务器系统主要由三部分组成:
- 客户机
- 服务器
- 网络系统
- 客户/服务器系统主要由三部分组成:
- 客户/服务器之间的交互
- 客户机发送请求消息
- 服务器接收消息
- 服务器回送消息
- 客户机接收消息
- 客户/服务器模式的优点
- 数据的分布处理和存储
- 便于集中管理
- 灵活性和可扩充性
- 易于改变应用软件
- 客户/服务器的由来、组成和类型
- 面向对象的程序设计技术
- 面对对象程序设计技术基本概念:
- 对象:被封装的数据结构和一组对它操作的过程(方法)
- 对象类
-
- 继承
- 面向对象技术的优点
- 通过重用提高产品质量和生产率
- 是系统具有更好的易修改性和易扩展性
- 更易于保证系统的正确性和可靠性
- 面对对象程序设计技术基本概念:
- 微内核OS结构
- 微内核操作系统的基本概念:
- 足够小的内核:在微内核操作系统中,内核是指精心设计的,能实现现代OS基本核心功能的小型内核,微内核并不是一个完整的OS,只是将操作系统最基本的部分放入微内核。
- 基本的功能通常包括:
- 与硬件处理紧密的部分
- 一些较基本的功能
- 客户和服务器之间的通信
- 基本的功能通常包括:
- 足够小的内核:在微内核操作系统中,内核是指精心设计的,能实现现代OS基本核心功能的小型内核,微内核并不是一个完整的OS,只是将操作系统最基本的部分放入微内核。
- 基于客户/服务器模式:提供对进程的管理的进程服务器,提供虚拟存储器管理功能的虚拟存储器服务器,提供io设备管理的服务器等。它们运行在用户态,客户服务器之间借助微内核提供的消息传递机制来实现信息交互。
- 应用”机制与策略分离“原理:机制:实现某一功能的具体执行机构;策略:借助于参数和算法来实现该功能的优化
- 采用面向对象技术:利用结构设计来分解操作系统的复杂性,基于面向对象中的抽象和隐蔽原则控制系统的复杂性,进一步利用对象,封装和继承等概念来保证操作系统的正确性,可靠性,易修改性
- 微内核的基本功能:
- 进程(线程)管理
- 低级存储器管理
- 中断和陷入处理
- 微内核操作系统的优点
- 提高系统的可扩展性
- 增强系统的可靠性
- 可移植性强
- 提供了对分布式系统的支持
- 融入了面向对象技术
- 微内核操作系统存在的问题
- 采用微小内核后,客户服务器模式和消息传递机制带给了操作系统带来了许多优点,但运行效率有所降低
- 为了改善运行效率,可以把常用的操作系统功能由服务器移入微内核。
- 采用微小内核后,客户服务器模式和消息传递机制带给了操作系统带来了许多优点,但运行效率有所降低
- 微内核操作系统的基本概念: