计算机操作系统原理_第1页
计算机操作系统原理_第2页
计算机操作系统原理_第3页
计算机操作系统原理_第4页
计算机操作系统原理_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、- -计算机操作系统课程参考书张张尧学,史美林,计算机操作系统教程,清华大学出版社Stallings98WilliamStallings,OperatingSystems(3rdedition),清华大学出版社*操作系统:设计与实现(第2版)电子工业出版社汤子瀛等,计算机操作系统,西安电子科技大学出版VahaliaUreshVahalia,UNIX高级教程一系统技术内幕,清华大学出版社课程要求作业:10%平时:20%期中考试:20%期末考试:50%课程进度安排日期周次讲课内容分章和分节的名称课内时数9.91第一章绪论41.1操作系统的历史1.2操作系统的概念1.3操作系统的功能9.162第二章

2、操作系统用户界面29.233第三章进程管理123.1进程的概念3.2进程的描述3.3进程状态及其转换3.4进程控制3.5进稈互斥3.6进程同步3.7进程通信3.8死锁问题3.9线程10.145实验进程管理810.217第四章处理机调度24.1分级调度4.2作业调度4.3进程调度4.4调度算法4.5实时系统调度方法10.288实验二处理机调度411.49第五章存储管理85.1存储管理的功能5.2分区存储管理5.3覆盖与交换技术5.4页式管理5.5段式与段页式管理5.6局部性原理和抖动问题11.2512实验三存储管理412.213第六章文件系统86.1文件系统的概念6.2文件的逻辑结构与存取方法6

3、.3文件的物理结构与存取设备6.4文件存储空间管理6.5文件目录管理6.6文件存取控制6.7文件的使用6.8文件系统的层次模型12.914实验四文件管理612.1615第七章设备管理88.1引言8.2数据传送控制方式8.3中断技术8.4缓冲技术8.5设备分配8.6I/O进程控制8.7设备驱动程序12.2317复习2第一章操作系统引论1.操作系统的作用、分类2.处理机、作业、存储、设备、文件管理常用OS的知识、新型操作系统用户界面操作系统的英文名称为OperatingSystem,简称OS,它是计算机系统运行和工作必不可少的软件。无论是巨型机、大型机,不是中小型机,也无论是台式个人计算机,便携式

4、微型机,还是连接多台计算机的计算机网络,都离不开操作系统。一个完整的计算机系统是由硬件(通常由中央处理机、存储器、I/O设备等部件组成,它构成了系统本身和作业赖以活动的物质基础和工作系统。)和软件(程序、数据、文档的统称)两部分组成的(图1.1)。其中软件部分又分为系统软件和应用软件。应用软件指的是为了某一类的应用而设计的程序,或用户为了解决某个特定问题而编制的程序。系统软件包括操作系统、语言处理程序和常用的例行服务程序。操作系统是系统软件的基本部分。系统软件由计算机公司提供,面向机器本身,其算法和功能不依赖于特定的用户。它的主要任务是使得硬件所提供的能力可以得到充分的利用,支持用户应用软件的

5、运行并提供恰当的服务。因此,系统软件的设计必须十分注意其正确性及效率。在计算机系统中,所有这些软、硬件资源(泛称资源)必须由一个统一的管理者来协调它们正确、可靠、高效地工作,这就是OS的使命。所以,如果将构成计算机系统的一切硬件系统和软件系统称为资源,则操作系统是控制和管理计算机硬件和软件资源,合理组织计算机工作流程以及方便用户的程序的集合。是最基本的系统软件,是硬件机器的第一级扩充(图1.2)。图1.1计算机系统的组成应用用户*1-应用开发人员?!用户应用上|操作系统系统工具H/开发人员操作系统Tx计算机硬件图1.2操作系统在计算机系统中的地位操作系统的地位:紧贴系统硬件之上,所有其他软件之

6、下(是其他软件的共同环境)引入操作系统的目标:口有效性(系统管理人员的观点):管理和分配硬件、软件资源,合理地组织计算机的工作流程口方便性(用户的观点):提供良好的、一致的用户接口,弥补硬件系统的类型和数量差别口可扩充性(开放的观点):硬件的类型和规模、操作系统本身的功能和管理策略、多个系统之间的资源共享和互操作一、操作系统的作用可以从不同的观点来观察操作系统的作用。从一般用户的观点,可把操作系统看做是用户与计算机硬件系统之间的接口;从资源管理观点,则可把OS视为计算机系统资源的管理者。1用户界面的观点对于用户来说,对操作系统的内部结构并没有多大的兴趣,他们最关心的是如何利用操作系统提供的服务

7、来有效的使用计算机。因此操作系统提供了什么样的用户界面成为关键问题。一般情况下,用户界面有两种方式:(1)命令方式。这是指由OS提供了一组联机命令(语言),用户可通过键盘键入有关的命令,来直接操作计算机系统。(2)系统调用方式。OS提供了一组系统调用,用户可在应用程序中通过调用相应的系统调用来操作计算机。2资源管理观点这种观点把操作系统看作管理系统资源的程序集合,根据它所管理的资源类别来考虑操作系统的结构。它在共享的前提下,以资源的分配、使用和回收作为出发点,来考虑操作系统各部分程序的功能和算法,解决并行环境中资源的管理问题。通常,把操作系统分为处理机管理、存储管理、作业管理、设备管理、文件管

8、理等五个主要部分,由这几部分程序的协调配合运行来完成用户的作业要求。3虚拟机观点对于任何一个软件来说,它都有一个用户机器和一个基本机器。用户机器是该软件和基本机器的结合,提供了该软件以及基本机器的的所有功能。基本机器则是该软件运行的环境。操作系统的用户机器提供了操作系统的全部功能(系统调用、命令、作业控制语言等等),又称操作系统虚机器。它的基本机器则是硬件机器。虚机器观点从功能分解的角度出发来考虑操作系统的结构,将操作系统分成若干个层次,每一层次完成特定的功能从而构成一个虚机器,并为上一层次提供支持,构成它的运行环境,通过逐个层次的功能扩充最终完成操作系统虚机器。从而向用户提供全套的服务,完成

9、用户的作业要求。OS是一组控制和管理计算机硬件和软件资源、合理地组织计算机工作流程,以及方便用户的程序的集合。二、操作系统的OS的历史(形成和发展)操作系统是在人们不断地改善计算机系统性能和提高资源利用率的过程中,逐步地形成和发展起来的。随着机器硬件的功能和性能的不断提高,机器的处理能力越来越强,提供的资源越来越多。如果仍然采用单个用户独占一台计算机的使用方式,势必造成相当大的浪费。为了更加有效地使用机器的资源,希望有多个用户同时利用机器来完成各自的工作,即各个用户同时使用不同的资源(例如外部设备、CPU等),既相对独立,又彼此协调。正是在这种实际要求面前,操作系统才得以问世。下面是OS形成过

10、程中的几个里程碑:手工操作阶段早期的计算机采用人工操作方式,由操作员将纸带(或卡片)装入纸带输入机(或卡片输入机)等输入设备,通过输入设备将程序和数据输入计算机,当程序完成并人工取走纸带和计算结果后,才让下一用户上机操作。这种人工操作方式具有以下两个特点:(1)用户独占全机。一台计算机为一个用户独占,系统中的全部资源由他一人支配,因此用户可以较方便地使用各种资源,不会出现因资源已被其它用户占用而等待的现象。但资源利用率却非常低。(2)CPU等待人工操作。用户仅在上机时才能将纸带或卡片装入相应的输入设备,显然,此时CPU空闲;当计算完成,进行当卸带取卡操作时,CPU又空闲。可见,CPU的利用极不

11、充分,这在运行短程序时尤为突出。矛盾:使用不方便;串行操作可见,人工操作方式严重地降低了资源的利用率,此即所谓的人-机矛盾。随着CPU速度的提高,CPU和I/O设备间不匹配的矛盾日益严重。为缓和此矛盾,必须摆脱手工干预,实现作业的自动过渡,因此出现了成批处理。早期批处理阶段在计算机发展的早期阶段,用户上机时需自己建立、运行作业,并最后作结尾处理。为了缩短作业的建立时间,人们研制了监督程序,它是一个常驻内存的小的核心代码。当若干用户作业合成一个作业执行序列时,监督程序自动地依次执行。早期的批处理可分为两种方式:联机批处理联机输入输出:程序和数据的输入输岀都由主机控制的输入输岀。即慢速的输入/输I

12、屮I设备是和主机直接相连打交道的。作业的执行过程大致为:用户提交作业;作业被做成穿孔纸带或卡片;操作员有选择地将若干作业合成一批,通过输入设备(输入机或读卡机)把它们存入磁带;监督程序读入一个作业(若系统资源能满足该作业要求);从磁带调入汇编程序或编译程序,将用户作业源程序翻译成目标代码;连接装配程序把编译后的目标代码及所需的子程序装配成一个可执行程序;启动执行;执行完毕,由善后处理程序输出计算结果;再读入一个作业,重复步骤-;一批作业完成,返回到,处理下一批作业。早期的联机批处理系统实现了作业的自动过渡,同手工操作阶段相比,计算机的使用效率提高了。但在这种批处理系统中,作业的输入输出是联机的

13、,也就是说作业从输入机到磁带,由磁带调入内存,以至结果的输出打印都是由中央处理机直接控制的。在这种联机操作方式下,虽然解决了作业自动转接,从而减少作业建立和人工操作时间。但是随着处理机速度的不断提高,处理机和输入/输出设备之间的速度差距就形成了一对矛盾。即在执行结果的输出过程中,主机CPU仍处于停止等待状态,这样慢速的输入/出设备和快速主机之间仍处于串行工作,CPU的时间仍有很大的浪费。脱机批处理慢速输入设备磁带机脱机批处理系统由主机和外围机(卫星机)组成。为了解决输入机的低速问题,可将用户程序和数据,在一台外围机的控制下,预先从低速设备输入到磁带或磁盘上。当CPU需要这些数据时,再直接从磁带

14、或磁盘上高速地调入内存。这样就大大地加速了输入过程类似地,当CPU需要输出时,可立即将输出数据送到磁带或磁盘上,以后再在外围机的控制下,把磁带或磁盘上的处理结果通过相应的输出设备输出。这对程序的执行来说,显然是大大地加速了数据的输出过程。脱机输入输出过程如下图所示。外围机主机慢速输出设备磁带机脱机输入输出:程序和数据的输入输出都是在外围机的控制下完成的,或者说它们是脱离主机进行的,故称脱机输入输出。矛盾:使用不方便;串行操作一一PU利用率低(3)批处理技术在早期的脱机I/O方式中,事先把一批作业输入到磁带上,这意味着作业的处理是成批的;为使这一批作业能自动连续地进行处理,在系统中还需配置监督程

15、序,在它的控制下,先把磁带上第一个作业装入内存,并将运行的控制权交给该作业。当该作业处理完后,又把控制权还给监督程序,又由监督程序将第二个作业装入内存。这样自动地一个作业一个作业地进行处理,直到磁带上的所有作业全部完成,这样就形成了早期的批处理系统。可见,批处理系统是在解决人机矛盾和CPU与I/O速度不匹配的矛盾的过程中发展起来的,或者说,批处理技术旨在提高系统的吞吐量和资源的利用率。该系统的主要特征:自动性(减少了手工操作)。实现了作业的自动过渡,改善了CPU与I/O的使用情况,提高了计算系统的处理能力。顺序性。磁带上的各道作业是顺序地进入内存的,各道作业完成的顺序与它们进入内存的顺序之间,

16、在正常情况下应当完全相同,亦即先调入内存的作业先完成。单道性。在某一时刻,内存中仅有一道程序在运行,仅当该程序完成或发生异常情况时,才调入后继程序进入内存运行。缺点:平均周转时间长。所谓周转时间是指从作业进行系统开始,到作业完成所经历的时间。由于在批处理系统中,一个作业一旦运行便将运行到完成,这必然使许多短作业的周转时间显著增长;不能提供交互能力,用户使用机器不方便;CPU利用率较低(单道、串行)。在进行批处理过程中,监督程序、系统程序和用户程序之间存在着一种调用关系,任何一个环节出了问题,整个系统都会停顿;用户程序也可能会败坏监督程序和系统程序,这时,只有操作员进行干预才能恢复。后来,通道和

17、中断技术的使用,导致了操作系统进行执行系统阶段。所谓执行系统即是常驻内存的监督程序,不过其功能扩大了,它不仅要负责作业运行的自动调度,而且还要提供输入输出控制功能。但是,这时计算机系统运行的特征仍是单道顺序地处理作业,即用户作业仍然是一道一道作业顺序处理。那么,可能会出现两种情况:一是对于以计算为主的作业,输入输出量少,外围设备空闲(计算型作业);二是对于以输入输出为主的作业,主机又会造成空闲(I/O型作业)。这样,总的来说,计算机资源使用效率仍然不高。因此操作系统进入了多道程序阶段:多道程序合理搭配交替运行,充分利用资源,提高效率。多道程序系统*多道程序设计技术及多道批处理系统在早期批处理系

18、统中,内存只存放一道程序,称为单道运行。这种系统的管理很简单,不存在高度管理的问题。但是这种单任务系统,对CPU的利用率极低。其原因是CPU经常要与外界交换数据,即进行输入/输出操作。而CPU的速度很快,外部设备的速度很慢,因此CPU除了花很少时间执行程序外,大部分时间在等待外设的输入/输出操作。亦即当该程序进行I/O操作时,CPU便处于等待I/O完成状态,致使CPU空闲。为提高CPU的利用率而引入多道程序技术,所谓多道程序技术是指将一个以上的作业放在内存并允许它们交替执行,共享系统中的各种资源。当正在执行的程序因I/O而暂定执行时,CPU立即转去执行另一道程序;当第二道程序又因I/O而暂定执

19、行时,CPU又转去执行第三道程序。显然,多道程序设计技术提高了CPU的利用率,同时也显著改善了内存和I/O设备的利用率,从而也使系统的吞吐量获得大幅度提高。允许多道程序运行的系统称为多道程序系统。现代操作系统一般都基于多道程序设计技术。系统吞吐量(systemthroughput):指系统在单位时间内所完成的作业数目。多道批处理系统的特征:多道性。计算机内存中同时存放几道相互独立的程序;无序性。多个作业完成的先后顺序与它们进入内存的顺序之间,并无严格的对应关系,即先进入内存的作业可能较后甚至最后完成,而后进入内存的作业又可能先完成。调度性。作业从提交给系统开始直至完成,需要经过以下两次调度:作

20、业调度;进程调度。宏观上并行、微观上串行。进入系统的几道程序都处于运行过程中,即它们先后开始了各自的运行,但都未运行完毕;实际上,各道程序轮流地使用CPU交替执行。优点:提高了CPU、内存、I/O的利用率;系统的吞吐量显著提高。缺点:平均周转时间长;无交互能力。在批处理系统中采用多道程序设计技术,就形成了多道批处理系统。要处理的许多作业存放于外部存储器中,形成作业队列,等待运行。当需要调入作业时,将由操作系统中的作业调度程序对外存中的一批作业,根据其对资源的要求和一定的调度原则,调几个作业进入内存,让它们交替运行。当一个作业完成后,再调入一个或几个作业。这种处理方式,在内存中总是同时存在几道程

21、序,系统资源得到比较充分的利用。多道程序及执行程序(常驻内存、功能扩大了的监控程序)的出现,标志着操作系统的初步形成。分时系统批处理方式下用户要得到自己的计算结果,必须等到系统处理完一批作业之后。这样虽然提高了CPU和系统设备的利用率,却给用户带来了很大的麻烦。为了解决两者的矛盾,引入了分时技术。分时的概念在计算机系统中,两个或两个以上事件按时间划分轮流地使用计算机系统中的某一资源称之为“分时”。分时系统的实现一般采用时间片轮转的办法,使一台计算机同时为多个终端用户服务。若干个用户通过各自的终端,同时使用同一台计算机系统,但他们彼此之间并不感觉到别的用户存在。时间片是分时的时间单位。多个用户按

22、时间片轮转,即每道程序一次运行一个时间片,用户通过终端与计算机发生交互作用,他们彼此一般不感觉到有别的用户存在,好象整个系统为其所独占。实现分时系统的关键是用户能与自己的作业交互作用,即用户在自己的终端上键入命令以请求系统服务,系统应能及时接收和及时处理该命令,并将处理结果立即返回给用户。此后,用户又可键入下一条命令,这样便实现了人-机交互。多道批处理系统和分时系统的出现标志着操作系统的基本形成。3实时系统(Real-TimeSystem)所谓“实时”,是表示“及时”,而实时系统是指系统能及时响应外部事件的请求在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。实时系统通常是在

23、一个特定的应用中作为一种控制设备来使用的。实时系统的一个主要特点在于有严格的时间限制,即每一个信息接收、分析处理和发送的过程必须在规定的时间范围内完成。这就要求系统的一切活动都必须在一个严格的计时程序的控制下运行,中断信号对系统具有支配作用,而不象批处理系统(时间限制弱)和分时系统(时间限制不严格)那样在作业调度时较少地考虑时间上的要求。实时系统往往具有一定的专用性。与批处理系统、分时系统相比,实时系统的资源利用率可能较低。实时系统可分为以下两大类:实时控制系统。通常是指以计算机为中心的生产过程控制系统。这类系统要求实时采集现场数据,并对所采集的数据进行及时处理,进而自动地控制相应的执行机构,

24、使某些参数(温度、压力、方位等)能按预定的规律变化,以保证产品质量和提高产量。实时信息处理系统。计算机及时接收从远程终端发来的服务请求,根据用户提出的问题,对信息进行检索和处理,并在很短的时间内为用户做出正确的回答。典型的实时信息处理系统有:飞机订票系统、情报检索系统等。实时系统与分时系统的比较:操作系统用途交互能力响应时间可靠性分时系统通用强以用户能容忍的限度有一定要求实时系统专用弱严格的时限咼要求实时处理是以瞬间响应为特征的。实时二字的含义是指计算机对于外来信息能够以足够快的速度进行处理,并在被控对象允许的时间范围内作出快速反应,其响应时间要求在称级、毫秒级甚至微秒级。实时系统的出现和应用

25、的日益广泛,以及多道成批系统和分时系统的不断改进,使操作系统日趋完善。新一代操作系统随着计算机技术的飞速发展,出现了智能计算和网络计算,并随之出现了微机操作系统、网络操作系统(NetworkperatingSystem)和分布式操作系统(DistributedOperatingSystem)等新型操作系统。在这个阶段,计算机系统和操作系统的发展都异常迅速,操作系统技术逐渐成熟,新的技术不断引入,具有开放环境、高效数据处理、友好人机界面、强功能开发支持,以及网络互连与通信功能、多媒体处理功能等。三、OS的特征前面所介绍的三种基本OS,它们各有自己的特征,如批处理系统具有成批处理的特征,分时系统具

26、有交互特征,实时系统具有实时特征,但它们都具有以下四个基本特征。1并发性(Concurrence)并发性是指在某一时间间隔内,有若干个事件发生。并行性在某一时刻,可能有若干事件发生。并发性是指两个或多个事件在同一时间间隔内发生。在多道程序环境下,并发性是指在一段时间内,宏观上有多道程序在同时运行,但在单处理机系统中,每一时刻却仅能有一道程序执行,故微观上这些程序只能分时地交替执行。程序的并发执行能有效地改善资源利用率和提高系统的吞吐量,但显然会使操作系统由于增加了控制和管理各种并发活动的功能变得复杂化。应该指出,通常的多个程序是不能并发执行的。系统必须分别为每个程序建立进程,以随时记录各个程序

27、由于并发执行而形成的停停走走的状态中的信息,以备该进程再次获得处理机时,能从中取得现场信息而继续运行下去。所谓进程,简单地说,是指在系统中能独立运行和作为资源分配的基本单位,多个进程之间可以并发执行以及交换信息。有关进程的概念将在后面的章节中详细阐述。2共享性(Sharing)资源共享是指系统中的资源可供多个用户使用。根据资源的属性,资源共享可有以:(1)互斥共享是指仅当一个作业(进程)使用完某资源并释放后,其他作业才能使用。通常,人们把在一段时间内只允许一个进程访问的资源称为“临界资源”,如打印机、磁带机以及某些变量、表格等软资源都属于临界资源。对临界资源必须采用互斥共享方式。(2)同时共享

28、一一指允许在一段时间内,若干个作业同时对某一资源进行访问,典型的可同时共享的硬设备是磁盘;又如,可重入码程序则是一种可供同时共享的软资源。并发和共享是操作系统的两个最基本特征,它们互为存在条件,即资源共享是以程序的并发执行为存在条件,没有并发执行,就不可能有共享;反之,若不能很好地实现共享,则程序的并发执行必将受到影响。虚拟性(Virtual)所谓虚拟,是指通过某种技术把一个物理实体变成若干个逻辑上的对应物。前者是实的,而后者是虚的,是用户感觉上的东西。例如,在多道分时系统中,虽然只有一个CPU,但每个终端用户却都认为是有一个CPU在专门为他服务,亦即,利用多道程序技术可以把一台物理上的CPU

29、虚拟为多台逻辑上的CPU。类似地,也可以把一台物理I/O设备虚拟为一台逻辑上的I/O设备。在操作系统中虚拟的实现,主要是通过分时使用方法。显然,如果n为某一物理设备所对应的虚拟的逻辑设备数,则虚拟设备的速度必然是物理设备速度的1/n。异步性(Asynchronism)(不确定性)不确定性有两种含义:(1)程序执行的结果是不确定的,即对同一程序,使用相同的输入、在相同的环境下运行,但经多次运行,却可能获得完全不同的结果(。2)多道程序环境下,每个程序在何时执行,何时暂停,以怎样的速度向前推进,每道程序总共需多少时间才能完成,都是不可预知的;或者说,进程是以异步方式运行的。上述的第一种不确定性是绝

30、对不允许的,因而也是操作系统必须解决的主要问题;而第二种不确定性却是允许的,这就是进程的异步性,是操作系统的一个重要特征。四、操作系统的进一步发展一般认为,以后新一代的OS应是智能型的。一方面指OS的设计过程中以知识为基础,要有知识获取和学习功能并能建立相应的知识库和推理机制;另一方面是建立更加友好、更加方便的智能化接口。采用倍受欢迎的多媒体技术,使计算机具有直接看、读、听、说、写、图案识别、气味区分等智能,新的人机通信模式或提示用户作出正确或明智的决策。新一代的OS面对的将是一个超大规模的、多处理机并行的、开放、分布的硬件体系结构,因此,面向对象的技术必然会被广泛地用于以后的OS。微机操作系

31、统单用户微机操作系统目前最具代表性的单用户微机操作系统有以下三种:(1)CP/M:CP/M是ControlProgramMonitor的缩写。它是在1975年由DigitalResearch公司率先推出的、带有软盘系统的8位微机操作系统;(2)MS-DOS:1981年IBM公司首次推出了IBM-PC个人计算机,在微机中采用了Microsoft公司开发的MS-DOS操作系统。该操作系统在CP/M的基础上进行了较大的扩充,增加了许多内部和外部命令,使该操作系统具有较强的功能及性能优良的文件系统,又因为它是配置在IBM-PC机上,随着该机及其兼容机的畅销,MS-DOS操作系统也就成为事实上的16位微

32、机单用户单任务操作系统的标准。单用户多任务操作系统(1)OS/2:由于MS-DOS的内存有效地址长度为20位,故寻址范围为1MB,而IBM公司已将其中384KB的空间用于PC机的基本I/O子系统,故操作系统及应用程序等只能使用640KB的内存空间,这已远远不能满足用户的需要,致使大量的系统软件和工具软件无法装入内存,因而使很多现代软件不能在MS-DOS上运行;其次,由于MS-DOS是一个单用户单任务操作系统,它不支持多任务并发执行。然而,在实际应用中,却往往要求操作系统能支持多任务并发执行。虽有不少厂家对MS-DOS进行过改造,但由于8086处理器缺少必要的硬件支持,因而使许多努力都未能获得满

33、意结果。所以,1987年4月,IBM公司在宣布下一代个人系统PS/2的同时,发表了OS/2。它是一种在80286保护方式下工作的单用户多任务操作系统。OS/1.x是16位,OS/2.X是32位。OS/2的主要性能是:消除最大内存仅为640KB的限制;支持多个任务并发执行;既能充分发挥80286处理器的能力,又能运行在8086处理器环境下开发的程序;提供良好的交互式响应,但又不占用太多的内存和磁盘空间。(2)MSWindows:1990年由Microsoft公司推出的Windows3.x,以其易学易用、友好的图形用户界面,并能支持多任务的优点,得以很快地流行开来,占领了市场。1993年推出的Wi

34、ndowsNT是一个全新的32位多任务操作系统,并具有很强的网络支持功能。1995年又推出了Windows95,不少人认为它很可能成为32位多任务OS的主流。3多用户多任务操作系统早在8位微机盛行时,就已有少数微机配置了多用户操作系统。出现16位微机后,多用户多任务操作系统大量涌现。其中比较著名的有UNIX和Microsoft公司为IBM-PC所开发的Xenix等等。UNIX是唯一能在从微型机直到大型机的各种机器上运行的操作系统,是当今世界流行的操作系统。多处理机操作系统多处理机操作系统的类型视处理机之间的数目及耦合程度可分若干类型,其中最常见的是主-从式(Master-SlaveMode)多

35、处理机操作系统,在这种系统中,把处理机分为主处理机和从处理机两种。其中,从处理机只执行用户程序,可多个,主处理机则只有一个,它配置了操作系统,用以管理整个系统的资源,并负责为从处理机分配任务。网络操作系统计算机网络是通过通信设施将地理上分散的具有自治功能的多个计算机系统互连起来,实现信息交换、资源泉共享互操作和协作处理的系统。按网络所覆盖的地理范围和互连计算机之间的距离的不同,可把计算机网络分为两种:WAN(WideAreaNetwork)和LAN(LocalAreaNetwork)。所谓网络操作系统(NOS是网络范围的操作系统。其主要任务是用统一的方法管理整个网络中共享资源的使用和任务的处理

36、。它应具有如下基本功能:网络通信、资源管理、提供网络接口、提供多种网络服务。*分布式操作系统在以往的操作系统中,其处理和控制功能都高度地集中在一台主机上,所有的任务都由主机处理,这样的系统称为集中式处理系统。分布式操作是70年代和80年代发展起来的一种多处理机(或多计算机)系统。在分布式处理系统中,计算和处理功能分散在构成分布式系统的各个处理单元上,相应地,可把一个大任务划分成可以并行执行的多个子任务,并动态地把这些任务分配到各处理单元上去,使它们并行执行。在分布式系统中,如果每个处理单元都是计算机,则可称为分布式计算机系统,它通常是计算机网络,也是目前最常见的分布式系统。如果处理单元只是处理

37、器或局部存储器,则只能称做分布式(处理)系统。小结:批处理系统是在解决人机矛盾和CPU与I/O设备速度不匹配这种矛盾的过程中,亦即在提高资源利用率的过程中形成的。引入多道程序的目的,是为了提高CPU、内存、I/O设备以及软件的利用率,该技术允许将多个作业同时放入内存,使它们交替执行,共享系统中的资源。将多道程序设计技术引入批处理系统,便形成多道批处理系统。操作系统的基本类型有以下三类:(1)批处理系统。该系统最重要的特征是系统自动地对作业进行处理;其主要优点是系统吞吐量大和资源利用率高;其缺点是平均周转时间长,和用户不能与自己的作业进行对话。(2)分时系统。该系统最主要的特征是用户可以与系统及

38、自己的作业进行交互作用,因而方便了用户对程序的开发与调试。分时系统的四个基本特征是同时性、独占性、及时性和交互作用性。(3)实时系统。该系统最主要的特征是能及时地对特定输入做出反应,来控制相应的对象。它也具有分时系统的四个基本特征,但它对及时性的要求更严格,而其交互作用能力却较差。操作系统具有如下特征:(1)并发性。在某段时间内,有多道程序宏观上在同时运行,但在单处理机系统中,每一时刻仅能执行一道程序,故微观上,这些程序是在交替执行。(2)共享性。资源共享是指系统中的资源已不再为某个程序所独占,而是由多个用户共同使用。有两种实现资源共享的方式;(3)虚拟性。所设虚拟是指把一个物理上的实体变为若

39、干个逻辑上的对应物。例如,多道程序技术可将一台物理CPU虚拟为多台逻辑CPU;(4)不确定性。作为操作系统特征的不确定性,是进程以异步方式运行。即进程是以一种人们不可预知的速度向前推进,但其运行结果总是确定的。从资源管理观点看,操作系统具有五大功能:(1)存储器管理。负责内存的分配、保护和扩充,以及进行逻辑地址到物理地址的转换;(2)处理机管理。处理机管理可归结为进程管理,用于实现进程的控制、同步、通信和调度;(3)设备管理。该功能包含缓冲管理、设备分配、设备处理以及虚拟设备等功能;(4)文件管理。实现对文件的存储空间、目录、读写等的管理,并对文件提供保护;(5)作业管理。对作业进行调度和控制

40、。由于操作系统的发展所形成的新的操作系统类型有:(1)微机操作系统。其中最有代表性的单用户、单任务微机操作系统是MS-DOS;多用户多任务的操作系统是UNIX。(2)多处理机操作系统。它是配置在多处理机系统中的操作系统。(3)网络操作系统。该操作系统在各主机操作的协助下,用户管理网络通信和资源共享,协调各主机上任务的运行。(4)分布式操作系统。该操作系统用于直接对系统中的各类资源进行管理,采用分布式通信和同步方式实现各主机上任务的并行执行。第二章作业管理在这一章中,我们讨论OS向上提供的用户接口,即系统命令接口和系统调用接口。系统命令接口可完成用户作业的组织和控制。本章重点:作业的类型和作业控

41、制、用户与操作系统之间的作业处理接口、作业的状态、作业调度。通过第二章的讨论,我们知道,一个作业进入系统,并为之建立相应的一个或多个进程后,由进程调度来给予分配处理机,让其在处理机上执行,完成该作业的任务,那么,一个用户向系统注册登记,提交作业后,什么时候得以真正进入系统,由谁来为其创建进程呢?这是作业调度的任务。作业调度又称高级调度或宏观调度。作业调度程序的主要功能是:根据计算机管理人员所制定的规则(如作业优先数大小,要求资源的品种和数量、系统的均衡性等),从后备作业队列上选择一个或多个作业置于“运行”状态,并为它们分配必要的资源(如主存空间、外部设备等),建立相应的用户作业进程和为其服务的

42、系统进程(如输入、输出进程),最后将它们的程序段调放主存以等待进程调度程序的调度。显然,由作业调度程序选择到的作业只有资格获得处理机,但不一定立刻就能占有它并在其上运行。至于一个已被调度程序调度到的作业,什么时候能真正在处理机上运行,则取决于“进程调度”所遵循的调度策略和作业性质。进程调度又称微观调度或低级调度。作业调度与进程调度之间的关系,可打个比喻来说明,前者像竞赛的“协调人”,它能确定参加比赛(竞争处理机)的全体“选手”,而后者像比赛场上的“裁判”,决定哪个“选手”将取得胜利(获得物理处理机)。作业管理的主要功能是对用户作业进行合理调度,以提高系统的吞吐量或缩短作业的周转时间,并提供用户

43、与操作系统的接口,以方便用户对自己的作业在整个运行过程中进行控制。2.1作业的基本概念一、作业的定义作业:作业是由用户提交给系统处理的一个基本任务(从用户目光看),它是由用户程序、数据以及对程序运行进行控制和处理的有关信息所组成(从系统角度看)。通常,一个作业又可分为若干个顺序处理的作业步,例如,在对一个用某高级语言编制的源程序进行调试处理时,往往要经过下述几大步骤:编辑这是调用编辑程序对指定的源程序文件进行输入或修改;编译一一对编辑后所得的文件进行编译、链接,以获得可执行的目标代码;运行一一对编译、链接后的程序进行运行,完成预期功能。作业步:作业由不同的顺序相连的作业步组成。作业步是在一个作

44、业的处理过程中,计算机所做的相对独立的工作。(1)用户的观点:在一次业务处理过程中,从输入程序和数据到输出结果的全过程。作业步:形成中间结果文件。注意:未必是顺序的(2)系统的观点(批处理):作业由程序及数据(作业体)和作业说明书(作业控制语言)针对作业进行资源分配一个作业是指在一次应用业务处理过程中,从输入开始到输出结束,用户要求计算机所做的有关该次业务处理的全部工作。作业由不同的顺序相连的作业步组成。二、作业的类型根据调度和控制的需要,可对作业进行分类。从调度的角度,可把作业分成:(1)计算型作业指任务中包含大量的计算,而其I/O较少的作业,通常的科学计算便属计算型作业;(2)1/0型作业

45、要求少量的计算而需大量I/O的作业,如通常的事务处理便属于I/O型作业。为了提高系统的吞吐量,调度程序应对这两种作业进行合理地组织和调度。2从控制角度可把作业分成:(1)批量型作业脱机作业利用作业说明书实现作业的自动控制。在整个作业的运行过程中,只需根据作业说明书中的说明对作业进行控制,脱机作业通常是在批处理操作环境下运行。联机作业通常利用控制台键盘操作命令直接控制作业的运行。(2)交互型作业终端型作业也称交互型或会话型作业。这一类作业是用会话语言(如BASIC语言)系统提供的语句编制源程序,系统对这种程序以解释的方式执行。用户在终端上与计算机系统进行相互通信,即用户在终端上用键盘命令控制和监

46、督作业的运行。同时系统也把作业运行情况和结果及时告诉用户。终端型作业通常在分时操作系统环境下运行。另外,单用户微机的使用一般都采用这种工作方式。注意:在一个兼顾分时操作和批处理的系统中,终端用户作业称为“前台”作业,而批量型作业称为“后台”作业。作业调度优先照顾终端型作业,即给它们较高的优先数。在终端服务业负载轻时,才去调度批量型作业,以提高系统资源的利用率。在调度批量型作业时,又优先照顾联机作业。22作业的状态及其建立过程一、作业的状态作业由程序、数据和作业说明书三部分组成。作业说明书包括作业基本情况、作业控制、作业资源要求的描述;它体现用户的控制意图。如:预计运行时间、要求的资源情况、执行

47、优先级等。作业基本情况:用户名、作业名、编程语言、最大处理时间等;作业控制描述:作业控制方式、作业步的操作顺序、作业执行出错处理;作业资源要求描述:处理时间、优先级、内存空间、外设类型和数量、实用程序要求等;一个作业从进入系统到运行完成,一般要由系统经过多级调度才能实现,通常要经历“进入(提交)”、“收容(后备)”、“执行”和“完成(终止)”四个阶段,相应地,作业就有四种状态(注:有些教材上认识作业只有后三种状态):进入状态(提交状态):当操作员将用户提交的作业通过某种输入方式输入到外存上时,称此阶段为作业处于进入状态。后备状态(收容状态):当作业所需全部信息已输入到外存,由作业建立程序为之建

48、立一个作业控制块,并插入到后备作业队列中等待作业调度运行为止。把作业在后备队列上等待调度的状态称为后备状态。执行状态:作业调度程序从处于后备状态的作业队列中选中一个作业调入内存,并为这建立相应的进程后,由于此时的作业已具有独立运行的资格,如果处理机空闲,便可立即开始执行,故称此时的作业是进入了运行状态。作业的运行状态又可进一步分为“就绪”、“执行”和“阻塞”三个基本状态。终止状态(完成状态):当作业(进程)的运行正常完成或异常结束时,进程便自我终止,或被迫终止,此时作业便进入终止状态。处于终止状态的作业被作业终止程序回收其作业控制块,回收已分配给它的所有资源,然后作业随之消亡。下图示出了作业的

49、状态及其转换。作业由进入状态到后备状态的转换,是由作业建立(作业注册)程序完成的;从后备状态转变为运行状态是由调度程序所引起而;作业由运行状态二、作业和进程的关系作业可被看作是用户向计算机提交任务的任务实体,例如一次计算、一个控制过程等。而进程则是计算机为了完成用户所提交的任务实体而设置的执行实体,是系统分配资源的基本单位。显然,计算机要完成一个任务实体,必须要有一个以上的执行实体。也就是说,一个作业总是由一个以上的多个进程组成的。那么作业是怎样分解为进程的呢?首先,系统必须为一个作业创建一个根进程,然后,在执行作业控制语句时,根据任务要求,系统或根进程为其创建相应的子进程,然后,为各子进程分

50、配资源和调度各子进程执行以完成作业要求的任务。作业:任务实体;进程:执行实体。2.3用户与OS的接口操作系统是用户与计算机之间的接口,用户通过操作系统来使用计算机。那么用户是如何使用操作系统的呢?换句话说,用户和操作系统之间的接口是什么呢?我们知道,计算机配置操作系统的目的之一是为了方便用户。也就是说,在操作系统的协助下,用户能够简便、灵活、安全可靠、经济有效地使用计算机系统资源来解决其问题。因此,操作系统为了提供有效的服务,它必须支持与其用户(使用计算机来运行其应用程序的人)的通信。这个通信包括双向的信息传输:用户请求系统得到特定的服务,而系统把服务的结果提供给用户。这种通信可以是直接的,例

51、如,通过交互式终端上打入和显示的对话方式来实现。它也可以是间接的,例如,在批处理方式下通过提交的作业或程序来实现与系统的通信。操作系统中负责管理这种通信的部分称为用户接口。用户接口是计算机系统与其用户之间进行交互作用和通信的通路。对绝大多数用户而言,一个计算机系统的可接受性在很大程度上取决于这个用户接口。用户接口通常是以命令或系统调用的形式呈现在用户面前,前者提供给用户在键盘终端上使用,后者则提供用户在编程时调用。分别称为程序接口和命令接口。一、程序级接口由一组系统调用组成程序接口:指用户程序和os之间的接口。这是操作系统为用户程序访问计算机资源而提供的接口,是用户程序取得操作系统服务的唯一途

52、径。亦即程序接口是操作系统为正在运行的程序提供服务并与之通信的一个设施。它供所有的用户使用;同时,也供操作系统的其它组成部分,特别是命令处理程序使用。程序接口的职责是装入并创建一个准备开始运行的程序(进程)。此外,这个接口还为程序正常或异常终止给出适当的响应。当一个程序正在执行时,程序接口接受对系统服务及资源的申请,并与操作系统的资源管理程序进行通信。这个程序接口主要由一组系统调用(SystemCall)组成,通过系统调用程序实现与操作系统的通信。系统调用:指系统为用户程序调用操作系统所提供的子程序。它是一种特殊的过程调用,这种调用通常是由特殊的机器指令实现的。除了提供对操作系统子程序的调用外

53、,这个指令还将系统转入特权方式。因此,系统调用程序被看成是一个低级的过程,只能由汇编语言直接访问。大多数用高级语言编写的程序通过子程序库来访问这些系统调用。这些子程序执行系统调用并完成其它的有关功能。总之,它与一般的函数调用不同,系统调用是通过中断方式转向相应子程序的,它工作在核心态(即特权方式),而一般函数的调用,仍仅是在用户态下的地址转移。系统调用是操作系统提供给软件开发人员的唯一接口,开发人员可利用它使用系统功能。OS核心中都有一组实现系统功能的过程(子程序),系统调用就是对上述过程的调用。用户程序陷入处理机构系统子程序图1系统调用的处理过程(1)设置系统调用号和参数,然后执行trap指

54、令。口调用号作为指令的一部分(如早期UNIX),或装入到特定寄存器里(如:DOSint21h,AH=调用号。)口参数装入到特定寄存器里,或以寄存器指针指向参数表(内存区域)。(2)人口的一般性处理。口保护CPU现场,改变CPU执行状态(处理机状态字PSW切换,地址空间表切换)口将参数取到核心空间(3)查入口跳转表,跳转到相应功能的过程恢复CPU现场,将执行结果装入适当位置(类似于参数带入),执行中断返回指令在早期的UNIX版本和MS-DOS版本中,其系统调用是用汇编语言形式提供的,因而只有在汇编语言程序中才能直接使用系统调用;而在高级语言中,往往是提供了与系统调用一一对应的库函数,因而应用程序

55、便可通过调用对应的库函数来使用相应的系统调用。例如在近年来所推出的操作系统中,如UNIXSystemV中,其系统调用是采用C语言编写的,并以函数形式提供,故在用C语言编制的应用程序中可直接使用系统调用。对于每个操作系统而言,它们所提供的系统调用的条数、具体格式以及所执行的功能都不尽相同。这正如不同型号的计算机一样,其指令系统不会完全相同,甚至差异很大。而且,即使同一操作系统的不同版本各自提供的系统调用也有所增减。通常,一个操作系统提供的系统调用有数十条乃至上百条之多,它们各自有一个统一的编号或助记符。一个操作系统提供的系统调用越多,系统的功能就越强,用户使用起来也就越方便。故系统调用是作为扩充

56、机器指令,增加系统的功能,方便用户使用而提供的。因此,在一些计算机系统中,把系统调用称为“广义指令”。但是,这组“广义指令”和指令系统提供的机器指令在性质上是不同的。机器指令是由硬件(线路)来执行的,而“广义指令”是由操作系统提供的一个或多个子程序模块(软件)来实现的。可是从用户角度来看,操作系统提供了系统调用(即广义指令)后,就好像扩大了指令系统,增强了处理机的功能。现在用户不仅可以使用硬件提供的机器指令,也可以直接使用软件(操作系统)提供的系统调用。因此,从虚拟机角度看待操作系统,系统中增添了系统调用后,呈现在用户面前的是一台功能更强、使用更方便的处理机,即它实现了处理机性能上的扩充。为了

57、区别于真实的物理处理机,我们称它为虚处理机。至于系统中提供的进程调度功能,它是实现处理机数量上的扩充。也就是说,系统可为每个创建“进程”各自分配一台虚处理机。通常把这样的处理机称为逻辑处理机。二、命令接口为了便于用户直接或间接地控制自己的作业,操作系统向用户提供了命令接口,用户可通过该接口向作业发出命令以控制作业的运行。该接口又可进一步细分为联机用户接口和脱机用户接口:脱机命令接口:该接口是为批处理作业的用户提供的,故也称为批处理用户接口。它是由一组作业控制语言JCL所组成。批处理作业的作户不能直接与自己的作业交互作用,只能委托系统代替用户对作业进行控制和干预,这里的作业控制语言JCL便是提供

58、给批处理作业用户,将所需实现的功能,委托系统代为控制的一种语言。用户用JCL把对作业需进行的控制和干预,事先写在作业说明书中,然后将作业连同作业说明书一起提供给系统。当系统调度到该作业运行时,又调用作业命令解释程序,对作业说明书上的命令,逐条解释执行。如果作业在运行过程中出现异常现象,系统也将按照作业说明书上的指示进行干预。这样,作业一直在作业说明书的控制下运行,直到遇到作业结束崐语句时,系统便停止该作业的运行。联机命令接口:联机命令接口也称交互式命令接口。该接口是为联机用户提供的,它由一组键盘操作命令(终端处理程序)及命令解释程序(命令处理程序)所组成。用户在终端或控制台上每键入一条键盘命令

59、后,系统便立即转入命令解释程序,对该命令进行解释并执行该命令。在完成指定功能后,控制又返回到终端或控制台上,等待用户键入下一条命令。这样,用户可通过先后键入不同的命令,来实现对作业的控制,如此反复,直至作业完成。在微型机系统中,通常把这组键盘命令分成两类:(1)内部命令。这类命令的特点是程序短小,使用频繁。因此,它们在系统初启时就被引导到主存而且常驻于主存中。(2)外部命令。这类命令的程序较长,且各自独立地作为一个文件而驻留在磁盘上,只是在需要调用它们时,才从磁盘调入主存执行。在MS-DOS中,该程序即为COMMAND.COM,在UNIX中即为shell。第三章进程管理为了描述程序在并发执行时

60、对系统资源的共享,我们需要一个描述程序执行时动态特征的概念,这就是进程或线程。在本章中,我们将讨论进程的概念和进程间的关系。进程是操作系统中最重要的概念之一。在现代计算机系统中,进程不仅是最基本的并发执行单位,而且也是分配资源、交换信息的基本单位。而进程管理则是操作系统中最重要且最复杂的管理。31(进程概念的引入)前趋图和程序的执行一、程序的顺序执行与特征1程序的顺序执行一个程序通常可分成若干个程序段,它们必须按照某种先后次序执行,仅当前一操作执行完后,才能执行后继操作。例如:在进行计算时,总是先进行输入操作,然后进行计算,最后将结果打印出来。如果我们用结点I表示输入操作,结点c表示计算操作,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论