第一章 操作系统引论
操作系统是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。
1.1 操作系统的目标和作用
主要目标是:方便性、有效性、可扩充性和开放性。
有效性的两层含义:提高系统资源的利用率;提高系统的吞吐量。
作用:
OS作为用户与计算机硬件系统之间的接口
- 用户可以通过命令方式、系统调用方式和图标—窗口方式来实现与OS的通信
OS作为计算机系统资源的管理者
- OS的主要功能是对处理机、存储器、I/O设备以及文件(数据和程序)四类资源进行有效的管理。
- 处理机管理适用于分配和控制处理机;存储器管理主要负责内存的分配与回收;I/O设备管理是负责I/O设备的分配(回收)与操纵;文件管理是用于实现对文件的存取、共享和保护。
OS实现了对计算机资源的抽象
裸机:完全无软件的计算机系统
在裸机上铺设的I/O软件隐藏了I/O设备的具体细节,向上提供了一组抽象的I/O设备,把覆盖了上述软件的机器称为扩充机器或虚拟机。
推动操作系统发展的主要动力
- 不断提高计算机资源利用率
- 方便用户
- 器件的不断更新换代
- 计算机体系结构的不断发展
- 不断提出新的应用要求
1.2 操作系统的发展过程
1.2.1 未配置操作系统的计算机系统
1. 人工操作方式
早期的操作方式是由程序员将事先已穿孔的纸带,装入纸带输入机,在启动它们将纸带上的程序和数据输入计算机,然后启动计算机运行。
人工操作方式严重降低了计算机资源的利用率,此即所谓的人机矛盾。
2.脱机输入/输出(Off-Line I/O)方式
该技术是事先将装有用户程序和数据的纸带装入纸带输入机,在一台外围机的控制下,把纸带(卡片)上的数据(程序)输入到磁带上。当CPU需要这些程序和数据时,再从磁带上高速地调入内存。
由于程序和数据的输入和输出都是在外围机的控制下完成的,或者说,它们是在脱离主机的情况下进行的,故称为脱机输入/输出方式。反之,把在主机的直接控制下进行输入/输出的方式称为联机输入/输出(On-Line I/O)方式。
优点:减少了CPU的空闲时间;提高了I/O速度。
1.2.2 单道批处理系统
1. 单道批处理系统(Simple Batch Processing System)的处理过程
首先由监督程序将磁带上的第一个作业装入内存,并把运行控制权交还给作业;当该作业处理完成时,又把运行控制权交还给监督程序,再由监督程序把磁带上的第二个作业调入内存。计算机系统就这样自动地一个作业紧接一个作业地进行处理,直至磁带上的所有作业全部完成。
该系统是在解决人机矛盾和CPU与I/O设备速度不匹配矛盾的过程中形成的。换言之,批处理系统旨在提高系统资源的利用率和系统吞吐量,但这种单道批处理系统仍不能充分地利用系统资源。
2.缺点
系统中的资源得不到充分的利用。这是因为在内存中仅有一道程序,每逢该程序在运行中发出I/O请求后,CPU便处于等待状态,必须在其I/O完成后才继续运行。
1.2.3 多道批处理系统(Multiprogrammed Batch Processing System)
1.多道程序设计的基本概念
为了进一步提高资源利用率和系统吞吐量,引入了多道程序设计技术,由此形成了多道批处理系统。用户所提交的作业先存放在外存上,并排成一个队列,称为”后备队列“。由作业调度程序按一定的算法,从后备队列中选择若干个作业调入内存,使它们共享CPU和系统中的各种资源。这样可以利用因I/O操作时的CPU空档时间,再调度另一道程序执行。
2.优缺点
- 资源利用率高
- 系统吞吐量大(系统吞吐量是指系统在单位时间所完成的总工作量)
- 平均周转时间长(平均周转时间是指从作业进入系统开始,直至其完成并退出系统为止所经历的时间)
- 无交互能力
3.需要解决的问题
- 处理机争用问题
- 内存分配和保护问题
- I/O设备分配问题
操作系统是一组能有效地组织和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合。
1.2.4 分时系统(Time Sharing System)
1.分时系统的引入
为了满足人—机交互的需求
2.分时系统实现中的关键问题
在多道批处理系统中,用户无法与自己的作业进行交互的主要原因是:作业都先驻留在外存上,即使以后被调入内存,也要经过较长时间的等待后方能运行,用户无法与自己的作业进行交互。
为了解决交互问题,首先系统必须能提供多个终端,同时给多个用户使用;其次,当用户在自己的终端上键入命令时,系统应能即使接受,并即使处理该命令,再将结果返回给用户。此后,用户可根据系统返回的响应情况,再继续键入下一条命令,此即人—机交互。亦即,允许有多个用户同时通过自己的键盘键入命令,系统也应能全部及时接受并处理。
3.分时系统的特征
- 多路性
- 独立性
- 及时性
- 交互性
1.2.5 实时系统(Real Time System)
1.实时系统的类型
- 工业(武器)控制系统
- 信息查询系统
- 多媒体系统
- 嵌入式系统
2.实时任务的类型
- 周期性实时任务和非周期性实时任务
- 硬实时任务和软实时任务,硬实时任务是指系统必须满足任务对截止时间的要求,否则可能出现难以预测的后果。
1.2.6 微机操作系统的发展
- 单用户单任务操作系统——DOS
- 单用户多任务操作系统——WIN
- 多用户多任务操作系统——UINX
1.3 操作系统的基本特性
并发、共享、虚拟和异步四个基本特征
1.3.1 并发(Concurrence)
并行与并发
- 并行是指两个或多个事件在同一时刻发生
- 并发是指两个或多个事件在同一时间间隔内发生
引入进程(进程是指在系统中能独立运行并作为资源分配的基本单位)
1.3.2 共享(Sharing)
- 互斥共享方式
- 临界资源:一段时间内只允许一个进程访问的资源
- 同时访问方式
1.3.3 虚拟(Virtual)
- 时分复用技术
- 空分复用技术
1.3.4 异步(Asynchronism)
进程以仁恩不可预知的速度向前推进,此即进程的异步性。
1.4 操作系统的主要功能
1.4.1 处理机管理功能
- 进程控制
- 进程同步
- 进程通信
- 调度
1.4.2 存储器管理功能
- 内存分配
- 内存保护
- 地址映射
- 内存扩充
1.4.3 设备管理功能
- 缓冲管理
- 设备分配
- 设备处理
1.4.4 文件管理功能
- 文件存储空间的管理
- 目录管理
- 文件的读/写管理和保护
1.4.5 操作系统与用户之间的接口
- 用户接口
- 联机用户接口
- 脱机用户接口
- 图形用户接口
- 程序接口
1.5 OS结构设计
微内核OS结构:能有效地支持多处理机运行,故非常适用于分布式系统环境。