《操作系统教程课件:第三章作业管理》由会员分享,可在线阅读,更多相关《操作系统教程课件:第三章作业管理(81页珍藏版)》请在金锄头文库上搜索。
1、机械工业出版社机械工业出版社第三章第三章作业管理作业管理n 3.1 作业管理概述作业管理概述n 3.2 批处理作业的管理批处理作业的管理n 3.3 交互式作业的管理交互式作业的管理n 3.4 操作系统与用户的接口操作系统与用户的接口n 3.5 本章小节本章小节操作系统教程课件第1页机械工业出版社机械工业出版社3.4操作系统与用户的接口操作系统与用户的接口n3.4.1命令接口命令接口(作业级接口作业级接口)n3.4.2程序接口程序接口n3.4.3图形接口图形接口操作系统教程课件第2页机械工业出版社机械工业出版社3.1作业管理概述作业管理概述n1.作业作业n把把用用户户在在一一次次解解题题过过程程
2、中中要要求求计计算算机机所所做做工工作作的的集集合合称为一个作业。称为一个作业。n在计算机上运行用户作业时,通常要经历以下在计算机上运行用户作业时,通常要经历以下4步:步:n(1)编编辑辑,即即采采用用某某种种高高级级语语言言按按一一定定算算法法编编写写源源程程序,将源程序通过某种手段送入计算机内;序,将源程序通过某种手段送入计算机内;n(2)编编译译,即即调调用用上上述述高高级级语语言言的的编编译译程程序序,对对源源程程序进行编译,产生目标代码程序;序进行编译,产生目标代码程序;n(3)链链接接,即即将将目目标标代代码码及及调调用用的的各各种种库库代代码码连连接接装装配成一个可执行代码;配成
3、一个可执行代码;n(4)运运行行,即即提提供供程程序序运运行行时时所所需需数数据据,运运行行程程序序并并产生计算结果。产生计算结果。操作系统教程课件第3页机械工业出版社机械工业出版社n2.作业步作业步n任何一个作业都要经过若干加工步骤任何一个作业都要经过若干加工步骤才能得到结果,作业的每一个加工步骤才能得到结果,作业的每一个加工步骤称为一个称为一个“作业步作业步”。每个作业步都对。每个作业步都对应一个程序的执行,各作业步之间总是应一个程序的执行,各作业步之间总是相互联系的,并在逻辑上是顺序执行的,相互联系的,并在逻辑上是顺序执行的,前一个作业步的输出信息往往作为后一前一个作业步的输出信息往往作
4、为后一个作业步的输入,如个作业步的输入,如图图31所示。实际所示。实际上每个作业所经历的加工步骤是可以不上每个作业所经历的加工步骤是可以不同的。同的。3.1作业管理概述作业管理概述操作系统教程课件第4页机械工业出版社机械工业出版社3.1作业管理概述作业管理概述图31作业控制过程操作系统教程课件第5页机械工业出版社机械工业出版社3.1作业管理概述作业管理概述 3.3.作业控制方式作业控制方式 指指用用户户根根据据操操作作系系统统提提供供的的手手段段来来说说明明作作业业加加工工步步骤骤的方式。的方式。 (1)(1)批处理控制方式批处理控制方式 用用户户使使用用 “作作业业控控制制语语言言”对对作作
5、业业执执行行的的控控制制意意图图编编写写成成一一份份“作作业业控控制制说说明明书书”,连连同同该该作作业业的的源源程程序序和和初初始始数数据据一一同同提提交交给给计计算算机机系系统统,操操作作系系统统将将按按照照用用户户说说明明的控制意图来控制作业的执行。的控制意图来控制作业的执行。 采采用用该该方方式式对对作作业业进进行行控控制制时时,其其控控制制意意图图是是事事先先在在脱脱机机情情况况下下说说明明的的,且且作作业业完完全全由由操操作作系系统统自自动动控控制制执执行行。因此,该控制方式又称自动控制方式或脱机控制方式。因此,该控制方式又称自动控制方式或脱机控制方式。 采采用用该该方方式式的的作
6、作业业称称“批批处处理理作作业业”,又又称称“脱脱机机作作业业”。 操作系统教程课件第6页机械工业出版社机械工业出版社3.1作业管理概述作业管理概述 (2)(2)交互式控制方式交互式控制方式 用户使用操作系统提供的用户使用操作系统提供的“操作控制命令操作控制命令”来表来表达对作业执行的控制意图。执行时,用户逐条输入命达对作业执行的控制意图。执行时,用户逐条输入命令,操作系统每接到一条命令,就根据命令的要求控令,操作系统每接到一条命令,就根据命令的要求控制作业的执行,直至作业执行结束。制作业的执行,直至作业执行结束。 采用交互方式时,在作业执行过程中操作系统与采用交互方式时,在作业执行过程中操作
7、系统与用户之间需不断交互信息,用户必须在联机方式下通用户之间需不断交互信息,用户必须在联机方式下通过对计算机的直接操作来控制作业的执行。因此,交过对计算机的直接操作来控制作业的执行。因此,交互式控制方式又称联机控制方式。互式控制方式又称联机控制方式。 采用交互式控制方式的作业称为采用交互式控制方式的作业称为“交互式作业交互式作业”,又称,又称“联机作业联机作业”,对于来自终端的作业也称为,对于来自终端的作业也称为“终端作业终端作业”。操作系统教程课件第7页机械工业出版社机械工业出版社3.2批处理作业的管理批处理作业的管理n3.2.1 3.2.1 批处理作业输入批处理作业输入n3.2.2 3.2
8、.2 批处理作业的调度批处理作业的调度n3.2.3 3.2.3 作业调度算法作业调度算法n3.2.4 3.2.4 批处理作业的控制批处理作业的控制操作系统教程课件第8页机械工业出版社机械工业出版社3.2批处理作业的管理批处理作业的管理n 根据作业进入系统的过程,可将作业管根据作业进入系统的过程,可将作业管理功能分成三部分:理功能分成三部分:n (1)(1)作作业业输输入入:把把作作业业装装入入辅辅存存输输入入井井中中,并并按按照照进进入入的的先先后后顺顺序序形形成成后后备备作作业业队队列列的的过程。过程。 n (2)(2)作作业业调调度度:按按某某种种调调度度策策略略选选择择后后备备作业队列中
9、的若干作业装入主存运行的过程。作业队列中的若干作业装入主存运行的过程。n (3)(3)作业控制:在操作系统控制下,用户作业控制:在操作系统控制下,用户如何组织他的作业并控制作业的运行。如何组织他的作业并控制作业的运行。操作系统教程课件第9页机械工业出版社机械工业出版社3.2.1批处理作业输入批处理作业输入n 用用户户根根据据自自己己的的实实际际要要求求组组织织批批处处理理作作业业,并并把把准准备备好好的的作作业业提提交交给给计计算算机机系系统统,操操作作系系统统完完成成将该批处理作业向系统成批输入。将该批处理作业向系统成批输入。 n1 1作业控制语言作业控制语言n 每每个个批批处处理理作作业业
10、都都包包括括源源程程序序、初初始始数数据据和和作作业业控控制制说说明明书书三三部部分分,其其中中说说明明书书是是用用作作业业控控制制语语言言书书写写的的,刻刻画画了了用用户户对对作作业业的的基基本本情情况况描描述述和和资资源源需需求求描描述述,规规定定了了用用户户对对作作业业执执行行的的控控制制要要求求。作作业业基基本本情情况况描描述述含含用用户户名名、作作业业名名、使使用用的的编编程程语语言言名名、允允许许的的最最大大处处理理时时间间等等;资资源源需需求求描描述述含含需需求求的的主主存存大大小小、外外设设种种类类及及台台数数、处处理理器器优优先先级级、所所需需运运行行时时间间、需需求求库库函
11、函数数等等;作作业业执执行行的的控控制制要要求求包包括括作作业业的的控控制制方方式式、作作业业步步的的执执行行顺顺序序、作作业业的异常处理等。的异常处理等。操作系统教程课件第10页机械工业出版社机械工业出版社n 作作业业控控制制语语言言JCLJCL由由若若干干作作业业控控制制语语句句组组成成,每每个个控控制制语语句句包包含含了了表表示示特特征征的的关关键键字字、指指示示控控制制要要求求的的若若干干参参数数。在在脱脱机机方方式式下下,系系统统提提供供JCLJCL将将作作业业的的控控制制要要求求编编写写成成作作业业控控制制说说明明书书的的形形式式,并并通通过过作作业业控控制制说说明书对作业实施运行
12、控制,其主要功能如下:明书对作业实施运行控制,其主要功能如下:n (1)(1)作业的提交。作业的提交。n (2)(2)控制作业和作业步的执行。控制作业和作业步的执行。n (3)(3)各种软硬件资源的使用。各种软硬件资源的使用。操作系统教程课件第11页机械工业出版社机械工业出版社3.2.1批处理作业输入批处理作业输入n2 2作业控制块作业控制块n 作作业业控控制制块块JCBJCB是是批批处处理理作作业业存存在在的的标标志志,其其中中存存有有系系统统对对于于作作业业进进行行管管理理所所需需要要的的全全部部信信息息,它它们们被被保保存存于于辅辅存存存存储储区区域域中中。 JCBJCB中中所所包包含含
13、的的信信息息数数量量及及内内容容因因系系统统而而异,但一般应包含:异,但一般应包含:n 作作业业名名、作作业业状状态态、作作业业类类别别、作作业业优优先先级级、作作业业控控制制方方式式、资资源源需需求求量量、进进入入系系统统时时间间、开开始始运运行行时时间间、运运行行时时间间、作作业业完完成成时时间间和和所所需需主主存存地地址址及及外外设设种种类类及及台台数数等。等。n (1)(1)作业控制块的建立作业控制块的建立n 当当作作业业开开始始由由输输入入设设备备输输入入到到辅辅存存的的输输入入井井时时, ,系系统统输输入入程程序序即即为为其其建建立立一一个个JCB JCB ,并并对对其其进进行行初
14、初始始化化。初初始始化化的的大大部部分分信信息息取取自自作作业业控控制制说说明明书书,其其它它的的部部分分信信息息如如作作业业进进入入系系统统时时间间和和作作业业开开始始运运行行时时间间等等则则由由资资源源管管理理器器给给出。出。操作系统教程课件第12页机械工业出版社机械工业出版社n (2)(2)作业控制块的使用作业控制块的使用n 需需要要访访问问JCBJCB的的程程序序主主要要有有系系统统输输入入程程序序、作作业业调调度度程程序序、作作业业控控制制程程序和系统输出程序等。序和系统输出程序等。n (3)(3)作业控制块的撤销作业控制块的撤销n 当作业完成后,其当作业完成后,其JCBJCB由系统
15、输出由系统输出程序撤销,程序撤销, 随即其作业也撤销。随即其作业也撤销。操作系统教程课件第13页机械工业出版社机械工业出版社3.2.1批处理作业输入批处理作业输入n3 3作业表作业表n 每个作业都有一个每个作业都有一个JCBJCB,所有作业,所有作业的的JCBJCB就构成了一个作业表。作业表存就构成了一个作业表。作业表存放在辅存固定区域中,长度是固定的,放在辅存固定区域中,长度是固定的,它限制了系统所能同时容纳的作业数量。它限制了系统所能同时容纳的作业数量。系统输入程序、作业调度程序、系统输系统输入程序、作业调度程序、系统输出程序都需要访问作业表,因而存在互出程序都需要访问作业表,因而存在互斥
16、问题。斥问题。操作系统教程课件第14页机械工业出版社机械工业出版社3.2.1批处理作业输入批处理作业输入n4 4批处理作业的建立批处理作业的建立n 作作业业建建立立的的前前提提条条件件是是首首先先向向系系统统申申请请获获得得一一个个空空的的作作业业表表项项和和足足够够的的输输入入井井空空间间。建建立立时时,一一个个作作业业必必须须将将作作业业所所包包括括的的全全部部程程序序和和数数据据输输入入到到辅辅存存中中保保存存起起来来,并并建建立立该该作作业业对对应应的的JCB JCB 。因因此此,作作业业的的建建立立过过程程包包括括两两个个阶段:建立阶段:建立JCBJCB阶段和作业输入阶段。阶段和作业
17、输入阶段。n (1) (1) 建立建立JCBJCBn 建建立立JCBJCB的的过过程程就就是是申申请请和和填填写写一一张张含含空空白白表表项项的的作作业业表表的的过过程程。由由于于操操作作系系统统所所允允许许的的作作业业表表的的长长度度是是固固定定的的,即即作作业业表表中中存存放放的的JCBJCB个个数数是是确确定定的的,因因此此当当作作业业表表中中无无空空白白表表项项时时,系系统统将将无无法法为为用用户户建建立立作作业业,作作业业建建立立将将会会失失败。败。操作系统教程课件第15页机械工业出版社机械工业出版社n(2)(2)作业的输入作业的输入n 将将作作业业的的源源程程序序、初初始始数数据据
18、和和作作业业控控制制说说明明书书通通过过输输入入设设备备输输入入到到辅辅存存并并完完成成初初始始化化的的过过程程。作作业业输输入入时时,操操作作系系统统通通过过“预预输输入入命命令令”启启动动SPOOLingSPOOLing系系统统中中的的“预预输输入入程程序序”工工作作,就就可可把把作作业业信信息息存存放放到到“输输入入井井”中中。预预输输入入程程序序根根据据作作业业控控制制说说明明书书中中的的作作业业标标识识语语句句区区分分作作业业,把把作作业业登登记记到到作作业业表表中中,并并把把作作业业中中的的各各个个文文件件存存到到“输输入入井井”中中。被被输输入入的的作作业业处处于于“后后备备状状
19、态态”,并并在在“输输入入井井”中中等等待待处处理理。采采用用SPOOLingSPOOLing系系统统的的输输入入方方式式时时,由由于于辅辅存存中中的的输输入入井井空空间间大大小小有有限限,若若输输入入井井中中无无足足够够大大小小的的空空间间存存放放该该作作业业,则则作作业业建建立立仍仍然会失败。然会失败。操作系统教程课件第16页机械工业出版社机械工业出版社3.2.2批处理作业的调度批处理作业的调度n1 1作业调度程序作业调度程序n 作作业业调调度度不不仅仅要要按按某某种种调调度度算算法法从从后后备备作作业业队队列列中中选选择择作作业业装装入入主主存存,还还要要为为选选中中的的作作业业分分配配
20、所所需需资资源源,为为作作业业进进入入CPUCPU运运行行作作好好准准备备。完完成成作作业业调调度度功功能能的的控控制制程程序序称称为为作作业调度程序。通常作业调度程序要完成下述工作:业调度程序。通常作业调度程序要完成下述工作:n (1)(1)按照某种调度算法从后备作业队列中选取作业。按照某种调度算法从后备作业队列中选取作业。n (2)(2)为被选中的作业分配主存和外设资源。为被选中的作业分配主存和外设资源。 n (3)(3)为为选选中中的的作作业业开开始始运运行行做做好好一一切切准准备备工工作作。这这种种准准备备工工作作包包括括:修修改改作作业业状状态态为为运运行行态态,为为运运行行作作业业
21、创创建建进进程程,构造和填写作业运行时所需的表格,如作业表等。构造和填写作业运行时所需的表格,如作业表等。n (4)(4)在在作作业业运运行行完完成成或或由由于于某某种种原原因因需需要要撤撤离离系系统统时时,还还要要完完成成作作业业的的善善后后处处理理工工作作。包包括括回回收收分分给给它它的的全全部部资资源源,为为输输出出必必要要信信息息编编制制输输出出文文件件,撤撤销销该该作作业业的的全全部部进进程程和和作作业控制块等,最终将其从现行作业队列中删除。业控制块等,最终将其从现行作业队列中删除。操作系统教程课件第17页机械工业出版社机械工业出版社3.2.2批处理作业的调度批处理作业的调度n2 2
22、作业状态作业状态n 作作业业从从提提交交到到系系统统直直到到离离开开系系统统前前的的整整个个活活动动可可划划分分为为若若干干阶阶段段。作业在每个阶段所处的状态称为作业的状态。通常作业的状态分成四种:作业在每个阶段所处的状态称为作业的状态。通常作业的状态分成四种:n (1)(1)提提交交状状态态:一一个个作作业业经经过过输输入入设设备备进进入入到到输输入入井井 ,系系统统为为其其建建立作业控制块。这时的作业处于提交状态。立作业控制块。这时的作业处于提交状态。n (2)(2)后后备备状状态态:系系统统将将已已进进入入输输入入井井的的作作业业插插入入到到输输入入井井后后备备队队列列中,等待作业调度程
23、序的调度运行,这时的作业处于后备状态。中,等待作业调度程序的调度运行,这时的作业处于后备状态。n (3)(3)运运行行状状态态:处处于于后后备备状状态态的的作作业业被被作作业业调调度度程程序序选选中中进进入入主主存存,系统就为它分配必要的资源,建立相应的进程,这时处于运行状态。系统就为它分配必要的资源,建立相应的进程,这时处于运行状态。n (4)(4)完完成成状状态态:作作业业完完成成其其全全部部运运行行并并释释放放其其所所占占全全部部资资源源而而正正常常结结束束或或异异常常终终止止时时,此此时时就就处处在在完完成成状状态态。此此时时作作业业调调度度程程序序对对该该作作业业进行一系列善后处理,
24、并退出系统。进行一系列善后处理,并退出系统。n 作作业业状状态态的的转转换换是是一一个个在在其其生生命命周周期期中中的的连连续续过过程程,对对应应的的状状态态转转换图换图如如图图32所示。所示。操作系统教程课件第18页机械工业出版社机械工业出版社缓输出程序缓输出初始数据提交状态完成状态后备状态运行状态 初始数据源程序输出设备作业控制说明书输入井运行等待就绪输出井输入设备作业调度预输入作业调度程序预输入程序图32 状态转换图3.2.2批处理作业的调度批处理作业的调度操作系统教程课件第19页机械工业出版社机械工业出版社3.2.2批处理作业的调度批处理作业的调度n3 3作业调度的影响因素作业调度的影
25、响因素n 对对于于每每个个用用户户来来说说,都都希希望望自自己己的的作作业业尽尽快快执执行行,但但就就计计算算机机系系统统而而言言,既既要要考考虑虑用用户户的的需需求求又又要要有有利利于于整整个个系系统统效效率率的的提提高高,因因此此作作业业调调度度中中应应该该综综合考虑多方面的因素。主要考虑的因素有:合考虑多方面的因素。主要考虑的因素有:n (1)(1)公平性公平性 :公平对待每个用户:公平对待每个用户, ,让用户满意,不能无故或无限制地拖延让用户满意,不能无故或无限制地拖延某一用户作业的执行。某一用户作业的执行。 n (2)(2)均衡使用资源:使同时装入主存的作业在执行时尽可能利用系统各种
26、均衡使用资源:使同时装入主存的作业在执行时尽可能利用系统各种不同资源,极大提高资源的使用率。因此应将计算型和不同资源,极大提高资源的使用率。因此应将计算型和I/OI/O型两种作业合理搭型两种作业合理搭配,使得系统各种资源发挥最佳效益。配,使得系统各种资源发挥最佳效益。n (3) (3) 提高系统吞吐量提高系统吞吐量 :通过缩短每个作业的周转时间,实现单位时间内:通过缩短每个作业的周转时间,实现单位时间内尽可能为更多作业服务,从而提高计算机系统的吞吐能力。尽可能为更多作业服务,从而提高计算机系统的吞吐能力。n (4)(4)平衡系统和用户需求:每个用户都希望自己的作业立即投入运行并很平衡系统和用户
27、需求:每个用户都希望自己的作业立即投入运行并很快获得运行结果,但系统必需考虑系统的整体性能的提高,有时却难以满足用快获得运行结果,但系统必需考虑系统的整体性能的提高,有时却难以满足用户需求。户需求。 n 上述这些因素可能不能兼顾,应根据系统的设计目标来决定优先考虑的调上述这些因素可能不能兼顾,应根据系统的设计目标来决定优先考虑的调度因素。度因素。操作系统教程课件第20页机械工业出版社机械工业出版社3.2.2批处理作业的调度批处理作业的调度n4 4作业调度的性能指标作业调度的性能指标n (1)(1)CPUCPU利用率:利用率:CPUCPU利用率是利用率是CPUCPU的有效运行时间与的有效运行时间
28、与总的运行时间之比。因此,比值越大,其总的运行时间之比。因此,比值越大,其CPUCPU利用率越高。利用率越高。n (2)(2)吞吐能力:吞吐能力是指单位时间内完成作业吞吐能力:吞吐能力是指单位时间内完成作业的数量。因此,完成的数量越多,其吞吐能力越强。的数量。因此,完成的数量越多,其吞吐能力越强。n (3)(3)周转时间:作业的周转时间是指从作业被提交周转时间:作业的周转时间是指从作业被提交进入输入井开始,到作业执行完成的这段时间间隔,应包括进入输入井开始,到作业执行完成的这段时间间隔,应包括四个部分:等待作业调度的时间,等待进程调度的时间,占四个部分:等待作业调度的时间,等待进程调度的时间,
29、占据据CPUCPU执行的时间,及进程等待执行的时间,及进程等待I/OI/O操作完成的时间。设操作完成的时间。设TcTci i为作业为作业i i的完成时间,的完成时间,TsTsi i为作业进入输入井的时间,则作业为作业进入输入井的时间,则作业i i的周转时间定义为:的周转时间定义为:T Ti i= = TcTci i - -TsTsi in 很显然,作业的周转时间越短,作业越早被调度并运行。很显然,作业的周转时间越短,作业越早被调度并运行。n (4)(4)平均周转时间平均周转时间T T:指所有作业周转时间的平均值。长:指所有作业周转时间的平均值。长作业对作业对T T值的影响大,而短作业影响小。很
30、显然,对系统来值的影响大,而短作业影响小。很显然,对系统来说,希望进入系统的作业平均周转时间越小越好。说,希望进入系统的作业平均周转时间越小越好。操作系统教程课件第21页机械工业出版社机械工业出版社3.2.2批处理作业的调度批处理作业的调度n (5) (5) 平均带权周转时间平均带权周转时间: :由于系统中的短作业由于系统中的短作业所占比例更大,为了增加短作业对所占比例更大,为了增加短作业对T T值的影响,引值的影响,引入平均带权周转时间的概念。若作业入平均带权周转时间的概念。若作业i i的带权周转的带权周转时间定义为作业的周转时间与作业的运行时间之比,时间定义为作业的周转时间与作业的运行时间
31、之比,即为:即为:W Wi i=T=Ti i/tr/tri in 其中其中trtri i为作业为作业i i占据占据CPUCPU的运行时间的运行时间, ,则作业平则作业平均带权周转时间均带权周转时间W W定义为它们平均值。定义为它们平均值。n 批处理系统设计的目标是设法减少作业的平均批处理系统设计的目标是设法减少作业的平均周转时间及平均带权周转时间,设法提高系统的吞周转时间及平均带权周转时间,设法提高系统的吞吐量,并兼顾用户的容忍程度,从而使系统运行效吐量,并兼顾用户的容忍程度,从而使系统运行效率最高。一般认为率最高。一般认为T T和和W W越小,系统对作业的吞吐量越小,系统对作业的吞吐量越大,
32、系统的性能越高。越大,系统的性能越高。操作系统教程课件第22页机械工业出版社机械工业出版社3.2.2批处理作业的调度批处理作业的调度n5 5批处理作业调度阶段批处理作业调度阶段n对对于于批批处处理理作作业业而而言言,要要经经历历作作业业调调度度和和进进程程调调度度才才能能获获得得处处理理器器;对对于于交交互互式式作作业业则则一一般般只只需需进进行行进进程程调调度度即即可可。因因此此,对对于于批批处处理理作作业业的的调调度度,系系统统必必须须先先进进行行作作业调度创建好进程,才能进行进程调度。业调度创建好进程,才能进行进程调度。n作作业业调调度度是是批批处处理理作作业业运运行行的的前前提提,称称
33、高高级级调调度度;进进程程调调度度是是作作业业调调度度的的后后续续,称称低低级级调调度度。由由于于作作业业调调度度往往往往发发生生在在一一个个批批处处理理作作业业执执行行完完毕毕,另另一一个个需需要要调调入入主主存存时时,因因此此作作业业调调度度周周期期较较长长且且速速度度慢慢、花花费费时时间间长长;而而进进程程调调度度频频率率快快、速速度度快快且且花花费费时时间间短短。此此外外,在在分分时时系系统统或或具具有有虚虚拟拟存存储储器器的的操操作作系系统统中中,为为了了提提高高内内存存利利用用率率和和作作业业吞吞吐吐量量,引引进进了了中中级级调调度度。批批处处理理操操作作系系统统多多级级调调度度模
34、型图如图模型图如图3-3所示。所示。操作系统教程课件第23页机械工业出版社机械工业出版社3.2.2批处理作业的调度批处理作业的调度图3-3批处理操作系统多级调度模型操作系统教程课件第24页机械工业出版社机械工业出版社n(1)高级调度高级调度n高级调度又称作业调度。在多道批处理操作系高级调度又称作业调度。在多道批处理操作系统中,作业是用户要求计算机系统完成的一项相对统中,作业是用户要求计算机系统完成的一项相对独立的工作,通过预输入过程提交的作业被输入到独立的工作,通过预输入过程提交的作业被输入到磁盘输入井中,并保存在一个批处理后备作业队列磁盘输入井中,并保存在一个批处理后备作业队列中。高级调度将
35、按照系统预定的作业调度算法,决中。高级调度将按照系统预定的作业调度算法,决定把后备队列作业中的部分满足其资源要求的作业定把后备队列作业中的部分满足其资源要求的作业调入主存,为装入作业创建新的进程,并分配所需调入主存,为装入作业创建新的进程,并分配所需资源,为作业做好运行前的准备工作并启动它们运资源,为作业做好运行前的准备工作并启动它们运行,当作业完成后还为它做好善后工作。在批处理行,当作业完成后还为它做好善后工作。在批处理操作系统中,作业首先进入系统在辅存上的后备作操作系统中,作业首先进入系统在辅存上的后备作业队列等候调度,因此,作业调度是必须的,它执业队列等候调度,因此,作业调度是必须的,它
36、执行的频率较低,并和到达系统的作业的数量与速率行的频率较低,并和到达系统的作业的数量与速率有关。有关。3.2.2批处理作业的调度批处理作业的调度操作系统教程课件第25页机械工业出版社机械工业出版社n(2)低级调度低级调度n该调度是按某种原则决定就绪队列中的哪个进程能获得该调度是按某种原则决定就绪队列中的哪个进程能获得处理器运行。低级调度中执行分配处理器运行。低级调度中执行分配CPU的程序称分派程序,的程序称分派程序,它是操作系统最核心部分,执行十分频繁。低级调度策略优它是操作系统最核心部分,执行十分频繁。低级调度策略优劣直接影响整个系统性能,因而,这部分代码要求精心设计,劣直接影响整个系统性能
37、,因而,这部分代码要求精心设计,并常驻内存。有两类低级调度方式:并常驻内存。有两类低级调度方式:n剥夺方式:当一个进程正在执行,若另有更高优先级或剥夺方式:当一个进程正在执行,若另有更高优先级或紧迫的进程产生,则立即暂停正在执行的进程,把处理器分紧迫的进程产生,则立即暂停正在执行的进程,把处理器分配给更紧迫的进程使用。配给更紧迫的进程使用。n非剥夺方式:一旦某个进程开始执行后便不再出让处理非剥夺方式:一旦某个进程开始执行后便不再出让处理器,除非该进程运行结束或发生了某个事件不能继续执行。器,除非该进程运行结束或发生了某个事件不能继续执行。3.2.2批处理作业的调度批处理作业的调度操作系统教程课
38、件第26页机械工业出版社机械工业出版社n所以,高级调度选中一个作业且把它装所以,高级调度选中一个作业且把它装入主存时,就应为该作业创建一个进程,若入主存时,就应为该作业创建一个进程,若有多个作业被装入主存,则应同时存在多个有多个作业被装入主存,则应同时存在多个进程。这些新建进程的初始状态为就绪状态,进程。这些新建进程的初始状态为就绪状态,然后由低级调度来选择当前可占用处理器的然后由低级调度来选择当前可占用处理器的就绪进程,进程运行中由于某种原因状态发就绪进程,进程运行中由于某种原因状态发生变化,当它让出处理器时,低级调度就再生变化,当它让出处理器时,低级调度就再选另一个作业的就绪进程去运行。所
39、以只有选另一个作业的就绪进程去运行。所以只有作业调度与进程调度相互配合才能实现多道作业调度与进程调度相互配合才能实现多道作业的并发执行。作业的并发执行。操作系统教程课件第27页机械工业出版社机械工业出版社n(3)中级调度中级调度n中级调度又称平衡负载调度。高级调度完成作业装入主中级调度又称平衡负载调度。高级调度完成作业装入主存并创建作业进程,低级调度选择当前可占用处理器的就绪存并创建作业进程,低级调度选择当前可占用处理器的就绪进程,中级调度则决定主存中所能容纳的进程个数。这些进进程,中级调度则决定主存中所能容纳的进程个数。这些进程将允许参与竞争处理器和有关资源,有些暂时不能运行的程将允许参与竞
40、争处理器和有关资源,有些暂时不能运行的进程被调出主存并处于挂起状态;当挂起进程具备了运行条进程被调出主存并处于挂起状态;当挂起进程具备了运行条件,且主存又有空闲区域时,再由中级调度决定把一部分这件,且主存又有空闲区域时,再由中级调度决定把一部分这样的进程重新调回主存工作。样的进程重新调回主存工作。n因此,中级调度根据存储资源量和进程的当前状态来决因此,中级调度根据存储资源量和进程的当前状态来决定辅存和主存中的进程的对换,使用的方法是通过把一些进定辅存和主存中的进程的对换,使用的方法是通过把一些进程换出主存,使之进入程换出主存,使之进入“挂起挂起”状态,不参与低级调度,起状态,不参与低级调度,起
41、到短期平滑和调整系统负荷的作用。到短期平滑和调整系统负荷的作用。n图图3-4给出了批处理作业三级调度层次关系。图中作业给出了批处理作业三级调度层次关系。图中作业状态用矩形框标识,进程状态用椭圆框标识,箭头标识状态状态用矩形框标识,进程状态用椭圆框标识,箭头标识状态的变更过程。的变更过程。3.2.2批处理作业的调度批处理作业的调度操作系统教程课件第28页机械工业出版社机械工业出版社3.2.2批处理作业的调度批处理作业的调度操作系统教程课件第29页机械工业出版社机械工业出版社n从图中可看出:当高级调度发生在作业装入时,从图中可看出:当高级调度发生在作业装入时,作业的状态由后备状态变更为执行状态,该
42、调度过作业的状态由后备状态变更为执行状态,该调度过程决定一个进程能否被创建;或者是创建后能否被程决定一个进程能否被创建;或者是创建后能否被置成就绪状态并参与竞争处理器资源获得运行;或置成就绪状态并参与竞争处理器资源获得运行;或者当高级调度发生在进程终止运行时,作业的状态者当高级调度发生在进程终止运行时,作业的状态由执行状态变更为完成状态,并对该作业进行一系由执行状态变更为完成状态,并对该作业进行一系列善后处理,然后退出系统;正常中级调度反映到列善后处理,然后退出系统;正常中级调度反映到进程状态上就是挂起和解除挂起,它根据系统的当进程状态上就是挂起和解除挂起,它根据系统的当前负荷情况决定停留在主
43、存中的进程数;低级调度前负荷情况决定停留在主存中的进程数;低级调度则是决定哪一个就绪进程占有则是决定哪一个就绪进程占有CPU运行。此外,高运行。此外,高级调度涉及的范围为粗线实体框部分,中级调度涉级调度涉及的范围为粗线实体框部分,中级调度涉及的范围为细线实体框部分,低级调度涉及的范围及的范围为细线实体框部分,低级调度涉及的范围为细线虚体框部分。为细线虚体框部分。3.2.2批处理作业的调度批处理作业的调度操作系统教程课件第30页机械工业出版社机械工业出版社3.2.3作作业调业调度算法度算法n 作业调度算法是指依照某种原则或策略从后备作业调度算法是指依照某种原则或策略从后备作业队列中选取作业的方法
44、。一个作业调度算法的作业队列中选取作业的方法。一个作业调度算法的选取是与它的系统设计目标相一致的。理想的作业选取是与它的系统设计目标相一致的。理想的作业调度算法既能提高系统效率,又能使进入系统的作调度算法既能提高系统效率,又能使进入系统的作业及时得到计算结果。业及时得到计算结果。n 设计计算机系统时应根据系统的设计目标来决设计计算机系统时应根据系统的设计目标来决定采用的调度算法,目标不同,选择调度算法的侧定采用的调度算法,目标不同,选择调度算法的侧重点也有所不同,但选择任何一种调度算法都必需重点也有所不同,但选择任何一种调度算法都必需遵循一个必要条件,即系统所有的尚未分配的资源遵循一个必要条件
45、,即系统所有的尚未分配的资源可以满足被选作业的资源要求。下面介绍目前常用可以满足被选作业的资源要求。下面介绍目前常用的一些作业调度算法:的一些作业调度算法: 操作系统教程课件第31页机械工业出版社机械工业出版社3.2.3作作业调业调度算法度算法n1 1先来先服务算法先来先服务算法FCFSFCFSn FCFS FCFS是一种较简单的作业调度算法,即每次调度都是是一种较简单的作业调度算法,即每次调度都是按照作业进入按照作业进入“输入井输入井”后备作业队列的先后次序来挑选后备作业队列的先后次序来挑选作业,优先将最先进入队列的作业调入主存,分配所需资作业,优先将最先进入队列的作业调入主存,分配所需资源
46、,创建相应的进程,放入进程就绪队列准备运行。但要源,创建相应的进程,放入进程就绪队列准备运行。但要注意,不是先进入后备作业队列的作业就一定被先选中,注意,不是先进入后备作业队列的作业就一定被先选中,这要根据资源的分配情况来决定。这要根据资源的分配情况来决定。nFCFS算法是一种非剥夺式调度算法,容易实现,体算法是一种非剥夺式调度算法,容易实现,体现了公平,但效率不高,只顾及到作业等候时间,而没考现了公平,但效率不高,只顾及到作业等候时间,而没考虑作业要求服务时间的长短,虑作业要求服务时间的长短,可能使计算时间短的作业长可能使计算时间短的作业长期等待,从而平均周转时间变长,系统的吞吐能力降低,期
47、等待,从而平均周转时间变长,系统的吞吐能力降低,系统效率也降低。系统效率也降低。n 从表从表3 33 3中可以看出,中可以看出,显显然先来先服然先来先服务调务调度算法利于度算法利于长长作作业业,不利于短作,不利于短作业业,而大多数的作,而大多数的作业业是是I/OI/O繁忙的短作繁忙的短作业业。所以先来先服。所以先来先服务务算法作算法作为为主主调调度算法是不常用的。度算法是不常用的。 操作系统教程课件第32页机械工业出版社机械工业出版社3.2.3作作业调业调度算法度算法操作系统教程课件第33页机械工业出版社机械工业出版社3.2.3作作业调业调度算法度算法n2 2短作业优先算法短作业优先算法SJF
48、SJFn SJF SJF以作业运行时间长短作为优先级进行调度,总是从以作业运行时间长短作为优先级进行调度,总是从后备作业队列中选取运行时间最短的作业调入主存运行。后备作业队列中选取运行时间最短的作业调入主存运行。采用该算法时,要求作业需要运行的时间预估,并在作业采用该算法时,要求作业需要运行的时间预估,并在作业控制说明书中加以说明。作业调度时依据在输入井中的作控制说明书中加以说明。作业调度时依据在输入井中的作业提出的运行时间为标准,优先选择运行时间短且资源能业提出的运行时间为标准,优先选择运行时间短且资源能得到满足的作业。得到满足的作业。n SJFSJF是一种非剥夺式调度算法,克服了是一种非剥
49、夺式调度算法,克服了FCFSFCFS偏爱长作业偏爱长作业的缺点,易于实现,可照顾占作业总数绝大部分的短作业,的缺点,易于实现,可照顾占作业总数绝大部分的短作业,使它们能比长作业优先调度执行。实现时,后备作业队列使它们能比长作业优先调度执行。实现时,后备作业队列按作业相应优先数由高到低顺序排列即可。按作业相应优先数由高到低顺序排列即可。n 从表从表3 34 4中可以看出,该调度算法的性能较好,它强中可以看出,该调度算法的性能较好,它强调了资源的充分利用,有效地降低了作业的平均等待时间,调了资源的充分利用,有效地降低了作业的平均等待时间,使得单位时间内处理作业的个数最大,保证了作业吞吐量使得单位时
50、间内处理作业的个数最大,保证了作业吞吐量最大。但应注意下列几个问题:最大。但应注意下列几个问题:操作系统教程课件第34页机械工业出版社机械工业出版社n (1)(1)该该算算法法以以预预估估的的运运行行时时间间为为标标准准,可可能能出出现现故故意意把把运运行行时时间间估估计计的的低低一一些些,致致使使该该算算法法不不一一定定能能真真正正做做到到短短作作业业优优先先调调度度。为为了了避避免免这这一一现现象象,若作业执行时间超过所估计的时间,则可加价收费。若作业执行时间超过所估计的时间,则可加价收费。 n (2)(2)该该算算法法完完全全未未考考虑虑作作业业的的紧紧迫迫程程度度,不不能能保证部分紧迫
51、程度特别强的作业及时得到运行。保证部分紧迫程度特别强的作业及时得到运行。n (3)(3)由于系统可能不断接受新作业进入由于系统可能不断接受新作业进入“输入输入井井”,如果新进入,如果新进入“输入井输入井”的作业估计的运行时的作业估计的运行时间比较短,则将会使进入间比较短,则将会使进入“输入井输入井”较早但要求运较早但要求运行时间长的作业等待时间太长,对长作业极为不利。行时间长的作业等待时间太长,对长作业极为不利。操作系统教程课件第35页机械工业出版社机械工业出版社3.2.3作作业调业调度算法度算法操作系统教程课件第36页机械工业出版社机械工业出版社3.2.3作作业调业调度算法度算法n3.3.响
52、应比最高者优先算法响应比最高者优先算法HRRFHRRFn 由由于于FCFSFCFS可可能能使使后后进进入入输输入入井井的的诸诸多多短短作作业业处处于于等等待待状状态态,而而SJFSJF可可能能又又使使大大作作业业等等待待时时间间过过长长。为为了了兼兼顾顾上上述述两两种种算算法法,引引入入响响应应比比最最高高者者优优先先算算法法。采采用用HRRFHRRF进进行行调调度度时时,必必须须对对“输输入入井井”中中的的所所有有作作业业计计算算出出各各自自的的响响应应比比,从从资资源源能能得得到到满满足足的的作作业业中中选选择择响响应应比比最最高高的的作作业业优优先先装装入入主主存存运行。响应比的定义为:
53、运行。响应比的定义为:n n 由由于于作作业业从从进进入入输输入入井井到到执执行行完完成成就就是是该该作作业业的的响响应应过过程程,因因此此系系统统对对该该作作业业的的响响应应时时间间就就是是作作业业的的等等待待时时间间与与运运行时间之和。从响应比公式可以看出:行时间之和。从响应比公式可以看出:操作系统教程课件第37页机械工业出版社机械工业出版社n (1)(1)等等待待时时间间同同,则则运运行行时时间间越越短短,响响应应比比越越高,有利于短作业。高,有利于短作业。n (2)(2)运运行行时时间间同同,等等待待时时间间越越长长,响响应应比比越越高高,实现的是实现的是FCFSFCFS。n (3)(
54、3)对于长作业,响应比随等待时间增加而提对于长作业,响应比随等待时间增加而提高,当其等待时间足够长时,其响应比便可提升到高,当其等待时间足够长时,其响应比便可提升到很高很高,不至于发生饥饿现象,不至于发生饥饿现象。n 从表从表3 35 5中可以看出,中可以看出, HRRFHRRF结结合了合了FCFSFCFS与与SJFSJF,兼,兼顾顾了运行了运行时间时间短和等候短和等候时间长时间长的作的作业业,公平且,公平且吞吐量大,但算法复吞吐量大,但算法复杂杂,调调度前,要先度前,要先计计算各个作算各个作业业响响应应比比, ,并并选择选择响响应应比最大的作比最大的作业业投入运行,增投入运行,增加开加开销销
55、。 操作系统教程课件第38页机械工业出版社机械工业出版社3.2.3作作业调业调度算法度算法操作系统教程课件第39页机械工业出版社机械工业出版社3.2.3作作业调业调度算法度算法n4.4.优先数调度算法优先数调度算法n 该该算算法法为为每每个个作作业业确确定定一一个个优优先先数数,根根据据优优先先数数的的不不同同让让作作业业排排成成多多个个队队列列,调调度度时时从从后后备备队队列列中中优优先先选选取取资资源源能能满满足足且且优优先先数数最最高高的的作作业业装装入入主主存存运运行行。当当几几个个作作业业的的优优先先数数相相同同时时,对对这些具有相同优先数的作业再按照先来先服务原则进行调度。这些具有
56、相同优先数的作业再按照先来先服务原则进行调度。 n 作业优先数的确定原则可参照下列两条:作业优先数的确定原则可参照下列两条:n (1)(1)对于某些时间要求紧迫的作业赋予较高的优先级;对于某些时间要求紧迫的作业赋予较高的优先级;n (2)(2)为为了了充充分分利利用用系系统统资资源源,对对于于I/OI/O量量大大的的作作业业给给予予较较高高的的优先级,对于优先级,对于CPUCPU量大的作业给予较低的优先级。量大的作业给予较低的优先级。n 确确定定优优先先数数法法: :用用户户提提出出;操操作作系系统统根根据据作作业业的的缓缓急急程程度度、运运行行时时间间、作作业业类类型型、资资源源申申请请情情
57、况况等等因因素素综综合合考考虑虑,分分析析这这些些因因素素在在实实现现系系统统设设计计目目标标中中的的影影响响,决决定定各各因因素素的的比比例例,综综合合得得出出作作业业的的优优先先数数。根根据据作作业业在在“输输入入井井”中中的的等等待待时时间间动动态态地地改改变变其其优优先先数数, ,可可通通过过提提高高等等待待时时间间长长的的作作业业优优先先数数,以以缩缩短短作作业业的周转时间和平均周转时间。的周转时间和平均周转时间。操作系统教程课件第40页机械工业出版社机械工业出版社3.2.3作作业调业调度算法度算法n5.5.分类调度算法分类调度算法n 又又称称均均衡衡调调度度算算法法,该该算算法法根
58、根据据系系统统运运行行情情况况和和作作业业对对资资源源的的需需求求先先将将作作业业进进行行分分类类,然然后后作作业业调调度度程程序序轮轮流流从从不不同同的的作作业业类类中中去去挑挑选选作作业业,尽尽可可能能使使得得使使用用不不同同资资源源的的作作业业同同时时执执行行。这这样样不不仅仅可可以以力力求求均均衡衡地地利利用用各各种种系系统统资资源源,发发挥挥资资源源使使用用效效率率,使使系系统统的的各各种种资资源源都都在在忙忙碌碌,而而且且可可以以减减少少作作业业等等待待使使用用相相同资源的时间,从而加快作业的执行。同资源的时间,从而加快作业的执行。 n 因此,根据作业执行性质的不同,可将待处理作因
59、此,根据作业执行性质的不同,可将待处理作业分成如下队列:计算量大的作业队列;业分成如下队列:计算量大的作业队列;I/OI/O量大的作量大的作业队列;计算量与业队列;计算量与I/OI/O量均衡的作业队列。量均衡的作业队列。n 调度时,在三个队列中各取一些作业装入主存,调度时,在三个队列中各取一些作业装入主存,这样主存中的作业可均衡利用系统的各种资源。这样主存中的作业可均衡利用系统的各种资源。操作系统教程课件第41页机械工业出版社机械工业出版社3.2.3作作业调业调度算法度算法n6.6.算法综合应用算法综合应用n例例1若某系统采用可变分区方式管理主存中的用户空若某系统采用可变分区方式管理主存中的用
60、户空间,供用户使用的最大主存空间为间,供用户使用的最大主存空间为100K,主存分配算法为,主存分配算法为最先适应分配法,系统配有最先适应分配法,系统配有4台磁带机,一批初始作业如表台磁带机,一批初始作业如表3-6所示。所示。n该系统采用多道程序设计技术,对磁带机采用静态分该系统采用多道程序设计技术,对磁带机采用静态分配,忽略设备工作时间和系统进行调度所花的时间,进程配,忽略设备工作时间和系统进行调度所花的时间,进程调度采用先来先服务算法。请分别给出采用调度采用先来先服务算法。请分别给出采用FCFS、SJF和和HRRF算法选中作业执行的次序以及作业的平均周转时间和算法选中作业执行的次序以及作业的
61、平均周转时间和带权平均周转时间。带权平均周转时间。操作系统教程课件第42页机械工业出版社机械工业出版社n分析:由于主存采用可变分区分配方式,且允许移动作分析:由于主存采用可变分区分配方式,且允许移动作业汇聚空闲分区,则只要主存空闲空间总量大于作业需要,业汇聚空闲分区,则只要主存空闲空间总量大于作业需要,主存就可满足作业对主存的需求主存就可满足作业对主存的需求(必要时通过移动技术汇聚必要时通过移动技术汇聚);由于磁带机采用静态分配方式,则只有系统剩余的磁带机;由于磁带机采用静态分配方式,则只有系统剩余的磁带机数大于等于作业的申请数才能满足。这两个条件是作业调度数大于等于作业的申请数才能满足。这两
62、个条件是作业调度必须满足的前提条件。必须满足的前提条件。n另外,由于该系统采用多道程序设计技术,因此,每次另外,由于该系统采用多道程序设计技术,因此,每次作业调度时若有多个作业同时满足调度条件,则可同时选中作业调度时若有多个作业同时满足调度条件,则可同时选中多个作业装入主存,然后创建相应进程插入到就绪队列中。多个作业装入主存,然后创建相应进程插入到就绪队列中。由于忽略了设备工作时间和系统进行调度所花的时间,则可由于忽略了设备工作时间和系统进行调度所花的时间,则可认为一个作业一旦获得处理器后连续工作,可在给出的作业认为一个作业一旦获得处理器后连续工作,可在给出的作业运行时间内执行完并让出处理器给
63、下一个作业执行,这样作运行时间内执行完并让出处理器给下一个作业执行,这样作业调度可选择下一个批处理作业。具体调度结果如表业调度可选择下一个批处理作业。具体调度结果如表3-7,3-8和和3-9。3.2.3作业调度算法作业调度算法操作系统教程课件第43页机械工业出版社机械工业出版社操作系统教程课件第44页机械工业出版社机械工业出版社n例例2有一个多道程序设计系统,仍采用可变分区方式管理主有一个多道程序设计系统,仍采用可变分区方式管理主存中的用户空间,但不允许移动已在主存中的任何作业。假设用存中的用户空间,但不允许移动已在主存中的任何作业。假设用户可使用的最大主存空间为户可使用的最大主存空间为100
64、K,主存分配算法为最先适应分,主存分配算法为最先适应分配法,作业序列如表配法,作业序列如表3-10所示:所示:n该系统采用多道程序设计技术,忽略设备工作时间和系统该系统采用多道程序设计技术,忽略设备工作时间和系统进行调度所花的时间,进程调度也仍采用先来先服务算法。请分进行调度所花的时间,进程调度也仍采用先来先服务算法。请分别给出采用别给出采用FCFS、SJF和和HRRF算法选中作业执行的次序以及作算法选中作业执行的次序以及作业的平均周转时间和带权平均周转时间。业的平均周转时间和带权平均周转时间。3.2.3作业调度算法作业调度算法操作系统教程课件第45页机械工业出版社机械工业出版社操作系统教程课
65、件第46页机械工业出版社机械工业出版社n例例3有五个批处理作业有五个批处理作业1、2、3、4、5,分,分别在别在0、1、3、5、6时刻到达系统。假设它们的预时刻到达系统。假设它们的预计运行时间分别为计运行时间分别为3、5、2、3、2,它们的优先数,它们的优先数分别为分别为5、3、1、2、6(设设1为最低优先数为最低优先数)。该系。该系统采用多道程序设计技术,且作业在执行过程中不统采用多道程序设计技术,且作业在执行过程中不进行进行I/O处理和系统调用,请分别采用处理和系统调用,请分别采用“先来先服先来先服务调度算法务调度算法”、“最短作业优先调度算法最短作业优先调度算法”、“优优先数调度算法先数
66、调度算法”和和“时间片轮转调度算法时间片轮转调度算法”等四种等四种算法算法(前三种算法均为非剥夺式调度算法,第四种前三种算法均为非剥夺式调度算法,第四种算法的时间片长度为算法的时间片长度为2个时间单位个时间单位),计算所有作业,计算所有作业的平均周转时间和平均带权周转时间。忽略进程切的平均周转时间和平均带权周转时间。忽略进程切换产生的系统开销。换产生的系统开销。n作业序列如表作业序列如表3-14所示:所示:3.2.3作业调度算法作业调度算法操作系统教程课件第47页机械工业出版社机械工业出版社n分析:由于题中五个作业均未要求主存容量,且不进行分析:由于题中五个作业均未要求主存容量,且不进行I/O
67、操作。因此,每个作业到达系统均可直接装入主存执行,操作。因此,每个作业到达系统均可直接装入主存执行,系统需要执行的仅仅是进程调度过程。题目忽略进程切换系统需要执行的仅仅是进程调度过程。题目忽略进程切换产生的系统开销,因此计算时只需考虑每个进程占用产生的系统开销,因此计算时只需考虑每个进程占用CPU的时间。的时间。3.2.3作业调度算法作业调度算法操作系统教程课件第48页机械工业出版社机械工业出版社操作系统教程课件第49页机械工业出版社机械工业出版社3.2.3作业调度算法作业调度算法操作系统教程课件第50页机械工业出版社机械工业出版社3.2.4批批处处理作理作业业的控制的控制n 一一个个批批处处
68、理理作作业业被被作作业业调调度度程程序序选选中中后后,操操作作系系统统将将按按照照作作业控制说明书中所规定的控制要求去控制作业的执行。业控制说明书中所规定的控制要求去控制作业的执行。n1 1批处理作业的执行批处理作业的执行n 一一个个批批处处理理作作业业往往往往要要分分几几个个作作业业步步执执行行,一一般般来来说说,总总是是按按照照作作业业步步的的顺顺序序控控制制作作业业的的执执行行,一一个个作作业业步步执执行行结结束束后后,就就顺顺序序取取下下一一个个作作业业步步继继续续执执行行,直直到到最最后后一一个个作作业业步步完完成成,整整个个作作业业就就执执行行结结束束。这这时时,系系统统收收回回作
69、作业业所所占占资资源源且且撤撤销销该该作作业业,作业执行的结果在作业执行的结果在“输出井输出井”中等待输出。中等待输出。n 当当作作业业被被选选中中转转为为运运行行态态时时,作作业业调调度度程程序序为为其其建建立立一一个个作作业业控控制制进进程程,具具体体控控制制作作业业运运行行,解解释释执执行行作作业业说说明明书书的的每每一一个个作业步,创建子进程来完成该步骤。作业步的处理可细分为:作业步,创建子进程来完成该步骤。作业步的处理可细分为:n (1)(1)建立子进程;建立子进程;n (2)(2)为该子进程申请系统资源和外设资源等;为该子进程申请系统资源和外设资源等;n (3)(3)访问该作业的作
70、业控制块;访问该作业的作业控制块;n (4)(4)子进程执行结束并释放其占有的全部资源;子进程执行结束并释放其占有的全部资源;n (5)(5)撤销子进程等。撤销子进程等。操作系统教程课件第51页机械工业出版社机械工业出版社3.2.4批批处处理作理作业业的控制的控制n 作作业业步步的的执执行行过过程程:根根据据作作业业控控制制说说明明书书中中的的作作业业步步控控制制语语句句中中参参数数指指定定的的程程序序,把把相相应应的的程程序序装装到到主主存存,然然后后创创建建一一个个相相应应作作业业步步进进程程,把把状状态态设设置置为为“就就绪绪”。当当被被进进程程调调度度程程序序选选中中运运行行时时,该该
71、进进程程就就执执行行相相应应的的程程序序,完完成成该该作作业业步步功功能能;执执行行结结束束,需需向向操操作作系系统统报报告告执执行行结结束束的的信信息息,然然后后撤撤销销该该进进程程,再再继继续续取取下下一一个个作作业业步步的的控控制制语语句句,控控制制作作业业继继续续执执行行,直直至至取取到到表表示示作作业业结结束束的的控控制制语语句句时时,操操作作系系统统收收回回该该作作业业占占有有的的全全部部资资源源,然然后后让让作作业业调调度度再再选选取取下下一个可执行的作业。一个可执行的作业。n 如果作业执行到某个作业步发生错误,则要分析错误性如果作业执行到某个作业步发生错误,则要分析错误性质。如
72、果是用户估计到的错误,且在说明书中给出了处理办质。如果是用户估计到的错误,且在说明书中给出了处理办法,系统应按用户的说明转向指定的作业步继续顺序执行,法,系统应按用户的说明转向指定的作业步继续顺序执行,直至作业执行结束。作业的执行流程如图直至作业执行结束。作业的执行流程如图3 36 6所示。所示。 操作系统教程课件第52页机械工业出版社机械工业出版社3.2.4批处理作业的控制批处理作业的控制操作系统教程课件第53页机械工业出版社机械工业出版社3.2.4批批处处理作理作业业的控制的控制n1 1批处理作业的终止与撤销批处理作业的终止与撤销n 从从上上图图可可看看出出,当当一一个个批批处处理理作作业
73、业执执行行完完作作业业说说明明书书中中所所有有作作业业步步时时,作作业业正正常常终终止止;若若执执行行中中遇遇到到无无法法继继续续执执行行的的错错误误时时,作作业业将将异异常常终终止止。作作业业正正常常终终止止时时会会向向系系统统发发出出正正常常终终止止的的信信息息,然然后后等等待待被被系系统统撤撤销销;异异常常终终止止时时也也会会向向系统发出异常终止的信息,然后等待被系统撤销。系统发出异常终止的信息,然后等待被系统撤销。n 系统撤销一个作业的主要过程如下:系统撤销一个作业的主要过程如下:n (1)(1)报报告告用用户户作作业业是是正正常常终终止止还还是是异异常常终终止止,若若是是正正常常终止
74、,则把结果输出;终止,则把结果输出;n (2)(2)回回收收作作业业占占据据的的全全部部资资源源,包包括括主主存存空空间间、外外设设及及打开的数据文件等;打开的数据文件等;n (3)(3)释放该作业的作业控制块;释放该作业的作业控制块;n (4)(4)注消该作业。注消该作业。操作系统教程课件第54页机械工业出版社机械工业出版社3.3交互式作业的管理交互式作业的管理n3.3.1交互式作业的控制交互式作业的控制n3.3.2终端作业的管理终端作业的管理操作系统教程课件第55页机械工业出版社机械工业出版社3.3交互式作交互式作业业的管理的管理n 交交互互式式作作业业是是采采用用交交互互式式控控制制方方
75、式式的的作作业业,即即用用户户使使用用操操作作系系统统提提供供的的操操作作控控制制命命令令直直接接提提出出对对作作业业的的控控制制要要求求,每每当当用用户户输输入入一一条条命命令令后后,系系统统立立即即解解释释执执行行且且及及时时给给出出应应答答。用用户户根根据据作作业业执执行行情情况况决决定定输输入入的的下下一一条条命命令令,以以控控制制作业的继续执行。作业的继续执行。 n 交交互互式式作作业业的的最最大大特特点点体体现现为为交交互互性性,即即采采用用人人机机对对话话的的方方式式工工作作。用用户户能能从从系系统统给给出出的的应应答答中中及及时时掌掌握握作作业业的的执执行行情情况况,以以决决定
76、定下下一一个个作作业业步步应应该该做做什什么么,也也可可从从系系统统给给出出的的应应答答中中及及时时发发现现作作业业执执行行中中的的问问题题且且予予以以纠纠正正,能能方方便便地地实现对程序的联机调试和修改。实现对程序的联机调试和修改。n 在使用分时操作系统的计算机系统中,终端用户通过终在使用分时操作系统的计算机系统中,终端用户通过终端设备输入终端作业的程序和数据,且直接在终端设备上输端设备输入终端作业的程序和数据,且直接在终端设备上输入各种命令,来表达对终端作业的控制意图,系统把终端作入各种命令,来表达对终端作业的控制意图,系统把终端作业的执行情况通过终端设备通知用户,最终从终端设备上输业的执
77、行情况通过终端设备通知用户,最终从终端设备上输出结果。出结果。操作系统教程课件第56页机械工业出版社机械工业出版社3.3.1交互式作交互式作业业的控制的控制n 交互式作业的控制方式采用交互式控制方式。具体控制方式如下:交互式作业的控制方式采用交互式控制方式。具体控制方式如下:n1 1操作控制命令操作控制命令n 用用户户输输入入操操作作控控制制命命令令控控制制作作业业的的执执行行是是最最常常用用的的一一种种控控制制方方式式。不不同同的的计计算算机机系系统统提提供供给给用用户户使使用用的的命命令令可可能能有有所所不不同同,但但命命令令的的格格式式基基本本都都相相同同,即即每每条条命命令令都都包包括
78、括请请求求“做做什什么么”的的命命令令名名和和要要求求“怎怎么么做做”的命令参数。命令的一般格式为:的命令参数。命令的一般格式为:n 命令名参数命令名参数1 1,参数,参数2 2,参数,参数n nn 命命令令格格式式中中的的命命令令名名是是必必不不可可少少的的,是是完完成成指指定定功功能能的的根根本本标标识识,而而参参数数则则是是完完成成功功能能时时所所需需的的各各种种信信息息,因因而而可可以以部部分分或或全全部部缺缺省省。按按照照命命令功能的差异,可将操作控制命令大致分成以下几种类型:令功能的差异,可将操作控制命令大致分成以下几种类型:n (1)(1)作业控制命令作业控制命令: :包括作业程
79、序的建立、修改、编译、链接和运行等。包括作业程序的建立、修改、编译、链接和运行等。n (2) (2) 文文件件的的各各种种操操作作命命令令: :该该类类命命令令实实现现对对用用户户文文件件和和目目录录的的控控制制,包括新建、修改、删除、显示和输出等。包括新建、修改、删除、显示和输出等。n (3)(3)目目录录操操作作命命令令: :该该类类命命令令实实现现对对用用户户目目录录的的控控制制,包包括括新新建建目目录录、删除目录和修改目录的权限等。删除目录和修改目录的权限等。n (4)(4)资源申请命令资源申请命令: :该类命令包括对各种外设的使用和重定向。该类命令包括对各种外设的使用和重定向。操作系
80、统教程课件第57页机械工业出版社机械工业出版社3.3.1交互式作交互式作业业的控制的控制n2.2.菜单方式菜单方式n 通通过过输输入入操操作作控控制制命命令令来来控控制制作作业业的的执执行行时时,用用户户必必须须熟熟记记各各种种命命令令。菜菜单单技技术术是是控控制制作作业业执执行行的的另另一一种种技技术术,它它可可为为用用户户提提供供较较友友好好的的使使用用界界面面或或接接口口。当当某某一一程程序序具具有有若若干干可可供供用用户户选选择择的的功功能能项项时时,一一般般都都采采用用交交互互式式的的菜菜单技术进行处理。单技术进行处理。n 菜菜单单技技术术为为用用户户提提供供了了较较大大方方便便,用
81、用户户不不必必事事先先记记住住各各种种功功能能命命令令,而而只只要要根根据据屏屏幕幕上上的的菜菜单单提提示示进进行行选选择择,所所以以对对于于不不太太熟熟悉悉操操作作控控制制命命令令的的用用户户特特别别方方便便。但但是是,对对于于习习惯惯了了命命令令方方式式的的人人会会嫌嫌一一层层层层“点点菜菜”太太麻麻烦烦。因因此此,现现在在有有些些系系统统又又将将菜菜单单与与命命令令方方式式并并存存,在在提提供供操操作作控控制制命命令令的的同同时时也也把把命命令令组组成成菜菜单单方方式式,这这样样,用用户户可可以以选择任意一种或两种方式同时控制作业的执行。选择任意一种或两种方式同时控制作业的执行。操作系统
82、教程课件第58页机械工业出版社机械工业出版社3.3.1交互式作交互式作业业的控制的控制n3.3.视窗方式视窗方式n 随随着着2020世世纪纪9090年年代代视视窗窗操操作作系系统统成成为为主主流流以以来来,视视窗窗接接口口也也成成为为比比较较流流行行的的交交互互式式操操作作控控制制方方式式。视视窗窗接接口口采采用用了了图图形形化化操操作作界界面面,用用非非常常容容易易识识别别的的各各种种形形象象化化的的图图标标将将系系统统的的各各项项功功能能、各各种种应应用用程程序序和和文文件件等等直直观观表表现现出出来来。因因此此,用用户户只只需需通通过过鼠鼠标标、菜菜单单和和对对话话框框来来完完成成相相应
83、应的的操操作作,而而完完全全不不必必记记住住命命令令名名及及格格式式,从从而而把把用用户户从从繁繁琐琐且且单单调调的的命命令令操操作作中中解解放放出出来来,同同时时也也使使计计算算机机的的基基本本操操作作变变得得简简单单、高高效且有趣。效且有趣。n 视窗方式与菜单方式一样,只是用户表达其需求的方式视窗方式与菜单方式一样,只是用户表达其需求的方式不同而已,它们所完成的功能与命令方式完全一样。不同而已,它们所完成的功能与命令方式完全一样。操作系统教程课件第59页机械工业出版社机械工业出版社3.3.2终终端作端作业业的管理的管理n 在在分分时时操操作作系系统统控控制制下下,终终端端用用户户一一般般均
84、均采采用用“时时间间片片轮轮转转”的的方方法法使使每每个个终终端端作作业业都都能能在在一一个个“时时间间片片”的的时时间间内内去去占占用用处处理理器器执执行行,当当一一个个时时间间片片用用完完后后,必必须须让让出出处处理理器器给给另另一一个个终终端端作作业业占占用用处处理理器器。这这样样,可可保保证证从从终终端端用用户户输输入入命命令令到到计计算算机机系系统统给给出出应应答答只只是是很很短短的的时时间间,终终端端用用户户感感到到满意。满意。n 终端用户在各自的终端上仍以交互式方式控制终端用户在各自的终端上仍以交互式方式控制终端作业的执行。一般地,控制终端作业的执行大终端作业的执行。一般地,控制
85、终端作业的执行大致分成四个阶段,即终端的连接、用户注册、作业致分成四个阶段,即终端的连接、用户注册、作业控制和用户退出。控制和用户退出。 操作系统教程课件第60页机械工业出版社机械工业出版社3.3.2终终端作端作业业的管理的管理n1.1.终端的连接终端的连接n 任任何何终终端端用用户户要要使使用用计计算算机机系系统统时时,必必须须先先使使终终端端设设备备与与计计算算机机系系统统在在线线路路上上接接通通。终终端端设设备备有有近近程程终终端端和和远远程程终终端端两两种种。直直接接与与计计算算机机系系统统连连接接的的终终端端是是近近程程终终端端,当当该该终终端端设设备备加加电电后后,终终端端就就与与
86、计计算算机机系系统统在在线线路路上上接接通通了了;借借助助于于租租用用专专线线或或交交换换线线连连接接到到计计算算机机系系统统上上的的终终端端为为远远程程终终端端,该该终终端端加加电后,用户还需通过电话拨号进行呼叫直至接通。电后,用户还需通过电话拨号进行呼叫直至接通。n2.2.用户注册用户注册n 当当终终端端与与计计算算机机系系统统在在线线路路上上接接通通后后,用用户户必必须须向向系系统统登登录录。用用户户首首先先输输入入“登登录录”命命令令向向系系统统申申请请执执行行一一个个作作业业, ,系系统统会会询询问问用用户户名名、作作业业名名、口口令令和和资资源源需需求求等等,经经过过识识别别用用户
87、户、核核对对口口令令且且资资源源能能得得到到满满足足,系系统统会会在在终终端端上上显显示示“已已登登录录”和和进进入入系系统统的的时时间间等等信信息息,这这时时,系系统统将将接接受受该该终终端端作作业业并并完完成成用用户户的的注注册册过过程程。若若用用户户名名错错或或口口令令不不对对或或资资源源暂暂时时不不能能满满足足时时,则则系系统统在在终终端端上上显显示示“登登录录不不成成功功”并并给给出出登登录录失失败败的的原因。原因。操作系统教程课件第61页机械工业出版社机械工业出版社n 注注册册成成功功的的终终端端用用户户可可从从终终端端上上输输入入作作业业的的程程序序和和数数据据,也也可可使使用用
88、系系统统提提供供的的终终端端控控制制命命令令控控制制作作业业执执行行。用用户户每每输输入入一一命命令令后后,由由系系统统解解释释执执行行且且在在终终端端上上显显示示有有关关信信息息,由由用用户户决决定定下下一一步命令,直到作业完成。步命令,直到作业完成。n 用用户户的的登登录录和和注注册册过过程程可可看看作作是是对对终端作业的作业调度终端作业的作业调度操作系统教程课件第62页机械工业出版社机械工业出版社3.3.2终终端作端作业业的管理的管理n3.3.作业控制作业控制n 一一个个注注册册成成功功的的终终端端用用户户既既可可从从终终端端上上输输入入作作业业的的程程序序和和数数据据,又又可可使使用用
89、系系统统提提供供的的终终端端控控制制命命令控制作业执行。令控制作业执行。n4.4.用户退出用户退出n 当终端用户的作业执行结束且不再需要使用终当终端用户的作业执行结束且不再需要使用终端时,用户可输入端时,用户可输入“退出退出”命令请求退出系统。系命令请求退出系统。系统接收命令后就收回该用户所占的资源让其退出,统接收命令后就收回该用户所占的资源让其退出,同时在终端上显示同时在终端上显示“退出时间退出时间”或或“使用系统时间使用系统时间”,以使用户了解使用系统的时间及应付的费用。,以使用户了解使用系统的时间及应付的费用。操作系统教程课件第63页机械工业出版社机械工业出版社3.4操作系统与用户的接口
90、操作系统与用户的接口n3.4.1命令接口命令接口(作业级接口作业级接口)n3.4.2程序接口程序接口n3.4.3图形接口图形接口 操作系统教程课件第64页机械工业出版社机械工业出版社3.4操作系统与用户的接口操作系统与用户的接口n操作系统是用户与计算机系统之间操作系统是用户与计算机系统之间的接口,用户在操作系统的帮助下,可的接口,用户在操作系统的帮助下,可以安全、可靠、方便、快速地使用计算以安全、可靠、方便、快速地使用计算机系统中的各类资源,从而解决自己的机系统中的各类资源,从而解决自己的问题。操作系统向用户提供了两种典型问题。操作系统向用户提供了两种典型接口,以便用户与操作系统之间建立联接口
91、,以便用户与操作系统之间建立联系。一种是操作系统为用户提供的各种系。一种是操作系统为用户提供的各种操作命令或作业控制语言操作命令或作业控制语言(JCL),用户,用户可利用这些操作命令或作业控制语言来可利用这些操作命令或作业控制语言来组织作业的工作流程和控制作业的运行;组织作业的工作流程和控制作业的运行;另一种是操作系统为用户提供的一组系另一种是操作系统为用户提供的一组系统功能调用接口,用户可以在源程序一统功能调用接口,用户可以在源程序一级使用这些系统调用,请求操作系统提级使用这些系统调用,请求操作系统提供的服务(如,请求使用各种外部设备供的服务(如,请求使用各种外部设备进行信息传输、向系统申请
92、资源等)。进行信息传输、向系统申请资源等)。随着图形类操作系统的迅速普及,又普随着图形类操作系统的迅速普及,又普遍增加了一种图形用户接口。如图遍增加了一种图形用户接口。如图37所示。所示。操作系统教程课件第65页机械工业出版社机械工业出版社3.4.1命令接口命令接口n 操操作作系系统统为为用用户户对对作作业业组组织织和和运运行行进进行行全全过过程程控控制制提提供供了了命命令令接接口口。命命令令接接口口通通过过在在用用户户和和操操作作系系统统之之间间提提供供高高级级通通信信来来控控制制程程序序执执行行,即即用用户户通通过过输输入入设设备备( (包包括括键键盘盘、鼠鼠标标、触触摸摸屏屏等等) )发
93、发出出一一系系列列命命令令告告诉诉操操作作系系统统执执行行所所需需的的功功能能。根根据据作作业业控控制制方方式式的的不不同同,可可将将命命令令接接口口又又分分成成联联机机命命令令接接口口和脱机命令接口。和脱机命令接口。n3.4.1.1联机命令接口联机命令接口n3.4.1.2脱机命令接口脱机命令接口操作系统教程课件第66页机械工业出版社机械工业出版社3.4.1.1联机命令接口联机命令接口n联机命令接口是为联机用户提供的调用操作系统功能,联机命令接口是为联机用户提供的调用操作系统功能,请求操作系统为其服务的手段,由一组键盘操作命令及命令请求操作系统为其服务的手段,由一组键盘操作命令及命令解释程序组
94、成,用于完成联机作业的控制,也称交互式命令解释程序组成,用于完成联机作业的控制,也称交互式命令接口。在这种方式下,用户使用操作系统提供的键盘操作命接口。在这种方式下,用户使用操作系统提供的键盘操作命令来直接控制作业的执行。执行时,用户可通过键盘输入一令来直接控制作业的执行。执行时,用户可通过键盘输入一条条命令,操作系统中的终端处理程序每接到一条命令,就条条命令,操作系统中的终端处理程序每接到一条命令,就将它显示在终端屏幕上,然后交付命令解释程序进行分析,将它显示在终端屏幕上,然后交付命令解释程序进行分析,最后按照命令的要求控制作业的执行。系统每执行完一条命最后按照命令的要求控制作业的执行。系统
95、每执行完一条命令所要求的工作后,就把命令执行情况通知用户,且让用户令所要求的工作后,就把命令执行情况通知用户,且让用户决定下一步操作,直至作业执行结束。决定下一步操作,直至作业执行结束。n由此可见,联机命令接口包括一组联机命令、终端处理由此可见,联机命令接口包括一组联机命令、终端处理程序和命令解释程序。程序和命令解释程序。操作系统教程课件第67页机械工业出版社机械工业出版社3.4.1.1联机命令接口联机命令接口n1.联机命令联机命令n格式如下:格式如下:nCommandarg1,arg2,argn,option1,optionkn目录操作类目录操作类:dirmdcdlsmkdirn文件操作类文
96、件操作类:copydeltypecprmchmodchownn磁盘操作类磁盘操作类:diskcopydiskcompformatn系统访问类系统访问类:clsclear 操作系统教程课件第68页机械工业出版社机械工业出版社n2.终端处理程序终端处理程序n配置在终端上的的终端处理程序,主要用于实配置在终端上的的终端处理程序,主要用于实现人机对话,其主要功能包括五个方面,具体如下:现人机对话,其主要功能包括五个方面,具体如下:n(1)接收字符接收字符:面向字符方式面向字符方式或面向行方式或面向行方式n(2)字符缓冲字符缓冲:暂存从终端键入的字符暂存从终端键入的字符n(3)回送显示回送显示:将该字符
97、传送到屏幕显示将该字符传送到屏幕显示n(4)屏幕编辑屏幕编辑:提供了若干编辑键实现屏幕编辑提供了若干编辑键实现屏幕编辑n(5)特殊字符处理特殊字符处理:如中断等如中断等3.4.1.1联机命令接口联机命令接口操作系统教程课件第69页机械工业出版社机械工业出版社n3.命令解释程序命令解释程序n功能:接受和执行由用户提供的对作业的加工处理的要求,功能:接受和执行由用户提供的对作业的加工处理的要求,它通常保存一张命令名字它通常保存一张命令名字(动词动词)表,其中记录着所有操作命令及表,其中记录着所有操作命令及其处理程序的入口或有关信息。当一个新的批作业被启动,或新其处理程序的入口或有关信息。当一个新的
98、批作业被启动,或新的交互用户登录进系统时,系统就自动地执行命令解释程序,它的交互用户登录进系统时,系统就自动地执行命令解释程序,它负责读入控制卡或命令行,并作出相应解释和执行。负责读入控制卡或命令行,并作出相应解释和执行。n处理过程:操作系统初始化工作后便启动命令解释程序,它处理过程:操作系统初始化工作后便启动命令解释程序,它输出命令提示符,等待键盘中断到来。每当用户输入一条命令输出命令提示符,等待键盘中断到来。每当用户输入一条命令(暂存在命令缓冲区)并按回车换行时,申请键盘中断。(暂存在命令缓冲区)并按回车换行时,申请键盘中断。CPU响响应后,将控制权交给命令解释程序,接着读入命令缓冲区内容
99、,应后,将控制权交给命令解释程序,接着读入命令缓冲区内容,分析命令、接受参数。若为简单命令立即转向命令处理代码执行;分析命令、接受参数。若为简单命令立即转向命令处理代码执行;否则查找命令处理文件,装入内存并传递参数,将控制权交给其否则查找命令处理文件,装入内存并传递参数,将控制权交给其执行。命令处理结束后,再次输出命令提示符,等待下一条命令。执行。命令处理结束后,再次输出命令提示符,等待下一条命令。n不同的操作系统,其命令解释程序也不同,不同的操作系统,其命令解释程序也不同,MS-DOS的为的为C,而,而UNIX的则为的则为Shell3.4.1.1联机命令接口联机命令接口操作系统教程课件第70
100、页机械工业出版社机械工业出版社nC命令处理程序由三个部分构成:常驻命令处理程序由三个部分构成:常驻部分、初始化部分和暂存部分。部分、初始化部分和暂存部分。n常驻部分程序包括一些中断服务子程序和下面的程序:常驻部分程序包括一些中断服务子程序和下面的程序:当用户程序终止后,该程序能检查暂存部分是否已被用户程当用户程序终止后,该程序能检查暂存部分是否已被用户程序覆盖,若被覆盖,则重新启动将暂存部分装入内存。序覆盖,若被覆盖,则重新启动将暂存部分装入内存。n初始化部分程序跟随在常驻部分之后,在启动时获得控初始化部分程序跟随在常驻部分之后,在启动时获得控制权。该部分包括对制权。该部分包括对AUTOEXE
101、C.BAT批处理文件的处理程批处理文件的处理程序,并决定应用程序装入的基地址。每当系统启动后,由处序,并决定应用程序装入的基地址。每当系统启动后,由处理程序找到并执行该批处理文件。理程序找到并执行该批处理文件。n暂存部分程序主要是命令解释程序,包括了所有的内部暂存部分程序主要是命令解释程序,包括了所有的内部命令处理程序命令处理程序、批处理程序及装入和执行外部命令的程序。、批处理程序及装入和执行外部命令的程序。暂存部分程序驻留在内存中,但用户程序可以使用并覆盖这暂存部分程序驻留在内存中,但用户程序可以使用并覆盖这部分内存。当用户程序结束时,常驻部分又会将它们重新从部分内存。当用户程序结束时,常驻
102、部分又会将它们重新从磁盘上装入内存,恢复暂存部分。磁盘上装入内存,恢复暂存部分。3.4.1.1联机命令接口联机命令接口操作系统教程课件第71页机械工业出版社机械工业出版社nC的工作流程:的工作流程:n当系统启动后,初始化部分获得控制权,对整个系统当系统启动后,初始化部分获得控制权,对整个系统完成初始化工作,然后自动执行完成初始化工作,然后自动执行AUTOEXEC.BAT,之后,之后便把控制权交给暂存部分;暂存部分首先读入键盘缓冲区便把控制权交给暂存部分;暂存部分首先读入键盘缓冲区中的命令,判别其文件名、扩展名及驱动器名是否正确,中的命令,判别其文件名、扩展名及驱动器名是否正确,若发现错误,则在
103、给出出错信息后返回,否则再识别命令。若发现错误,则在给出出错信息后返回,否则再识别命令。若暂存部分识别到键入命令属于正确命令,则从对应表项若暂存部分识别到键入命令属于正确命令,则从对应表项中获取该命令处理程序的入口地址,然后把控制权交给该中获取该命令处理程序的入口地址,然后把控制权交给该处理程序去执行该命令;完成后,控制又返回到暂存部分处理程序去执行该命令;完成后,控制又返回到暂存部分并重新给出系统提示符,等待用户键入新的命令。若暂存并重新给出系统提示符,等待用户键入新的命令。若暂存部分发现用户键入的命令不是内部命令而是外部命令时,部分发现用户键入的命令不是内部命令而是外部命令时,则暂存部分还
104、要为之建立命令行,再通过执行系统调用则暂存部分还要为之建立命令行,再通过执行系统调用exec完成装入该命令的处理程序,并得到其基地址,最完成装入该命令的处理程序,并得到其基地址,最后把控制权交给该程序去执行相应的命令。后把控制权交给该程序去执行相应的命令。操作系统教程课件第72页机械工业出版社机械工业出版社nShell俗称操作系统的俗称操作系统的“外壳外壳”,负责用户与,负责用户与UNIX操作系统之间的沟通,把用户输入的指令解操作系统之间的沟通,把用户输入的指令解释给操作系统执行,并将系统返回的信息进行解释,释给操作系统执行,并将系统返回的信息进行解释,提供了用户与提供了用户与UNIX之间交互
105、的接口。之间交互的接口。nUNIX中的中的Shell有两层含义:第一是指由有两层含义:第一是指由Shell命令组成的命令组成的Shell命令语言;第二是指该命令语言命令语言;第二是指该命令语言的解释程序。所以,的解释程序。所以,Shell是接收用户命令且执行是接收用户命令且执行命令的程序。命令的程序。Shell是用户登录之后是用户登录之后UNIX第一个运第一个运行的程序。行的程序。UNIX把它作为一个用户进程,称把它作为一个用户进程,称Shell进程。前面学习的联机命令执行就可以通过进程。前面学习的联机命令执行就可以通过Shell来实现的。来实现的。3.4.1.1联机命令接口联机命令接口操作系
106、统教程课件第73页机械工业出版社机械工业出版社n由于由于Shell是用户与系统的接口,所以当创建用户时,是用户与系统的接口,所以当创建用户时,每个用户都会被指派一个可选的每个用户都会被指派一个可选的Shell。目前流行的。目前流行的Shell有有Bourneshell,CShell和和KornShell等。一般地,在等。一般地,在UNIXSystemV一类的系统中使用一类的系统中使用Bourneshell;而在;而在BDSUNIX中使用的则是中使用的则是Cshell;KornShell则结合了两则结合了两者的特点。对于不同的者的特点。对于不同的Shell,提供的命令语言也不同,但,提供的命令语
107、言也不同,但基本语法是相同的,大部分命令也相同。用户只要根据登录基本语法是相同的,大部分命令也相同。用户只要根据登录之后之后UNIX显示的提示符就可区分使用的是哪种显示的提示符就可区分使用的是哪种Shell,如,如Bourneshell显示的提示符是显示的提示符是$,而,而CShell则为则为%。n当用户注册成功后,就处于当用户注册成功后,就处于Shell的控制下,然后的控制下,然后Shell以交互式方式为用户服务。每当以交互式方式为用户服务。每当Shell作好接收一条命令的作好接收一条命令的准备时,就会显示一个系统提示符,用户就在准备时,就会显示一个系统提示符,用户就在Shell的系统的系统
108、提示符后输入一条提示符后输入一条Shell命令;然后系统根据输入的命令找命令;然后系统根据输入的命令找出该命令的解释程序,解释程序执行完命令后,出该命令的解释程序,解释程序执行完命令后,Shell又显又显示提示符等待用户再次输入下一条命令。示提示符等待用户再次输入下一条命令。操作系统教程课件第74页机械工业出版社机械工业出版社3.4.1.2脱机命令接口脱机命令接口n 脱脱机机命命令令接接口口又又称称批批处处理理命命令令接接口口,是是专专为为批批处处理理作作业业的的用用户户提提供供的的,利利用用作作业业控控制制语语言言中中的的命命令令来来完完成成脱脱机机作作业业的的控控制制,将将对对作作业业执执
109、行行的的控控制制意意图图编编写写成成“作作业业控控制制说说明明书书”并并提提交交给给计计算算机机系系统统,然然后后由由操操作作系系统统按按照照作作业业控控制制说说明明书书的的要要求求来来自自动动控控制制作作业业的的执执行行,用用户户不不必必在在计计算算机机上上进进行行干预。干预。n 当批处理作业运行时,系统调用命令解释程序对作业控当批处理作业运行时,系统调用命令解释程序对作业控制说明书中的作业控制命令逐条进行解释执行,若作业在执制说明书中的作业控制命令逐条进行解释执行,若作业在执行中出现错误,系统也同样根据作业控制说明书中的控制要行中出现错误,系统也同样根据作业控制说明书中的控制要求进行干预。
110、因此,作业将一直在作业控制说明书的控制下求进行干预。因此,作业将一直在作业控制说明书的控制下执行,直至遇到作业结束语句时,系统才停止该作业的执行。执行,直至遇到作业结束语句时,系统才停止该作业的执行。操作系统教程课件第75页机械工业出版社机械工业出版社3.4.2程序接口程序接口n 程程序序接接口口由由系系统统调调用用命命令令组组成成。编编程程人人员员允允许许在在运运行行程程序序中中,利利用用系系统统调调用用在在程程序序这这一一级级提提出出资资源源申申请请和和功功能能服服务务,从从而而获获得得操操作作系系统统的的底底层层服务,使用或访问系统的各种软硬件资源。服务,使用或访问系统的各种软硬件资源。
111、n 操作系统提供的系统功能调用从低级的汇编语言级的接口,发展到高操作系统提供的系统功能调用从低级的汇编语言级的接口,发展到高级语言中提供的操作系统服务。用户在用高级语言编程时,可以利用操作级语言中提供的操作系统服务。用户在用高级语言编程时,可以利用操作系统提供的丰富的系统功能调用来请求系统资源,进行进程控制和通信,系统提供的丰富的系统功能调用来请求系统资源,进行进程控制和通信,完成信息的处理等工作。完成信息的处理等工作。n 操操作作系系统统的的基基本本服服务务是是通通过过系系统统功功能能调调用用来来实实现现的的,系系统统调调用用是是操操作作系系统统为为用用户户程程序序提提供供的的一一种种服服务
112、务,由由若若干干不不同同功功能能的的子子程程序序组组成成,用用户户程程序序在在执执行行中中可可以以调调用用这这些些子子程程序序。由由操操作作系系统统提提供供的的这这些些子子程程序序称称“系系统统功功能能调调用用”程程序序,或或简简称称“系系统统调调用用”。 “系系统统调调用用”是是在在管管态态下下执执行行的的程序。程序。 n 系统调用是用户所需要的功能,有些是比较复杂的,硬件不能直接提系统调用是用户所需要的功能,有些是比较复杂的,硬件不能直接提供,只能通过软件的程序来实现;而有些功能可由硬件完成,并设有相应供,只能通过软件的程序来实现;而有些功能可由硬件完成,并设有相应的指令,如启动外设工作,
113、就有用于输入的指令,如启动外设工作,就有用于输入/ /输出的硬指令。但配置了操作系输出的硬指令。但配置了操作系统后,对系统资源的分配、控制不能由用户干预,而必须由操作系统统一统后,对系统资源的分配、控制不能由用户干预,而必须由操作系统统一管理。所以,对于这样一类功能,也需有相应的控制程序来实现。管理。所以,对于这样一类功能,也需有相应的控制程序来实现。操作系统教程课件第76页机械工业出版社机械工业出版社3.4.2程序接口程序接口n2 2系统调用分类系统调用分类 n 不不同同的的操操作作系系统统提提供供的的系系统统调调用用不不完完全全相相同同,但但大大致致都包括以下几类:都包括以下几类:n (1
114、)(1)文文件件操操作作类类:包包括括打打开开、建建立立、读读、写写、文文件件及及删删除文件等。除文件等。 n (2)(2)资资源源申申请请类类:包包括括请请求求分分配配主主存存空空间间、归归还还主主存存空空间、分配外围设备及归还外围设备等。间、分配外围设备及归还外围设备等。 n (3)(3)控控制制类类:执执行行中中的的程程序序可可以以请请求求操操作作系系统统中中止止其其执执行行或或返返回回到到程程序序的的某某一一点点再再继继续续执执行行。操操作作系系统统要要根根据据程程序序中中止止的的原原因因和和用用户户的的要要求求作作出出处处理理。因因而而这这类类系系统统调调用用有:正常结束、异常结束、
115、返回断点及返回指定点等。有:正常结束、异常结束、返回断点及返回指定点等。 n (4)(4)信信息息维维护护类类:包包括括设设置置日日期期时时间间、获获取取日日期期时时间间、设置文件属性及获取文件属性等。设置文件属性及获取文件属性等。操作系统教程课件第77页机械工业出版社机械工业出版社3.4.2程序接口程序接口n 系统调用执行过程系统调用执行过程: :n 现代计算机系统硬件提供一条现代计算机系统硬件提供一条“访管指令访管指令”,该指令可以在目态,该指令可以在目态下执行。用户编制程序使用系统调用请求操作系统服务时,编译程序将下执行。用户编制程序使用系统调用请求操作系统服务时,编译程序将其转换成目标
116、程序中的其转换成目标程序中的“访管指令访管指令”及一些参数。目标程序执行时,当及一些参数。目标程序执行时,当CPUCPU执行到执行到“访管指令访管指令”,产生自愿性中断,操作系统接过控制权(在,产生自愿性中断,操作系统接过控制权(在管态下),并分析管态下),并分析“访管指令访管指令”中相关参数,让对应的中相关参数,让对应的“系统调用系统调用”子子程序为用户服务;完成系统调用后,操作系统将程序为用户服务;完成系统调用后,操作系统将CPUCPU状态改变为目态,状态改变为目态,返回到用户程序继续执行。返回到用户程序继续执行。 其执行过程可大致分成三个阶段:其执行过程可大致分成三个阶段:n (1)(1
117、)设置系统调用参数设置系统调用参数n系统调用参数传递到寄存器中,然后再将参数表的指针放在某个规定的系统调用参数传递到寄存器中,然后再将参数表的指针放在某个规定的寄存器中。寄存器中。n (2)(2)系统调用命令的一般性处理系统调用命令的一般性处理n在设置了系统调用参数后,便可执行系统调用命令,一般都是首先保护在设置了系统调用参数后,便可执行系统调用命令,一般都是首先保护CPUCPU现场,将程序状态字现场,将程序状态字PSWPSW、程序计数器等压入堆栈,然后将用户定义、程序计数器等压入堆栈,然后将用户定义的参数传递到指定的地方保存起来。的参数传递到指定的地方保存起来。n (3)(3)系统调用命令的
118、处理程序完成具体过程系统调用命令的处理程序完成具体过程n系统执行系统调用对应的程序段,即执行对应的系统执行系统调用对应的程序段,即执行对应的“系统调用系统调用”子程序为子程序为用户服务,待完成系统调用后,返回到用户程序继续执行后续过程。用户服务,待完成系统调用后,返回到用户程序继续执行后续过程。操作系统教程课件第78页机械工业出版社机械工业出版社3.4.3图形接口图形接口n现代操作系统为用户提供的是一个更友好的、现代操作系统为用户提供的是一个更友好的、更直观的、易懂的、图文并茂的、且具有一定智能更直观的、易懂的、图文并茂的、且具有一定智能的运行环境,接口发展方向更倾向于可视化、集成的运行环境,
119、接口发展方向更倾向于可视化、集成化和智能化,用户可以通过文字、图像、声音等媒化和智能化,用户可以通过文字、图像、声音等媒体,以及键盘、鼠标、扫描仪、声音装置等部件来体,以及键盘、鼠标、扫描仪、声音装置等部件来驱动操作系统提供的命令和用户扩充的自定义命令,驱动操作系统提供的命令和用户扩充的自定义命令,从而达到轻松、方便地使用计算机的目的。从而达到轻松、方便地使用计算机的目的。Windows操作系统就为用户提供了良好的图形接操作系统就为用户提供了良好的图形接口。口。nWindows图形接口基本元素:窗口、图标、图形接口基本元素:窗口、图标、菜单、对话框等菜单、对话框等,其操作简单直观。,其操作简单
120、直观。操作系统教程课件第79页机械工业出版社机械工业出版社3.5本章小节本章小节n用户要求计算机系统完成的任务是以作业的形式出现的,用户要求计算机系统完成的任务是以作业的形式出现的,对作业的管理成为保证达到用户目标的一个关键技术。对作业的管理成为保证达到用户目标的一个关键技术。n批处理作业的管理主要包括作业输入、作业调度和作业批处理作业的管理主要包括作业输入、作业调度和作业控制过程。系统输入程序为每个批处理作业建立一个作业控控制过程。系统输入程序为每个批处理作业建立一个作业控制块,通过预输入过程输入并保存到输入井的后备作业队列制块,通过预输入过程输入并保存到输入井的后备作业队列中;整个作业调度
121、阶段需要经历三个阶段,高级调度从后备中;整个作业调度阶段需要经历三个阶段,高级调度从后备作业队列中选择若干作业装入主存并创建相应就绪进程;然作业队列中选择若干作业装入主存并创建相应就绪进程;然后由低级调度选择当前可占用处理器的就绪进程进入处理器后由低级调度选择当前可占用处理器的就绪进程进入处理器运行;中级调度则决定主存中所能容纳的进程个数;操作系运行;中级调度则决定主存中所能容纳的进程个数;操作系统按照作业控制说明书中所规定的控制要求去控制作业的执统按照作业控制说明书中所规定的控制要求去控制作业的执行,直到结束并撤销。在作业调度的三个阶段中,高级调度行,直到结束并撤销。在作业调度的三个阶段中,
122、高级调度是关键,理想的调度算法既能提高系统效率,又能使进入系是关键,理想的调度算法既能提高系统效率,又能使进入系统的作业及时得到计算结果。通过详细对比批处理作业的统的作业及时得到计算结果。通过详细对比批处理作业的FCFS、SJF、HRRF等调度算法实例,可以发现等调度算法实例,可以发现SJF调度算调度算法综合性能最佳。法综合性能最佳。操作系统教程课件第80页机械工业出版社机械工业出版社n交互式作业的管理过程以交互方式控制终端作业的执交互式作业的管理过程以交互方式控制终端作业的执行,历经终端的连接、用户注册、作业控制和用户退出四行,历经终端的连接、用户注册、作业控制和用户退出四个阶段。个阶段。n
123、为了使用户能够快速有效地访问计算机系统资源,操为了使用户能够快速有效地访问计算机系统资源,操作系统向用户提供了三种典型接口:作业级接口、程序级作系统向用户提供了三种典型接口:作业级接口、程序级接口和图形接口。用户可以利用这些接口,向系统提交完接口和图形接口。用户可以利用这些接口,向系统提交完成的任务,系统在接收到用户任务后,将其组织成作业,成的任务,系统在接收到用户任务后,将其组织成作业,然后让其进入系统执行,从而完成用户的最终需求。作业然后让其进入系统执行,从而完成用户的最终需求。作业级接口用于完成用户作业的组织和控制过程,提供了联机级接口用于完成用户作业的组织和控制过程,提供了联机命令和脱机命令两种控制方式,详细介绍了联机控制命令命令和脱机命令两种控制方式,详细介绍了联机控制命令的用法;程序级接口则提供用户进行系统调用需要;图形的用法;程序级接口则提供用户进行系统调用需要;图形接口则为用户提供了图形化的操作界面,用非常容易识别接口则为用户提供了图形化的操作界面,用非常容易识别的各种图标将系统的各项功能、各种应用程序和文件直观的各种图标将系统的各项功能、各种应用程序和文件直观地表示出来,并以地表示出来,并以windows为背景介绍了图形接口的使用为背景介绍了图形接口的使用过程。过程。3.5本章小节本章小节操作系统教程课件第81页