操作系统引论
目录
文章目录
操作系统的目标和作用
操作系统的概念
OS是一组能有效地组织和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合
操作系统的目标
- 方便性
- 有效性
- 可扩充性
- 开放性
操作系统的作用
- OS作为用户与计算机硬件系统之间的接口
- OS作为计算机系统资源的管理者
- 资源分四类:处理机、存储器、I/O设备、文件(数据和程序)
- 处理机管理:用于分配和控制处理机
- 存储器管理:负责内存的非配和回收
- I/O设备管理:负责I/O设备的分配(回收)与操纵
- 文件管理:用于实现对文件的存取、共享和保护
- OS实现了对计算机资源的抽象
推动操作系统发展的主要动力
- 不断提高计算机资源利用率
- 方便用户
- 器件的不断更新换代
- 计算机体系结构的不断发展
- 不断提出新的应用需求
操作系统的发展过程
未配置操作系统的计算机系统
- 人工操作方式
- 脱机输入/输出(OFF-LINE I/O)方式
- 脱机I/O:脱离主机的情况下运行的
- 联机I/O:在主机的直接控制下进行的
单道批处理系统
- 单道批处理系统过程
- 单道批处理系统的缺点
- 系统中的资源得不到充分利用
图1-5示出了单道程序的运行情况,从图可以看出:在t2~t3、t6~t7时间间隔内CPU空闲。
- 系统中的资源得不到充分利用
多道批处理系统
多道批系统形成和发展的动力
- 提高资源利用率和系统吞吐量
- 多道批处理系统的优缺点
- 资源利用率高
- 系统吞吐量大
- 平均周转时间长
- 无交互能力
- 多道批处理系统需要解决的问题
- 处理机争用问题
- 内存分配和保护问题
- I/O设备分配问题
- 文件的组织和管理问题
- 作业管理问题
- 用户与系统的接口问题
分时系统
- 分时系统的引入(用户需求体现)
- 人机交互
- 共享主机
- 分时系统实现中的关键问题
- 及时接收
- 及时处理
- 采用作业直接进入内存的方式
- 采用轮转运行的方式
- 分时系统的特征
- 多路性
- 独立性
- 及时性
- 交互性
实时系统
- 实时系统的类型
- 工业(武器)控制系统
- 信息查询系统
- 多媒体系统
- 嵌入式系统
- 实时任务的类型
- 周期性实时任务和非周期性实时任务
- 硬实时任务和软实时任务
- 实时系统与分时系统特征的比较
- 多路性
- 独立性
- 及时性
- 交互性
- 可靠性
微机操作系统的发展
- 单用户单任务操作系统
- CP/M
- MS-DOS
- 单用户多任务操作系统
- 多用户多任务操作系统
操作系统的基本特征
并发
- 并行与并发
- 引入进程
共享
- 互斥共享方式
- 同时访问方式
虚拟
- 时分复用技术
- 虚拟处理技术
- 虚拟设备技术
- 空分复用技术
异步
操作系统的主要功能
引入OS的主要目的是,为多道程序的运行提供良好的运行环境,以保证多道程序能有条不絮地、高效地运行,并能最大限度提高系统中各种资源的利用率和方便用户的使用。
处理机管理的主要任务
- 创建和撤销进程,对各进程的运行进行协调,实现进程之间的信息交换,以及按照一定的算法把处理机分配给进程
处理机管理功能
- 进程控制
- 进程同步
- 进程通信
- 调度
- 作业调度
- 进程调度
存储器管理的主要任务
- 为多道程序的运行提供良好的环境、提高存储器的利用率、方便用户的使用,并能从逻辑上扩大内存。为此,存储器管理应该实现内存分配和回收、内存保护、地址映射和内存扩充等功能
存储器管理功能
- 内存分配
- 静态分配方式
- 动态分配方式
- 内存保护
- 确保每道用户程序都仅在自己的内存空间内运行,彼此互不干扰
- 绝不允许用户程序访问操作系统的程序和数据,也不允许用户程序转移到非共享的其它用户程序中去执行
- 地址映射
- 内存扩充
- 请求调入功能
- 置换功能
设备管理的主要任务
- 完成用户进程提出的I/O请求,为用户进程分配所需的I/O设备,并完成指定的I/O操作。
- 提高CPU和I/O设备的利用率,提高I/O速度,方便用户使用I/O设备。
设备管理功能
- 缓冲管理
- 设备分配
- 设备处理
文件管理的主要任务
- 是对用户文件和系统文件进行管理以方便用户使用,并保证文件的安全性
文件管理功能
- 文件存储空间的管理
- 目录管理
- 文件的读/写管理和保护
操作系统与用户之间的接口
- 用户接口
- 联机用户接口
- 脱机用户接口
- 图形用户接口
- 程序接口
现代操作系统的新功能
- 系统安全
- 认证技术
- 密码技术
- 访问控制技术
- 反病毒技术
- 网络的功能和服务
- 网络通信
- 资源管理
- 应用互操作
- 支持多媒体
- 接纳控制功能
- 实时调度
- 多媒体文件的存储
OS结构设计
传统操作系统结构
-
无结构操作系统
-
模块化结构OS
- 模块化程序设计技术的基本概念
- 模块独立性
-
模块接口法的优点
- 提高OS设计的正确性、可理解性和可维护性
- 增强OS的可适应性
- 加速OS的开发过程
-
模块化结构设计存在的问题
- 各模块间的接口规定很难满足设计后的实际需求
- 使程序人员很难做到“设计中的每一步决定”都是建立在可靠的基础上,因此模块-接口法又被称为“无序模块法”
-
分层式结构OS
- 分层式结构的基本概念
- 为了将模块-接口法中“决定顺序”的无序性变为有序性
- 在目标系统An和裸机系统(又称宿主系统)A0之间,铺设若干个层次的软件
- 常采用自底向上法来铺设这些中间层。
- 分层结构的优点
- 易保证系统给的正确性
- 易扩充和易维护性
- 分层式结构的基本概念
客户/服务器模式简介
- 客户/服务器模式的由来、组成和类型
- 客户/服务器系统主要由三部分组成
- 客户机
- 服务器
- 网络系统
- 客户/服务器系统主要由三部分组成
- 客户/服务器之间的交互
- 客户发送请求信息
- 服务器接收消息
- 服务器回送消息
- 客户机接收消息
- 客户/服务器模式的优点
- 数据的分布处理和存储
- 便于集中管理
- 灵活性和可扩充性
- 易于改编应用软件。
面向对象的程序设计
-
面向对象技术的基本概念
-
对象
-
对象类
- 类是在对象上的抽象
- 对象则是类的实例
- 对象类中所定义的变量在实例中均有具体的值
-
继承
-
-
面向对象技术的优点
- 通过“重用”提高产品质量和生产率
- 使系统具有更好的易修改性和易扩展性
- 更易于保证系统的“正确性”和“可靠性”
微内核OS结构
- 微内核操作系统的基本概念
- 足够小的内核
- 基于客户/服务器模式
- 应用“机制与策略分离”原理
- 采用面向对象技术
- 微内核的基本功能
- 进程(线程)管理
- 低级存储器管理
- 中断和陷入处理
- 微内核操作系统的优点
- 高了系统的可扩展性
- 增强了系统的可靠性
- 可移植性强
- 提供了对分布式系统的支持
- 融入了面向对象技术
- 微内核操作系统存在的问题
- 较之早期的操作系统,微内核操作系统的运行效率有所降低
- 较之早期的操作系统,微内核操作系统的运行效率有所降低
思考
- 设计现代OS的主要目标是什么?
- OS的作用可表现在哪几个方面?
- 为什么说操作系统实现了对计算机资源的抽象?
- 试说明推动多道批处理系统形成和发展的主要动力是什么。
- 何谓脱机I/O和联机I/O?
- 试说明推动分时系统形成和发展的主要动力是什么。
- 实现分时系统的关键问题是什么? 应如何解决?
- 为什么要引入实时操作系统?
- 什么是硬实时任务和软实时任务? 试举例说明。
- 试从交互性、及时性以及可靠性方面将分时系统与实时系统进行比较。
- OS有哪几大特征? 其最基本的特征是什么?
- 在多道程序技术的OS环境下的资源共享与一般情况下的资源共享有何不同? 对独占资源应采取何种共享方式?
- 什么是时分复用技术? 举例说明它能提高资源利用率的根本原因是什么。
- 是什么原因使操作系统具有异步性特征?
- 处理机管理有哪些主要功能? 其主要任务是什么?
- 内存管理有哪些主要功能? 其主要任务是什么?
- 设备管理有哪些主要功能? 其主要任务是什么?
- 文件管理有哪些主要功能? 其主要任务是什么?
- 试说明推动传统OS演变为现代OS的主要因素是什么?
- 什么是微内核OS?
- 微内核操作系统具有哪些优点? 它为何能有这些优点?
- 现代操作系统较之传统操作系统又增加了哪些功能和特征?
- 在微内核OS中,为什么要采用客户/服务器模式?
- 在基于微内核结构的OS中,应用了哪些新技术?
- 何谓微内核技术? 在微内核中通常提供了哪些功能?