1、西 安 电 子 科 技 大 学 出 版 社http:/高等学校计算机类 “十二五 ”规划教材部级优秀教材 计算机操作系统汤小丹 梁红兵 哲凤屏 汤子瀛 (第四版 )编著 目 录 第一章 操作系统引论第二章 进程的描述与控制第三章 处理机调度与死锁第四章 存储器管理第五章 虚拟存储器第六章 输入输出系统第七章 文件管理第八章 磁盘存储器的管理第九章 操作系统接口第十章 多处理机操作系统第十一章 多媒体操作系统第十二章 保护和安全3第一章 操作系统引论第一章 操作系统引论1.1 操作系统的目标和作用1.2 操作系统的发展过程1.3 操作系统的基本特性1.4 操作系统的主要功能1.5 OS结构设计习
2、题4第一章 操作系统引论1.1 操作系统的目标和作用操作系统的目标与应用环境有关。例如在查询系统中所用的 OS,希望能提供良好的人 机交互性;对于应用于工业控制、武器控制以及多媒体环境下的 OS,要求其具有实时性;而对于微机上配置的 OS,则更看重的是其使用的方便性。5第一章 操作系统引论1.1.1 操作系统的目标1. 方便性2. 有效性 3. 可扩充性4. 开放性6第一章 操作系统引论1.1.2 操作系统的作用 1. OS作为用户与计算机硬件系统之间的接口OS作为用户与计算机硬件系统之间接口的含义是: OS处于用户与计算机硬件系统之间,用户通过 OS来使用计算机系统。或者说,用户在 OS帮助
3、下能够方便、快捷、可靠地操纵计算机硬件和运行自己的程序。图 1-1是 OS作为接口的示意图。 7第一章 操作系统引论图 1-1 OS作为接口的示意图8第一章 操作系统引论2. OS作为计算机系统资源的管理者在一个计算机系统中,通常都含有多种硬件和软件资源。归纳起来可将这些资源分为四类:处理机、存储器、I/O设备以及文件 (数据和程序 )。相应地, OS的主要功能也正是对这四类资源进行有效的管理。处理机管理是用于分配和控制处理机;存储器管理主要负责内存的分配与回收; I/O设备管理是负责 I/O设备的分配 (回收 )与操纵;文件管理是用于实现对文件的存取、共享和保护。可见, OS的确是计算机系统
4、资源的管理者。9第一章 操作系统引论3. OS实现了对计算机资源的抽象对于一台完全无软件的计算机系统 (即裸机 ),由于它向用户提供的仅是硬件接口 (物理接口 ),因此,用户必须对物理接口的实现细节有充分的了解,这就致使该物理机器难于广泛使用。为了方便用户使用 I/O设备,人们在裸机上覆盖上一层 I/O设备管理软件,如图 1-2所示,由它来实现对 I/O设备操作的细节,并向上将 I/O设备抽象为一组数据结构以及一组 I/O操作命令,如 read和 write命令,这样用户即可利用这些数据结构及操作命令来进行数据输入或输出,而无需关心I/O是如何具体实现的。 10第一章 操作系统引论图 1-2
5、I/O软件隐藏了 I/O操作实现的细节11第一章 操作系统引论1.1.3 推动操作系统发展的主要动力 1不断提高计算机资源利用率2. 方便用户3. 器件的不断更新换代4. 计算机体系结构的不断发展5. 不断提出新的应用需求12第一章 操作系统引论1.2 操作系统的发展过程在 20世纪 50年代中期,出现了第一个简单的批处理 OS;60年代中期开发出多道程序批处理系统;不久又推出分时系统,与此同时,用于工业和武器控制的实时 OS也相继问世。20世纪 70到 90年代,是 VLSI和计算机体系结构大发展的年代,导致了微型机、多处理机和计算机网络的诞生和发展,与此相应地,也相继开发出了微机 OS、多
6、处理机 OS和网络 OS,并得到极为迅猛的发展。13第一章 操作系统引论1.2.1 未配置操作系统的计算机系统 1. 人工操作方式早期的操作方式是由程序员将事先已穿孔的纸带 (或卡片 ),装入纸带输入机 (或卡片输入机 ),再启动它们将纸带 (或卡片 )上的程序和数据输入计算机,然后启动计算机运行。仅当程序运行完毕并取走计算结果后,才允许下一个用户上机。这种人工操作方式有以下两方面的缺点:(1) 用户独占全机,即一台计算机的全部资源由上机用户所独占。(2) CPU等待人工操作。当用户进行装带 (卡 )、卸带 (卡 )等人工操作时, CPU及内存等资源是空闲的。14第一章 操作系统引论2. 脱机
7、输入 /输出 (Off-Line I/O)方式为了解决人机矛盾及 CPU和 I/O设备之间速度不匹配的矛盾, 20世纪 50年代末出现了脱机 I/O技术。该技术是事先将装有用户程序和数据的纸带装入纸带输入机,在一台外围机的控制下,把纸带 (卡片 )上的数据 (程序 )输入到磁带上。当CPU需要这些程序和数据时,再从磁带上高速地调入内存。15第一章 操作系统引论图 1-3 脱机 I/O示意图16第一章 操作系统引论1.2.2 单道批处理系统 1. 单道批处理系统 (Simple Batch Processing System)的处理过程为实现对作业的连续处理,需要先把一批作业以脱机方式输入到磁带
8、上,并在系统中配上监督程序 (Monitor),在它的控制下,使这批作业能一个接一个地连续处理。 17第一章 操作系统引论图 1-4 单道批处理系统的处理流程18第一章 操作系统引论2. 单道批处理系统的缺点单道批处理系统最主要的缺点是,系统中的资源得不到充分的利用。这是因为在内存中仅有一道程序,每逢该程序在运行中发出 I/O请求后, CPU便处于等待状态,必须在其I/O完成后才继续运行。又因 I/O设备的低速性,更使 CPU的利用率显著降低。图 1-5示出了单道程序的运行情况,从图可以看出:在 t2 t3、 t6 t7时间间隔内 CPU空闲。19第一章 操作系统引论图 1-5 单道程序的运行
9、情况20第一章 操作系统引论1.2.3 多道批处理系统 (Multiprogrammed Batch Processing System)1. 多道程序设计的基本概念为了进一步提高资源的利用率和系统吞吐量,在 20世纪60年代中期引入了多道程序设计技术,由此形成了多道批处理系统。图 1-6示出了四道程序时的运行情况。21第一章 操作系统引论图 1-6 多道程序的运行情况22第一章 操作系统引论2. 多道批处理系统的优缺点多道批处理系统的优缺点如下:(1) 资源利用率高。引入多道批处理能使多道程序交替运行,以保持 CPU处于忙碌状态;在内存中装入多道程序可提高内存的利用率;此外还可以提高 I/O
10、设备的利用率。(2) 系统吞吐量大。能提高系统吞吐量的主要原因可归结为: CPU和其它资源保持 “忙碌 ”状态; 仅当作业完成时或运行不下去时才进行切换,系统开销小。23第一章 操作系统引论(3) 平均周转时间长。由于作业要排队依次进行处理,因而作业的周转时间较长,通常需几个小时,甚至几天。(4) 无交互能力。用户一旦把作业提交给系统后,直至作业完成,用户都不能与自己的作业进行交互,修改和调试程序极不方便。24第一章 操作系统引论3. 多道批处理系统需要解决的问题多道批处理系统是一种十分有效,但又非常复杂的系统,为使系统中的多道程序间能协调地运行,系统必须解决下述一系列问题:(1) 处理机争用
11、问题。既要能满足各道程序运行的需要,又要能提高处理机的利用率。(2) 内存分配和保护问题。系统应能为每道程序分配必要的内存空间,使它们 “各得其所 ”,且不会因某道程序出现异常情况而破坏其它程序。(3) I/O设备分配问题。系统应采取适当的策略来分配系统中的 I/O设备,以达到既能方便用户对设备的使用,又能提高设备利用率的目的。25第一章 操作系统引论(4) 文件的组织和管理问题。系统应能有效地组织存放在系统中的大量的程序和数据,使它们既便于用户使用,又能保证数据的安全性。(5) 作业管理问题。系统中存在着各种作业 (应用程序 ),系统应能对系统中所有的作业进行合理的组织,以满足这些作业用户的
12、不同要求。(6) 用户与系统的接口问题。为使用户能方便的使用操作系统, OS还应提供用户与 OS之间的接口。26第一章 操作系统引论1.2.4 分时系统 (Time Sharing System) 1. 分时系统的引入如果说推动多道批处理系统形成和发展的主要动力是提高资源利用率和系统吞吐量,那么,推动分时系统形成和发展的主要动力,则是为了满足用户对人 机交互的需求,由此形成了一种新型 OS。用户的需求具体表现在以下几个方面:(1) 人 机交互。(2) 共享主机。 27第一章 操作系统引论2. 分时系统实现中的关键问题在多道批处理系统中,用户无法与自己的作业进行交互的主要原因是:作业都先驻留在外
13、存上,即使以后被调入内存,也要经过较长时间的等待后方能运行,用户无法与自己的作业进行交互。 1) 及时接收2) 及时处理28第一章 操作系统引论3. 分时系统的特征分时系统与多道批处理系统相比,具有非常明显的不同特性,可以归纳成以下四个方面:(1) 多路性。(2) 独立性。(3) 及时性。(4) 交互性。 29第一章 操作系统引论1.2.5 实时系统 (Real Time System) 1. 实时系统的类型随着计算机应用的普及,实时系统的类型也相应增多,下面列出当前常见的几种:(1) 工业 (武器 )控制系统。(2) 信息查询系统。(3) 多媒体系统。(4) 嵌入式系统。 30第一章 操作系统引论2. 实时任务的类型(1) 周期性实时任务和非周期性实时任务。(2) 硬实时任务和软实时任务。