版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 通过第二章的讨论,我们知道,一个作业进入系统,并为之建立相应的一个或多个进程后,由进程调度来给予分配处理机,让其在处理机上执行,完成该作业的任务,那么,一个用户向系统注册登记,提交作业后,什么时候得以真正进入系统,由谁来为其创建进程呢?这是作业调度的任务。第五章 作业管理 根据计算机管理人员所制定的规则(如作业优先数大小,要求资源的品种和数量、系统的均衡性等),从所有后备作业队列上选择一个或多个作业置于“运行”状态,并为它们分配必要的资源(如主存空间、外部设备等),建立相应的用户作业进程和为其服务的系统进程(如输入、输出进程),最后将它们的程序段调放主存以等待进程调度程序的调度。显然,由作业
2、调度程序选择到的作业才有资格获得处理机,但不一定立刻就能占有它并在其上运行。 至于一个已被调度程序调度到的作业,什么时候能真正在处理机上运行,则取决于“进程调度”所遵循的调度策略和作业性质。进程调度又称微观调度或低级调度。作业调度与进程调度之间的关系,可打个比喻来说明,前者像竞赛的“协调人”,它能确定参加比赛(竞争处理机)的全体“选手”,而后者像比赛场上的“裁判”,决定哪个“选手”将取得胜利(获得物理处理机)。 作业管理的主要功能是对用户作业进行合理调度,以提高系统的吞吐量或缩短作业的周转时间,并提供用户与操作系统的接口,以方便用户对自己的作业在整个运行过程中进行控制。第五章 作业管理 5 作
3、业的基本概念 一、作业的定义 作业:作业是由用户提交给系统处理的一个基本任务(从用户目光看),它是由用户程序、数据以及对程序运行进行控制和处理的有关信息所组成(从系统角度看)。通常,一个作业又可分为若干个顺序处理的作业步,例如,在对一个用某高级语言编制的源程序进行调试处理时,往往要经过下述几大步骤: 编辑这是调用编辑程序对指定的源程序文件进行输入或修改; 编译对编辑后所得的文件进行编译、链接,以获得可执行的目标代码; 运行对编译、链接后的程序进行运行,完成预期功能。 作业步:作业由不同的顺序相连的作业步组成。作业步是在一个作业的处理过程中,计算机所做的相对独立的工作。 第五章 作业管理二、作业
4、的类型 (根据调度和控制的需要,可对作业进行分类) 从调度的角度,可把作业分成: ()计算型作业 指任务中包含大量的计算,而其I/O较少的作业,通常的科学计算便属计算型作业; ()I/O型作业 要求少量的计算而需大量I/O的作业,如通常的事务处理便属于I/O型作业。 为了提高系统的吞吐量,调度程序应对这两种作业进行合理地组织和调度。 从控制角度可把作业分成:()脱机作业 在整个作业的运行过程中,只需根据作业说明书中的说明对作业进行控制,脱机作业通常是在批处理操作环境下运行,故也称为批量型作业;()联机作业 通常是用键盘命令直接控制作业的运行,联机作业通常在分时操作环境下运行,故也称为终端型作业
5、。第五章 作业管理三、三、 作业的状态及其建立过程作业的状态及其建立过程 1、作业的状态 一个作业从进入系统到运行完成,一般要由系统经过多级调度才能实现,通常要经历“进入(提交)”、“收容(后备)”、“执行”和“完成(终止)”四个阶段,相应地,作业就有四种状态: 1) 进入状态(提交状态):进入状态(提交状态): 当操作员将用户提交的作业通过某种输入方式输入到外存上时,称此阶段为作业处于进入状态。第五章 作业管理2) 后备状态(收容状态):后备状态(收容状态): 当作业所需全部信息已输入到外存,由作业建立程序为之建立一个作业控制块,并插入到后备作业队列中等待作业调度运行为止。把作业在后备队列上
6、等待调度的状态称为后备状态。3)执行状态:)执行状态: 作业调度程序从处于后备状态的作业队列中选中一个作业调入内存,并为这建立相应的进程后,由于此时的作业已具有独立运行的资格,如果处理机空闲,便可立即开始执行,故称此时的作业是进入了运行状态。作业的运行状态又可进一步分为“就绪”、“执行”和“阻塞”三个基本状态。 第五章 作业管理4) 终止状态(完成状态):终止状态(完成状态): 当作业(进程)的运行正常完成或异常结束时,进程便自我终止,或被迫终止,此时作业便进入终止状态。处于终止状态的作业被作业终止程序回收其作业控制块,回收已分配给它的所有资源,然后作业随之消亡。 下图示出了作业的状态及其转换
7、。作业由进入状态到后备状态的转换,是由作业建立程序完成的;从后备状态转变为运行状态是由调度程序所引起;而作业由运行状态自愿或被迫地转变为终止状态,则是在有关作业终止的系统调用的作用下完成的。 第五章 作业管理第五章 作业管理进入状态后备状态运行状态终止状态作业的状态转换作业建立作业调度作业调度(完成)SPOOLING输入SPOOLING输出输入设备辅存输入井内存进程创建占用CPU运行输出设备JOB调度与进程调度作业调度进程调度作业调度2、作业控制块、作业控制块JCB的建立的建立 在系统把作业信息输入到外存输入井之后,还要根据作业说明书内容和有关作业信息在外存中的位置等建立作业控制表JCB,然后
8、插入作业后备队列。JCB包含了系统对作业进行管理所必须的信息。它们通常包含: 作业名作业类型作业在外存的存储地址作业的状态作业优先权(为进程调度算法提供参数)资源要求指针第五章 作业管理3、作业和进程的关系、作业和进程的关系 作业可被看作是用户向计算机提交任务的任务实体,例如一次计算、一个控制过程等。而进程则是计算机为了完成用户所提交的任务实体而设置的执行实体,是系统分配资源的基本单位。显然,计算机要完成一个任务实体,必须要有一个以上的执行实体。也就是说,一个作业总是由一个以上的多个进程组成的。那么作业是怎样分解为进程的呢?首先,系统必须为一个作业创建一个根进程,然后,在执行作业控制语句时,根
9、据任务要求,系统或根进程为其创建相应的子进程,然后,为各子进程分配资源和调度各子进程执行以完成作业要求的任务。作业:任务实体;进程:执行实体。第五章 作业管理 从用户角度看,作业是向计算机系统提交的一个大任务,该大任务可分成各个子任务子任务又可分成更小的任务.每个子任务是用一条一条的指令或命令描述的,称这种描述为子任务的正文段。所有子任务的正文段组成大任务的正文也就是通常所说的“作业的程序文本”。只有当正文段被计算机执行时才能体现出任务的功能。进程是正文段的执行实例(instance),是申请资源的基本单位。换句话说作业(任务)是由多个进程组成的,作业的资源需求量等于它的进程拥有的资源数量之和
10、。第五章 作业管理5.2 作业控制方式 这是用户通过OS提供的“用户与OS的接口”向系统发出各种命令,以管理自己的作业和控制作业的运行。根据作业性质的不同,又可把作业控制方式分为: 批处理作业控制(脱机作业控制):这是OS利用作业说明书对用户提交的批量型作业进行控制; 终端型作业控制(联机作业控制):用户利用OS提供的一组键盘命令对自己的作业进行控制。 第五章 作业管理作业的控制方式(细分):1、联机输入方式:外围设备直接与主机相连,一台主机可连接一台或多台外设。当连接一台外设时,可能会造成CPU的浪费。2、脱机I/O:在外围机的控制下,实现程序和数据的输入输出。解决单台设备联机时的CPU浪费
11、问题而使用的一种输入方式。缺点是需人工干预,如移动存储介质和连接后援存储器等。3、直接耦合方式:保留了脱机输入方式的快速输入的优点,又没有脱机输入方式的人工干预的缺点和具有较强的灵活性的输入方式。直接耦合方式把主机和外围低档机通过一个公用的大容量的外存直接耦合起来,从而省去了脱机输入中那种依靠人工干预来传递后援存储器的过程。第五章 作业管理4、SPOOLing方式外围设备同时联机操作:(在联机输入方式中,如果一台主机联接多台外设,就形成了SPLOOing方式)。为了克服脱机输入/输出工作方式的缺点,在通道技术及多道程序设计技术发展的基础上,人们研制了一种称为SPOOLing(Simultone
12、ous Peripheral Operations On Line)的操作方式,其含义是外围设备同时联机操作。该输入方式的特点是:在有SPOOLing功能的计算机系统中,作业的输入/输出,不再单独使用外转处理机而由主机和相应通道来承担各种功能,而且,通常总是使用直接存取的大容量磁盘作为后援存储器。 在SPOOLing系统中,多台外围设备通过通道或DMA器件和主机与外存连接起来。通道是一个独立于CPU的专管输入输出的处理机,它控制外设或外存与内存之间的信息交换。第五章 作业管理第五章 作业管理注:滕子阳编现代操作系统 53 作业调度 只有批处理系统才必须具有作业调度。在分时系统中由于要进行人机交
13、互,系统必须能及时响应,为此应把用户从终端输入的作业直接送入内存,因此,不再需要专门用于把作业从外存调入内存的作业调度过程。对于实时系统中的实时任务,因为通常对其响应的时间更为严格,故也不需要作业调度。第五章 作业管理一、作业调度 根据计算机管理人员所制定的规则从所有后备作业队列上选择一个或多个作业置于“运行”状态,并为它们分配必要的资源,建立相应的用户作业进程和为其服务的系统进程,最后将它们的程序段调入主存以等待进程调度程序的调度。即:审查系统能否满足用户作业的资源要求且按一定的算法选取作业调入内存分配必要的资源,建立进程,插入就绪队列等待进程调度程序的调度。第五章 作业管理作业调度程序要完
14、成的如下工作:(1)按照某种调度算法从后备作业队列中挑选作业;(2)为选中作业分配主存和外设资源;因此作业调度程序在挑选作业过程中要调用存储管理程序和设备管理程序中的某些功能(如“建立原语”和“撤销原语”);(3)为选中的作业建立相应的进程;(4)构造和填写作业运行时所需的有关表格,如作业表(登记所有在主存中各作业的有关信息)等;(5)作业结束时完成该作业的善后处理工作,如收回资源,输出必要的信息,该作业的全部进程(PCB)和作业控制块(JCB)。二、作业调度的功能二、作业调度的功能 根据计算机管理人员所制定的规则从所有后备作业队列上选择一个或多个作业置于“运行”状态,并为它们分配必要的资源,
15、建立相应的用户作业进程和为其服务的系统进程,最后将它们的程序段调入主存以等待进程调度程序的调度。即:审查系统能否满足用户作业的资源要求且按一定的算法选取作业调入内存分配必要的资源,建立进程,插入就绪队列等待进程调度程序的调度。第五章 作业管理三、作业调度的目标三、作业调度的目标 作业调度的目标与整个系统的设计目标有关,总目标是:(1)能更好地为用户服务;(2)能有效地改善系统性能。因此,调度目标有以下两方面:面向用户的作业调度目标:面向用户的作业调度目标: 作业的平均周转时间尽可能短;保证截止时间前完成;优先权高的作业得到优先服务。面向系统的作业调度目标:面向系统的作业调度目标:系统能获得大的
16、吞吐量吞吐量;使CPU“忙”;平衡利用资源。 由于这些目标的相互冲突,任一调度算法要想同时满足上述目标是不可能的。例如,要想执行尽可能多的作业,调度算法就应选择那些估计执行时间短的作业。而这对那些估计执行时间长的作业是不公平的,且它们的响应时间将会变得非常慢;再如,要使提高CPU的利用率,就得选择计算量大的作业,这对I/O型作业是不公平的等等。所以要想设计一个理想的调度算是件十分困难的事。在实际系统中,选用的调度算法往往是兼顾某些目标的一种折衷考虑的结果。下面我们列举一些在设计调度算法应考虑的因素: 第五章 作业管理 选择的调度算法应与系统的整个设计目标一致。例如,批处理系统应注重提高计算机的
17、效率,尽量增加系统的平均吞吐量(指单位时间内的平均算题个数);而分时系统中应保证用户能忍受的响应时间和一定的资源利用率;实时系统的调度策略是在保证及时响应和处理与时间有关的事件的前提下,才考虑系统资源的使用效率。 批处理提高平均吞吐量;分时响应时间、资源利用率;实时实时性和可靠性。注意系统资源的均衡使用,使“I/O繁忙”的作业与“CPU繁忙”的作业搭配起来运行。 应保证提交的作业在规定的截止时间内完成,而且应设法缩短作业的平均周转时间。 必须指出,对一个具体的系统而言,如果考虑的因素过多,必然使算法变得复杂,结果使系统的开销增加,对提高资源利用反而不利。因此,大多数OS采用比较简单的调度算法。
18、 第五章 作业管理四、调度算法四、调度算法 . 先来先服务(FCFS)调度算法 这是一种最简单的作业调度算法。作业进入系统后,由作业建立程序按作业进入系统的先后次序,将它们插入后备队列。每当进行作业调度时,由作业调度程序顺序扫描后备队列,寻找当前系统的可分配资源能满足作业要求的第一个作业,找出后,将其JCB从后备队列移至现行作业队列,并把作业状态改为运行,同时将它调入内存,为之创建进程,再将该进程挂在就绪队列上。 应当指出,作业调度中的FCFS算法,并不一定是选择后备队列中的第一个作业投入运行,而是从后备队列中选择现有系统资源能满足作业要求的第一个作业,因此,FCFS算法只是对那些系统的可分配
19、资源能满足要求的作业而言。 第五章 作业管理2. 最短作业优先(SJF)调度算法 作业的长短是以估计的作业运行时间的长短来衡量的。SJF算法的依据是作业的长短。因此,SJF算法是从后备队列选择其估计运行时间最短的作业,且系统的可分配资源能满足其要求的作业,使之投入运行。 该算法有利于短作业而不利于长作业,由于80以上的作业都是短作业,故该算法能得到较多用户的支持。该算法优点是能明显地缩短作业的等待时间,再由于作业自身执行的时间又很短,致使系统中的短作业能很快地一个一个地完成,故SJF算法有利于提高系统的吞吐量,和减少作业的平均周转时间。 缺点:该算法不利于长作业;该算法也未考虑到优先权因素;由
20、于作业长短的估计运行时间通常是由用户提供的,用户可能会意或无意地减少其作业的估计运行时间,而致使该算法不是真正的短作业优先调度算法。 第五章 作业管理3. 响应比高者优先(HRN)调度算法 该算法是将SJF算法与FCFS算法改进后加以折衷而得。它除了考虑作业要求的运行时间外,还考虑到作业的等待时间。在该算法中对响应比的定义如下: 响应比(作业等待时间作业要求的运行时间)作业要求的运行时间=1+作业等待时间 / 作业要求的运行时间 该算法的缺点是,每次进行作业调度时,都要对每个作业的响应比进行计算,致使作业调度的开销很大,此外,对紧迫作业也未能给予特殊照顾。 4. 优先数调度算法 系统为每一个作
21、业确定一个优先数,存放于作业控制块,优先数高的作业优先被调度选取。当几个作业有相同的优先数时,对这些具有相同优先数的作业发先来先服务原则进行调度。那么如何确定作业的优先数?可根据作业的缓急程度、估计作业运行的时间、作业等待时间,资源申请的情况等各种因素综合权衡之后确定作业的优先数。第五章 作业管理 例如:假设有四道作业,它们的进入时间和运行时间由下表给出: 在单道程序环境下,分别采用先来先服务和最短作业优先调度算,试分别说明它们的调度顺序及平均周转时间和平均带权周转时间(不剥夺方式)。 作业号 进入时间(时) 运行时间(小时) 110004 21011 310206 410302第五章 作业管
22、理解:四道作业的运行时间表如下:作业号进入时间(时)运行时间(小时)FCFSSJF完成时间(时)周转时间(小时)完成时间(时)周转时间(小时)110.00.410.4 0.410.4 0.4210.1111.4 1.312.2 2.1310.20.612.0 1.811.2 1410.30.212.2 1.910.6 0.3第五章 作业管理FCFS:调度顺序是、 平均周转时间J=(0.4+1.3+1.8+1.9)/4=1.35(小时) 平均带权周转时间W=(0.4/0.4+1.3/1+1.8/0.6+1.9/0.2)/4=3.7(小时) SJF:调度顺序是、 平均周转时间J=(0.4+2.1+
23、1+0.3)/4=0.95(小时) 平均带权周转时间W=(0.4/0.4+2.1/1+1/0.6+0.3/0.2)/4=1.55(小时) 说明:短作业优先调度算法能明显地降低作业的平均周转时间。第五章 作业管理5.4 与用户的接口(书中5.1) 用户接口用户接口 是计算机系统与其用户之间进行交互作用和通信的通路。对绝大多数用户而言,一个计算机系统的可接受性在很大程度上取决于这个用户接口。 用户接口通常是以命令或系统调用命令或系统调用的形式呈现在用户面前,前者提供给用户在键盘终端上使用,后者则提供用户在编程时调用。所以分别称为程序接口和命令接口。下面分别述之。第五章 作业管理1、程序级接口、程序
24、级接口由一组系统调用组成由一组系统调用组成 程序接口程序接口:指用户程序和OS之间的接口。这是操作系统为用户程序访问计算机资源而提供的接口,是用户程序取得操作系统服务的唯一途径。亦即程序接口是操作系统为正在运行的程序提供服务并与之通信的一个设施。它供所有的用户使用;同时,也供操作系统的其它组成部分,特别是命令处理程序使用。程序接口的职责是装入并创建一个准备开始运行的程序(进程)。此外,这个接口还为程序正常或异常终止给出适当的响应。当一个程序正在执行时,程序接口接受对系统服务及资源的申请,并与操作系统的资源管理程序进行通信。这个程序接口主要由一组系统调用(System Call)组成,通过系统调
25、用程序实现与操作系统的通信。 第五章 作业管理 什么是系统调用呢? 系统调用: 指系统为用户程序调用操作系统所提供的子程序。 它是一种特殊的过程调用,这种调用通常是由特殊的机器指令实现的。除了提供对操作系统子程序的调用外,这个指令还将系统转入特权方式。因此,系统调用程序被看成是一个低级的过程,只能由汇编语言直接访问。大多数用高级语言编写的程序通过子程序库来访问这些系统调用。这些子程序执行系统调用并完成其它的有关功能。总之,它与一般的它与一般的函数调用不同,系统调用是通过中断方式转向相应子程序的,函数调用不同,系统调用是通过中断方式转向相应子程序的,它工作在核心态(即特权方式),而一般函数的调用
26、,仍仅它工作在核心态(即特权方式),而一般函数的调用,仍仅是在用户态下的地址转移。是在用户态下的地址转移。第五章 作业管理二、命令接口二、命令接口 为了便于用户直接或间接地控制自己的作业,操作系统向用户提供了命令接口,用户可通过该接口向作业发出命令以控制作业的运行。该接口又可进一步细分为联机用户接口和脱机用户接口:1. 脱机命令接口:该接口是为批处理作业的用户提供的,故也称为批处理用户接口。它是由一组作业控制语言JCL所组成。批处理作业的作户不能直接与自己的作业交互作用,只能委托系统代替用户对作业进行控制和干预,这里的作业控制语言JCL便是提供给批处理作业用户,将所需实现的功能,委托系统代为控制的一种语言。用户用JCL把对作业需进行的控制和
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年汽车租赁合同租金调整机制及条件
- 2024年度单价采购合同与供应商合同变更及终止协议3篇
- 2024年度城市地铁建设特许经营权转让合同3篇
- 2024年柴油生产与销售协同发展合同
- 政府部门民主议事制度改革
- 2024年标准劳务分包补充修正合作合同版B版
- 危险化学品运输装卸安全管理制度流程
- 幼儿园心理健康教育制度构建
- 针灸科患者安全管理制度
- 2024年标准化消毒服务合同范本一
- 公司领导班子绩效考核表格
- 卫浴产品销售订货单Excel模板
- 保安队排班表
- (完整版)第二章-铸铁的结晶及组织形成课件
- SparkCCD6000操作规程操作版分解
- 工程勘察设计收费标准(2002年修订本)
- EN779-2012一般通风过滤器——过滤性能测定(中文版)
- 计量经济学论文
- 劳务分包的施工方案
- 实习律师申请表(模板)
- 电气装置安装工程接地装置施工及验收规范
评论
0/150
提交评论