第1章 计算机操作系统教程

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

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

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

资源描述

计算机操作系统教程(第3版)清华大学计算机系列教材张尧学史美林编著需要先修课程:计算机组成原理数据结构C语言这门课的特点:概念多、较抽象和涉及面广,其整体实现思想和技术又往往难于理解不易上机,需要课外知识太多,上机时间是肯定不足的.作业不好布置,基本都是概念,但是关键概念还是以作业的形式来布置.学习操作系统具有什么意义?•关于学习操作系统的争议:•世界上只需要很少的操作系统设计/实现者•现在大部分人都在使用windows和Unix、Linux学习操作系统具有什么意义?•学习操作系统的好处:•总体上掌握系统设计•操作系统包括了所有软件设计/实现问题•加深对使用的操作系统的理解,有利于深入编程;用户为了开发应用程序必须与操作系统打交道。•编程时借鉴操作系统的设计思想和算法(比如插件开发、微内核)。第1章绪论1.1操作系统概念1.2操作系统的历史1.3操作系统的基本类型1.4操作系统功能1.5计算机硬件简介1.6算法的描述1.7研究操作系统的几种观点习题201.1操作系统概念1.1.1什么是操作系统任何一个计算机系统都是由两部分组成:计算机硬件和计算机软件。计算机软件包括系统软件和应用软件。系统软件如操作系统、多种语言处理程序(汇编和编译程序等)、连接装配程序、系统实用程序、多种工具软件等;应用软件为多种应用目的而编制的程序。没有任何软件支持的计算机称为裸机,它仅仅构成了计算机系统的物质基础,而实际呈现在用户面前的计算机系统是经过若干层软件改造的计算机。图1.1展示了这种情形。图1.1操作系统与硬件软件的关系因此,引入操作系统的目的可从三方面来考察:(1)从系统管理人员的观点来看:引入操作系统是为了合理地组织计算机工作流程,管理和分配计算机系统硬件及软件资源,使之能为多个用户高效率地共享。因此,操作系统是计算机资源的管理者。(2)从用户的观点来看:引入操作系统是为了给用户使用计算机提供一个良好的界面,以使用户无需了解许多有关硬件和系统软件的细节,就能方便灵活地使用计算机。(3)从发展的观点看:引入操作系统是为了给计算机系统的功能扩展提供支撑平台,使之在追加新的服务和功能时更加容易和不影响原有的服务与功能。综上所述,我们可以非形式地把操作系统定义为:操作系统是计算机系统中的一个系统软件,它是这样一些程序模块的集合——它们管理和控制计算机系统中的硬件及软件资源,合理地组织计算机工作流程,以便有效地利用这些资源为用户提供一个功能强大、使用方便和可扩展的工作环境,从而在计算机与其用户之间起到接口的作用。1.2操作系统的历史为了更好地理解操作系统的基本概念、功能和特点,首先回顾一下操作系统形成和发展的历史过程。需要大家注意分析每个阶段的计算机工作方式以及它们存在的优缺点,是否有什么好的解决方法1.2.1手工操作阶段在第一代计算机时期,构成计算机的主要元器件是电子管,计算机运算速度慢,没有操作系统,甚至没有任何软件。用户直接用机器语言编制程序,并在上机时独占全部计算机资源。上机完全是手工操作:先把程序纸带(或卡片)装上输入机,然后启动输入机把程序和数据送入计算机,接着通过控制台开关启动程序运行。计算完毕,打印机输出计算结果,用户取走并卸下纸带(或卡片)。分析,这种工作方式存在什么样的问题?•工作方式用户:用户既是程序员,又是操作员;用户是计算机专业人员;编程语言:为机器语言;输入输出:纸带或卡片;•计算机的工作特点(或者说是缺点)用户上机必须预约时间用户独占全机:不出现资源被其他用户占用,资源利用率低;CPU等待用户:计算前,手工装入纸带或卡片;计算完成后,手工卸取纸带或卡片;CPU利用率低;•主要矛盾计算机处理能力的提高,手工操作的低效率(造成浪费);用户独占全机的所有资源;•提高效率的途径专门的操作员,批处理1.2.2早期批处理(batchprocessing)如上所述,在计算机发展的早期阶段,由于没有任何用于管理的软件,所有的运行管理和具体操作都由用户自己承担。作业由许多作业步组成,任何一步的错误操作都可能导致该作业从头开始。当时,计算机极其昂贵,计算机(CPU)的时间非常宝贵,尽可能提高CPU的利用率成为十分迫切的任务。解决的途径有两个:首先配备专门的计算机操作员,程序员不再直接操作机器,减少操作机器的错误。另一个重要措施是进行批处理,操作员把用户提交的作业分类,把一批中的作业编成一个作业执行序列。每一批作业将有专门编制的监督程序(monitor)自动依次处理。早期的批处理可分为两种方式。1.联机批处理慢速的输入输出(I/O)设备是和主机直接相连。2.脱机批处理这种方式的显著特征是增加一台不与主机直接相连而专门用于与输入输出设备打交道的卫星机。如图1.2所示。卫星机的功能是:(1)输入设备通过它把作业输入到输入磁带;(2)输出磁带将作业执行结果输出到输出设备。这样,主机不是直接与慢速的输入输出设备打交道,而是与速度相对较快的磁带机发生关系。主机与卫星机可以并行工作,二者分工明确,以充分发挥主机的高速度计算能力。因此脱机批处理和早期联机批处理相比大大提高了系统的处理能力。图1.2早期脱机批处理模型批处理出现于20世纪50年代末到60年代初。它的出现促使了软件的发展。再有重要的是监督程序,它管理作业的运行——负责装入和运行各种系统处理程序,如汇编程序、编译程序、连接装配程序、程序库(如输入输出标准程序等);完成作业的自动过渡,同时也出现程序覆盖等程序设计技术。批处理仍有些缺点:磁带需人工拆装,既麻烦又易出错;而另一个更重要的问题是系统的保护。更严重的问题是,如果一个程序的I/O操作比较多,CPU的资源浪费更加严重!!1.2.3多道程序系统上述批处理系统,每次只调用一个用户作业程序进入内存并运行,称为单道运行。图1.4(a)给出了单道程序工作示例。硬件引入通道和中断而图1.4(b)给出了多道程序工作示例。在单处理机系统中,多道程序运行的特点是:(1)多道:计算机内存中同时存放几道相互独立的程序。(2)宏观上并行:同时进入系统的几道程序都处于运行过程中,即它们先后开始了各自的运行,但都未运行完毕。(3)微观上串行:实际上,各道程序轮流使用CPU,交替执行。(a)单道程序工作示例(b)多道程序工作示例图1.4小问题:现有两道作业,其中一道可能存在的操作有:先计算19分钟,然后打印2分钟。另一道可能存在的操作有:先计算3分钟,然后打印16分钟。那么在单道程序系统中,两道作业的执行总时间至少为多少分钟?而在多道程序系统中,这一时间至少为多少分钟?小问题:•设在内存中有P1、P2两道程序,并按照P1、P2的次序运行,其内部计算和I/O操作的时间分别如下:•P1:计算60ms,打印80ms,计算20ms•P2:计算120ms,打印40ms,计算40ms•调度程序的执行时间不计,在多道批处理系统中,完成这两道程序比单道批处理系统节约的时间是()•A.100msB.120msC.160msD.200ms单道批处理程序系统中:缺点:①平均周转时间长。所谓周转时间是指从作业进行系统开始,到作业完成所经历的时间。由于在批处理系统中,一个作业一旦运行便将运行到完成,这必然使许多短作业的周转时间显著增长;②不能提供交互能力,用户使用机器不方便;③CPU利用率较低(单道、串行)。在进行批处理过程中,监督程序、系统程序和用户程序之间存在着一种调用关系,任何一个环节出了问题,整个系统都会停顿;用户程序也可能会败坏监督程序和系统程序,这时,只有操作员进行干预才能恢复。多道批处理优点:①提高了CPU、内存、I/O的利用率;②系统的吞吐量显著提高。缺点:平均周转时间长;交互能力不足。多道程序系统中,要解决这样一些技术问题:(1)并行运行的程序要共享计算机系统的硬件和软件资源,既有对资源的竞争,但又须相互同步。因此同步与互斥机制成为操作系统设计中的重要问题。(2)随着多道程序的增加,出现了内存不够用的问题,提高内存的使用效率也成为关键。因此出现了诸如覆盖技术、对换技术和虚拟存储技术等内存管理技术。(3)由于多道程序存在于内存,为了保证系统程序存储区和各用户程序存储区的安全可靠,提出了内存保护的要求。多道程序系统的出现标志着在操作系统渐趋成熟的阶段先后出现了作业调度管理、处理机管理、存储器管理、外部设备管理、文件系统管理等功能。1.2.4分时操作系统产生原因:批处理方式下,用户以脱机操作方式使用计算机,只有等该批作业处理结束,用户才能得到计算结果。根据结果再作下一步处理。它的好处是计算机效率高。不过,缺点就是交互性不足。但独占计算机方式会造成资源效率低。既能保证计算机效率,又能方便用户使用,成为一种新的追求目标。分时技术工作原理:就是把处理机的运行时间分成很短的时间片,按时间片轮流把处理机分配给各联机作业使用。若某个作业在分配给它的时间片内不能完成其计算,则该作业暂时中断,把处理机让给另一作业使用,等待下一轮时再继续其运行。由于计算机速度很快,作业运行轮转得很快,给每个用户的印象是好像他独占了一台计算机。而每个用户可以通过自己终端向系统发出各种操作控制命令,完成作业的运行。多用户分时操作系统是当今计算机操作系统中最普遍使用的一类操作系统。基于单道程序的分时系统基于多道程序的分时系统分时系统的缺点:(1)时间片大小如何划分?(2)每个终端如何不相互干扰的问题?售货员服务的例子1.2.5实时操作系统计算机由于用于工业过程控制、军事实时控制等形成了各种实时处理系统。针对实时处理的实时操作系统是以在允许时间范围之内做出响应为特征的。它要求计算机对于外来信息能以足够快的速度进行处理,并在被控对象允许时间范围内作出快速响应,其响应时间要求在秒级、毫秒级甚至微秒级或更小。1.2.6通用操作系统多道批处理系统和分时系统的不断改进、实时系统的出现及其应用日益广泛,致使操作系统日益完善。在此基础上,出现了通用操作系统。它可以同时兼有多道批处理、分时、实时处理的功能,或其中两种以上的功能。例如,将实时处理和批处理相结合构成实时批处理系统。在这样的系统中,它首先保证优先处理任务,插空进行批作业处理。通常把实时任务称为前台作业,批作业称为后台作业。将批处理和分时处理相结合可构成分时批处理系统。在保证分时用户的前提下,没有分时用户时可进行批量作业的处理。同样,分时用户和批处理作业可按前后台方式处理。20世纪60年代中期开始,国际上开始研制大型通用操作系统。这些系统在解决其可靠性、可维护性、可理解性和开放性等方面都遇到很大的困难。相比之下UNIX操作系统却是一个例外。这是一个通用的多用户分时交互型的操作系统。它首先建立的是一个精干的核心,而其功能却足以与许多大型的操作系统相媲美,在核心层以外可以支持庞大的软件系统。目前广泛使用的各种工作站级的操作系统如SUN公司的Solaris,IBM公司的AIX等都是基于UNIX的操作系统。Windows系列操作系统,其主要原理也是基于UNIX系统的。linux系统也是从UNIX演变而成的。至此,操作系统的基本概念、功能、基本结构和组成都已形成并渐趋完善。1.5计算机硬件简介如前所述,操作系统管理和控制计算机系统中所有软硬件资源。同时,因操作系统是一个运行于硬件之上的系统软件,我们还必须对操作系统运行的硬件环境有所了解。本节简要介绍计算机硬件系统。1.5.1计算机的基本硬件元素构成计算机的基本硬件元素有以下4种:处理器、存储器、输入输出控制与总线、外部设备等。这些基本元素的逻辑关系如图1.6所示。图1.6计算机的基本硬件元素处理器控制和执行计算机的指令操作。一台计算机中可以有多个处理器或单个处理器。本书主要讨论单处理器的操作系统。单处理器也称CPU。存储器用来储存数据和程序。存储器可分为内存与外存,以及用于数据和程序暂时存储用的缓冲器与高速缓存(cache)等。输入输出控制器与缓冲主要用来控制和暂时存储外部设备与计算机内存之间交换的数据和程序。外部设备范围很广。它们是获取和输出数据与程序的基本单位,包括数字式设备和模拟式设备。不过,模拟式设备要通过模/数转换后

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

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

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

×
保存成功