操作系统

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

计算机操作系统教程(第2版)清华大学计算机系列教材张尧学史美林编著总目录第1章绪论第2章操作系统用户界面第3章进程管理第4章处理机调度第5章存储管理第6章进程与存储管理示例第7章文件系统第8章设备管理第9章文件和设备管理示例第10章面向对象操作系统的设计第1章绪论1.1操作系统概念1.2操作系统的历史1.3操作系统的基本类型1.4操作系统功能1.5计算机硬件简介1.6算法的描述1.7研究操作系统的几种观点习题20计算机发展到今天,从个人计算机到巨型计算机系统,毫无例外都配置一种或多种操作系统。什么是操作系统,操作系统在计算机系统中的地位,它具有什么样的功能等,我们将在这一章作一简要阐述。为了阐明这些问题,扼要地回顾一下操作系统的形成和发展过程是必要的。为便于今后的学习,我们要介绍一下操作系统的类型及其特点,研究操作系统的几种观点。最后,介绍几种常用操作系统。1.1操作系统概念1.1.1什么是操作系统任何一个计算机系统都是由两部分组成:计算机硬件和计算机软件。计算机硬件通常是由中央处理机(运算器和控制器)、存储器、输入设备和输出设备等部件组成。计算机软件包括系统软件和应用软件。系统软件如操作系统、多种语言处理程序(汇编和编译程序等)、连接装配程序、系统实用程序、多种工具软件等;应用软件为多种应用目的而编制的程序。没有任何软件支持的计算机称为裸机,它仅仅构成了计算机系统的物质基础,而实际呈现在用户面前的计算机系统是经过若干层软件改造的计算机。图1.1展示了这种情形。图1.1操作系统与硬件软件的关系由图1.1可看出,计算机的硬件和软件以及应用之间是一种层次结构的关系。裸机在最里层,它的外面是操作系统,经过操作系统提供的资源管理功能和方便用户的各种服务功能把裸机改造成为功能更强、使用更为方便的机器,通常称之为虚拟机或扩展机,而各种实用程序和应用程序运行在操作系统之上,它们以操作系统作为支撑环境,同时又向用户提供完成其作业所需的各种服务。因此,引入操作系统的目的可从三方面来考察:(1)从系统管理人员的观点来看:引入操作系统是为了合理地组织计算机工作流程,管理和分配计算机系统硬件及软件资源,使之能为多个用户高效率地共享。因此,操作系统是计算机资源的管理者。(2)从用户的观点来看:引入操作系统是为了给用户使用计算机提供一个良好的界面,以使用户无需了解许多有关硬件和系统软件的细节,就能方便灵活地使用计算机。(3)从发展的观点看:引入操作系统是为了给计算机系统的功能扩展提供支撑平台,使之在追加新的服务和功能时更加容易和不影响原有的服务与功能。综上所述,我们可以非形式地把操作系统定义为:操作系统是计算机系统中的一个系统软件,它是这样一些程序模块的集合——它们管理和控制计算机系统中的硬件及软件资源,合理地组织计算机工作流程,以便有效地利用这些资源为用户提供一个功能强大、使用方便和可扩展的工作环境,从而在计算机与其用户之间起到接口的作用。1.2操作系统的历史为了更好地理解操作系统的基本概念、功能和特点,首先回顾一下操作系统形成和发展的历史过程。操作系统是由于客观的需要而产生的,它伴随着计算机技术本身及其应用的日益发展而逐渐发展和不断完善。它的功能由弱到强,在计算机系统中的地位不断提高。至今,它已成为计算机系统中的核心,无一计算机系统是不配置操作系统的。由于操作系统历来跟运行其上的计算机组成与体系结构休戚与共,因此我们考察各代计算机,看看它们的操作系统是什么样子,具有哪些功能和特征。人们通常按照器件工艺的演变把计算机发展过程分为四个阶段。1946年—50年代末:第一代,电子管时代,无操作系统。50年代末—60年代中期:第二代,晶体管时代,批处理系统。60年代中期—70年代中期:第三代,集成电路时代,多道程序设计。70年代中期至今:第四代,大规模和超大规模集成电路时代,分时系统。现代计算机正向着巨型、微型、并行、分布、网络化和智能化几个方面发展着。适应上述计算机发展过程,操作系统经历了如下的发展过程:手工操作阶段(无操作系统)、批处理、执行系统、多道程序系统、分时系统、实时系统、通用操作系统、网络操作系统、分布式操作系统等。1.2.1手工操作阶段在第一代计算机时期,构成计算机的主要元器件是电子管,计算机运算速度慢,没有操作系统,甚至没有任何软件。用户直接用机器语言编制程序,并在上机时独占全部计算机资源。上机完全是手工操作:先把程序纸带(或卡片)装上输入机,然后启动输入机把程序和数据送入计算机,接着通过控制台开关启动程序运行。计算完毕,打印机输出计算结果,用户取走并卸下纸带(或卡片)。50年代后期,计算机的运行速度有了很大提高,手工操作的慢速度和计算机的高速度之间形成矛盾。唯一的解决办法是摆脱人的手工操作,实现作业的自动过渡。这样就出现了批处理。1.2.2早期批处理(batchprocessing)如上所述,在计算机发展的早期阶段,由于没有任何用于管理的软件,所有的运行管理和具体操作都由用户自己承担。作业由许多作业步组成,任何一步的错误操作都可能导致该作业从头开始。当时,计算机极其昂贵,计算机(CPU)的时间非常宝贵,尽可能提高CPU的利用率成为十分迫切的任务。解决的途径有两个:首先配备专门的计算机操作员,程序员不再直接操作机器,减少操作机器的错误。另一个重要措施是进行批处理,操作员把用户提交的作业分类,把一批中的作业编成一个作业执行序列。每一批作业将有专门编制的监督程序(monitor)自动依次处理。早期的批处理可分为两种方式。1.联机批处理慢速的输入输出(I/O)设备是和主机直接相连。作业的执行过程为:(1)用户提交作业:作业程序、数据,用作业控制语言编写的作业说明书;(2)作业被作成穿孔纸带或卡片;(3)操作员有选择地把若干作业合成一批,通过输入设备(纸带输入机或读卡机)把它们存入磁带;(4)监督程序读入一个作业(若系统资源能满足该作业要求);(5)从磁带调入汇编程序或编译程序,将用户作业源程序翻译成目标代码;(6)连接装配程序把编译后的目标代码及所需的子程序装配成一个可执行程序;(7)启动执行;(8)执行完毕,由善后处理程序输出计算结果;(9)再读入一个作业,重复(5)—(9)各步;(10)一批作业完成,返回到(3),处理下一批作业。这种联机批处理方式解决了作业自动转接,从而减少作业建立和人工操作时间。但是在作业的输入和执行结果的输出过程中,主机CPU仍处在停止等待状态,这样慢速的输入输出设备和快速主机之间仍处于串行工作,CPU的时间仍有很大的浪费。2.脱机批处理这种方式的显著特征是增加一台不与主机直接相连而专门用于与输入输出设备打交道的卫星机。如图1.2所示。卫星机的功能是:(1)输入设备通过它把作业输入到输入磁带;(2)输出磁带将作业执行结果输出到输出设备。这样,主机不是直接与慢速的输入输出设备打交道,而是与速度相对较快的磁带机发生关系。主机与卫星机可以并行工作,二者分工明确,以充分发挥主机的高速度计算能力。因此脱机批处理和早期联机批处理相比大大提高了系统的处理能力。图1.2早期脱机批处理模型批处理出现于20世纪50年代末到60年代初。它的出现促使了软件的发展。再有重要的是监督程序,它管理作业的运行——负责装入和运行各种系统处理程序,如汇编程序、编译程序、连接装配程序、程序库(如输入输出标准程序等);完成作业的自动过渡,同时也出现程序覆盖等程序设计技术。批处理仍有些缺点:磁带需人工拆装,既麻烦又易出错;而另一个更重要的问题是系统的保护。让我们来回忆一下在监督程序管理下的解题过程,如图1.3所示。图1.3监督程序管理下的解题过程在进行批处理过程中,监督程序、系统程序和用户程序之间存在着一种调用关系,任何一个环节出问题,整个系统都会停顿;用户程序也可能会破坏监督程序和系统程序,这时,只有操作员进行干预才能恢复。20世纪60年代初期,硬件获得了两方面(即通道和中断技术)的进展,导致操作系统进入执行系统阶段。通道是一种专用处理部件,它能控制一台或多台输入输出设备工作,负责输入输出设备与主存之间的信息传输。它一旦被启动就能独立于CPU运行,这样可使CPU和通道并行操作,而且CPU和多种输入输出设备也能并行操作。中断是指当主机接到外部信号(如输入输出设备完成信号)时,马上停止原来工作,转去处理这一事件,处理完毕后,主机回到原来的断点继续工作。借助于通道、中断技术和输入输出可在主机控制下完成批处理。这时,原来的监督程序的功能扩大了,它不仅要负责作业运行的自动调度,而且还要提供输入输出控制功能。这个发展了的监督程序常驻内存称为执行系统。执行系统实现的也是输入输出联机操作,和早期批处理系统不同的是:输入输出工作是由在主机控制下的通道完成的。主机和通道、主机和输入输出设备都可以并行操作。用户程序的输入输出工作都是由系统执行而没有人工干预,由系统检查其命令的合法性,以避免不合法的输入输出命令造成对系统的影响,从而提高系统的安全性。此时,除了输入输出中断外,其他中断如算术溢出和非法操作码中断等可以克服错误停机,而时钟中断可以解决用户程序中出现的死循环等。许多成功的批处理系统在20世纪50年代末和60年代初出现,典型的操作系统是FMS(FortranMonitorSystem)即FORTRAN监督系统和IBM/7094机上的IBM操作系统IBSYS。执行系统实现了主机、通道和输入输出设备的并行操作,提高了系统效率,方便用户对输入输出设备的使用。但是,这时计算机系统运行的特征是单道顺序地处理作业,即用户作业仍然是一道一道作业顺序处理。那么可能会出现两种情况:对于以计算为主的作业,输入输出量少,外围设备空闲;然而对于以输入输出为主的作业,又会造成主机空闲。这样总的来说,计算机资源使用效率仍然不高。因此操作系统进入了多道程序阶段:多道程序合理搭配交替运行,充分利用资源,提高效率。1.2.3多道程序系统上述批处理系统,每次只调用一个用户作业程序进入内存并运行,称为单道运行。图1.4(a)给出了单道程序工作示例。而图1.4(b)给出了多道程序工作示例。在单处理机系统中,多道程序运行的特点是:(1)多道:计算机内存中同时存放几道相互独立的程序。(2)宏观上并行:同时进入系统的几道程序都处于运行过程中,即它们先后开始了各自的运行,但都未运行完毕。(3)微观上串行:实际上,各道程序轮流使用CPU,交替执行。(a)单道程序工作示例(b)多道程序工作示例图1.4在批处理系统中采用多道程序设计技术,就形成了多道批处理系统。要处理的许多作业存放在外部存储器中,形成作业队列,等待运行。当需要调入作业时,将由操作系统中的作业调度程序对外存中的一批作业,根据其对资源的要求和一定的调度原则,调几个作业进入内存,让它们交替运行。当某个作业完成,然后再调入一个或几个作业。这种处理方式,在内存中总是同时存在几道程序,系统资源得到比较充分的利用。多道程序系统中,要解决这样一些技术问题:(1)并行运行的程序要共享计算机系统的硬件和软件资源,既有对资源的竞争,但又须相互同步。因此同步与互斥机制成为操作系统设计中的重要问题。(2)随着多道程序的增加,出现了内存不够用的问题,提高内存的使用效率也成为关键。因此出现了诸如覆盖技术、对换技术和虚拟存储技术等内存管理技术。(3)由于多道程序存在于内存,为了保证系统程序存储区和各用户程序存储区的安全可靠,提出了内存保护的要求。多道程序系统的出现标志着在操作系统渐趋成熟的阶段先后出现了作业调度管理、处理机管理、存储器管理、外部设备管理、文件系统管理等功能。1.2.4分时操作系统批处理方式下,用户以脱机操作方式使用计算机,只有等该批作业处理结束,用户才能得到计算结果。根据结果再作下一步处理。它的好处是计算机效率高。不过,用户十分留恋手工操作阶段的联机工作方式,独占计算机,并直接控制程序运行。但独占计算机方式会造成资源效率低。既能保证计算机效率,又能方便用户使用,成为一种新的追求目标。20世纪60年代中期,计算机技术和软件技术的发展使这种追求成为可能。由于CPU速

1 / 72
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功