第六章 作业管理.ppt
《第六章 作业管理.ppt》由会员分享,可在线阅读,更多相关《第六章 作业管理.ppt(49页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第六章 作业管理 6.1概述6.2操作系统与用户的接口6.3批处理作业的管理6.4交互式作业的管理6.1 概述(1)1.作业把用户在一次解题过程中要求计算机所做工作的集合称为一个作业。在计算机上运行用户作业时,通常要经历以下4步:(1)编辑,即采用某种高级语言按一定算法编写源程序,将源程序通过某种手段(如键盘输入)送入计算机内;(2)编译,即调用上述高级语言的编译程序,对源程序进行编译,产生目标代码程序;(3)链接,即将目标代码及调用的各种库代码连接装配成一个可执行代码;(4)运行,即提供程序运行时所需数据,运行程序并产生计算结果。2.作业步任何一个作业都要经过若干加工步骤才能得到结果,作业的
2、每一个加工步骤称为一个“作业步”。每个作业步都对应一个程序的执行,各作业步之间总是相互联系的,并在逻辑上是顺序执行的,前一个作业步的输出信息往往作为后一个作业步的输入,如图61所示。实际上每个作业所经历的加工步骤是可以不同的。图6-1作业控制过程6.1 概述(2)3.作业控制方式所谓“作业控制方式”是指用户根据操作系统提供的手段来说明作业加工步骤的方式。作业控制方式有两种,即批处理控制方式和交互式控制方式。(1)批处理控制方式 采用批处理控制方式控制作业执行时,用户使用操作系统提供的“作业控制语言”对作业执行的控制意图编写成一份“作业控制说明书”,连同该作业的源程序和初始数据一同提交给计算机系
3、统,操作系统将按照用户说明的控制意图来控制作业的执行。于是,作业执行过程中用户不必在计算机上进行干预,一切由操作系统按作业控制说明书的要求自动地控制作业执行。采用该方式对作业进行控制时,其控制意图是事先在脱机情况下说明的,不必联机输入,且采用这种控制方式的作业完全由操作系统自动控制执行。因此,该控制方式又称自动控制方式或脱机控制方式。很明显,该控制方式适合成批处理作业,在成批处理时操作系统将按各作业的作业控制说明书中的要求分别控制相应的作业按指定的步骤去执行。采用批处理控制方式的作业称为“批处理作业”,又称“脱机作业”。(2)交互式控制方式 采用交互式控制方式控制作业执行时,用户使用操作系统提
4、供的“操作控制命令”来表达对作业执行的控制意图。执行时,用户逐条输入命令,操作系统每接到一条命令,就根据命令的要求控制作业的执行,一条命令所要求的工作做完后,操作系统把命令执行情况通知用户且让用户输入下一条命令,以控制作业继续执行,直至作业执行结束。采用交互方式时,在作业执行过程中操作系统与用户之间需不断交互信息,用户必须在联机方式下通过对计算机的直接操作来控制作业的执行。因此,交互式控制方式又称联机控制方式。交互方式适合终端用户使用,终端用户通过终端设备把操作控制命令传送给操作系统,操作系统把命令执行情况也通过终端设备通知用户,最终从终端上输出结果。采用交互式控制方式的作业称为“交互式作业”
5、,又称“联机作业”,对于来自终端的作业也称为“终端作业”。6.2 操作系统与用户的接口 操作系统是用户与计算机系统之间的接口,用户在操作系统的帮助下,可以安全、可靠、方便、快速地使用计算机系统。操作系统向用户提供了两种接口,以便用户与操作系统之间建立联系。一是操作系统为用户提供的各种操作命令或作业控制语言(JCL),用户可利用这些操作命令或作业控制语言来组织作业的工作流程和控制作业的运行;二是操作系统为用户提供的一组系统功能调用接口,用户可以在源程序一级使用这些系统调用,请求操作系统提供的服务(如,请求使用各种外部设备进行信息传输、向系统申请资源等)。如图6-2所示。图6-2用户与操作系统间的
6、两种接口6.2.1 命令接口(1)操作系统为用户对作业组织和运行进行全过程控制提供了命令接口。命令接口通过在用户和操作系统之间提供高级通信来控制程序执行,即用户通过输入设备(包括键盘、鼠标、触摸屏等)发出一系列命令告诉操作系统执行所需的功能。根据作业控制方式的不同,可将命令接口又分成联机命令接口和脱机命令接口。1联机命令接口联机命令接口又称交互式命令接口,它是由一组键盘操作命令组成,用于完成联机作业的控制。在这种方式下,用户使用操作系统提供的键盘操作命令来直接控制作业的执行。执行时,用户输入一条条命令,操作系统每接到一条命令,就按照命令的要求控制作业的执行。系统每执行完一条命令所要求的工作后,
7、就把命令执行情况通知用户,且让用户决定下一步操作,直至作业执行结束。6.2.1 命令接口(2)2.脱机命令接口脱机命令接口又称批处理命令接口,它是专为批处理作业的用户提供的,利用作业控制语言中的命令来完成脱机作业的控制。由于批处理作业的用户不能直接与自己的作业进行交互控制,只能使用操作系统提供的“作业控制语言”将对作业执行的控制意图编写成“作业控制说明书”并提交给计算机系统,然后由操作系统按照作业控制说明书的要求来自动控制作业的执行,用户不必在计算机上进行干预。当批处理作业运行时,系统调用命令解释程序对作业控制说明书中的作业控制命令逐条进行解释执行,若作业在执行中出现错误,系统也同样根据作业控
8、制说明书中的控制要求进行干预。因此,作业将一直在作业控制说明书的控制下执行,直至遇到作业结束语句时,系统才停止该作业的执行。6.2.2 程序接口(1)程序接口是由提供给编程人员使用的系统调用命令组成。编程人员允许在运行程序中,利用系统调用在程序这一级提出资源申请和功能服务,从而获得操作系统的底层服务,使用或访问系统的各种软硬件资源。操作系统提供的系统功能调用从低级的汇编语言级的接口,发展到高级语言中提供的操作系统服务。用户在用高级语言编程时,可以利用操作系统提供的丰富的系统功能调用来请求系统资源,进行进程控制和通信,完成信息的处理等工作。1系统调用 操作系统的基本服务是通过系统功能调用来实现的
9、,系统调用是操作系统为用户程序提供的一种服务,由若干不同功能的子程序组成,用户程序在执行中可以调用这些子程序。由操作系统提供的这些子程序称“系统功能调用”程序,或简称“系统调用”。“系统调用”是在管态下执行的程序。系统调用是用户所需要的功能,有些是比较复杂的,硬件不能直接提供,只能通过软件的程序来实现;而有些功能可由硬件完成,并设有相应的指令,如启动外设工作,就有用于输入/输出的硬指令。但配置了操作系统后,对系统资源的分配、控制不能由用户干预,而必须由操作系统统一管理。所以,对于这样一类功能,也需有相应的控制程序来实现。6.2.2 程序接口(2)2系统调用分类 不同的操作系统提供的系统调用不完
10、全相同,但大致都包括以下几类:(1)文件操作类 这类系统调用包括打开文件、建立文件、读文件、写文件、关闭文件及删除文件等。(2)资源申请类 这类系统调用包括请求分配主存空间、归还主存空间、分配外围设备及归还外围设备等。(3)控制类 执行中的程序可以请求操作系统中止其执行或返回到程序的某一点再继续执行。操作系统要根据程序中止的原因和用户的要求作出处理。因而这类系统调用有:正常结束、异常结束、返回断点及返回指定点等。(4)信息维护类 这类系统调用包括设置日期时间、获取日期时间、设置文件属性及获取文件属性等。6.2.2 程序接口(3)3系统调用执行过程 现代计算机系统硬件提供一条“访管指令”,该指令
11、可以在目态下执行。用户编制程序使用系统调用请求操作系统服务时,编译程序将其转换成目标程序中的“访管指令”及一些参数。目标程序执行时,当CPU执行到“访管指令”,产生自愿性中断,操作系统接过控制权(在管态下),并分析“访管指令”中相关参数,让对应的“系统调用”子程序为用户服务;完成系统调用后,操作系统将CPU状态改变为目态,返回到用户程序继续执行。其执行过程可大致分成三个阶段:(1)设置系统调用参数系统调用参数传递到寄存器中,其传递方式有两种,一种是直接将参数传递到相应的寄存器中,另一种方式是先将系统调用所需参数放入一张参数表中,然后再将参数表的指针放在某个规定的寄存器中。(2)系统调用命令的一
12、般性处理在设置了系统调用参数后,便可执行系统调用命令。不同的系统可采用不同的方式来进行一般性处理,但一般都是首先保护CPU现场,将程序状态字PSW、程序计数器等压入堆栈,然后将用户定义的参数传递到指定的地方保存起来。为了使不同的系统调用能方便地转向相应的命令处理程序,可在系统中配置一张系统调用入口表。表中的每个表目都对应一条系统调用命令,它包含有该系统调用自带参数的数目、系统调用命令处理程序的入口地址等。因此,操作系统可利用调用参数去查找该表,即可找到相应命令处理程序的入口地址而转向执行它。(3)系统调用命令的处理程序完成具体过程对于不同的系统调用命令,其命令处理程序将执行不同的功能。在这一步
13、中,系统执行系统调用对应的程序段,即执行对应的“系统调用”子程序为用户服务,待完成系统调用后,返回到用户程序继续执行后续过程。6.2.2 程序接口(4)4.用户接口的发展随着计算机技术、多媒体技术的发展,使操作系统提供的接口在形式上和功能上发生了很大的变化,其发展方向是可视化、集成化、智能化。操作系统为用户提供的是一个更友好的、更直观的、易懂的、图文并茂的、且具有一定智能的运行环境。用户可以通过文字、图像、声音等媒体,以及键盘、鼠标、扫描仪、声音装置等部件来驱动操作系统提供的命令和用户扩充的自定义命令,从而达到轻松、方便地使用计算机的目的。Windows操作系统就为用户提供了良好的图形接口。6
14、.3 批处理作业的管理 6.3.1 批处理作业输入6.3.2 批处理作业的调度6.3.3作业调度算法6.3.4 批处理作业的控制根据作业进入系统的过程,可将作业管理功能分成三部分:(1)作业输入:把作业装入辅存输入井中,并按照进入的先后顺序形成后备作业队列的过程。(2)作业调度:按某种调度策略选择后备作业队列中的若干作业装入主存运行的过程。(3)作业控制:在操作系统控制下,用户如何组织他的作业并控制作业的运行。6.3.1 批处理作业输入(1)在采用批处理控制方式的计算机系统中,每个用户根据自己的实际要求来组织批处理作业,并把准备好的作业提交给计算机系统,操作系统完成将该批处理作业向系统成批输入
15、。1作业控制语言每个批处理作业都包括源程序、初始数据和作业控制说明书三部分,其中作业控制说明书是用作业控制语言书写的,它刻画了用户对作业的基本情况描述和资源需求描述,规定了用户对作业执行的控制要求。作业基本情况描述一般含用户名、作业名、使用的编程语言名、允许的最大处理时间等;作业的资源需求描述含需求的主存大小、外设种类及台数、处理器优先级、所需运行时间、需求库函数等;作业执行的控制要求一般包括作业的控制方式、作业步的执行顺序、作业的异常处理等。作业控制语言(JCL,Job Control Language)是由若干作业控制语句组成的集合,每个控制语句除包含了表示特征的关键字外,还有指示控制要求
16、的若干参数。在脱机工作方式下,系统提供作业控制语言将作业的控制要求编写成作业控制说明书的形式,并通过作业控制说明书对作业实施运行控制。不同计算机系统的作业控制语言格式不尽相同,各有特点,但大都提供以下主要功能:(1)作业的提交。(2)控制作业和作业步的执行。(3)各种软硬件资源的使用。6.3.1 批处理作业输入(2)2作业控制块作业控制块(JCB,Job Control Block)是批处理作业存在的标志,其中存有系统对于作业进行管理所需要的全部信息,它们被保存于辅存存储区域中。作业控制块中所包含的信息数量及内容因系统而异,但一般应包含:作业名、作业状态、作业类别、作业优先级、作业控制方式、资
17、源需求量、进入系统时间、开始运行时间、运行时间、作业完成时间和所需主存地址及外设种类及台数等。(1)作业控制块的建立当作业开始由输入设备输入到辅存的输入井时,系统输入程序即为其建立一个作业控制块,并对其进行初始化。初始化的大部分信息取自作业控制说明书,其它的部分信息如作业进入系统时间和作业开始运行时间等则由资源管理器给出。(2)作业控制块的使用需要访问作业控制块的程序主要有系统输入程序、作业调度程序、作业控制程序和系统输出程序等。(3)作业控制块的撤销当作业完成后,其作业控制块由系统输出程序撤销,作业控制块被撤销后其作业也不复存在。6.3.1 批处理作业输入(3)3作业表每个作业都有一个作业控
18、制块,所有作业的作业控制块就构成了一个作业表。作业表存放在辅存固定区域中,长度是固定的,它限制了系统所能同时容纳的作业数量。系统输入程序、作业调度程序、系统输出程序都需要访问作业表,因而存在互斥问题。6.3.1 批处理作业输入(4)4批处理作业的建立作业建立的前提条件是首先要向系统申请获得一个空的作业表项和足够的输入井空间。建立时,一个作业必须将作业所包括的全部程序和数据输入到辅存中保存起来,并建立该作业对应的作业控制块。因此,作业的建立过程包括两个阶段:建立作业控制块阶段和作业输入阶段。(1)作业控制块的建立建立作业控制块的过程就是申请和填写一张含空白表项的作业表的过程。由于操作系统所允许的
19、作业表的长度是固定的,即作业表中存放的作业控制块个数是确定的,因此当作业表中无空白表项时,系统将无法为用户建立作业,作业建立将会失败。(2)作业的输入批处理作业的输入是将作业的源程序、初始数据和作业控制说明书通过输入设备输入到辅存并完成初始化的过程。作业输入时,操作系统通过“预输入命令”启动Spooling系统中的“预输入程序”工作,就可把作业信息存放到“输入井”中。预输入程序根据作业控制说明书中的作业标识语句可以区分各个作业,把作业登记到作业表中,并把作业中的各个文件存到“输入井”中。这样,就完成了作业的输入工作,被输入的作业处于“后备状态”,并在“输入井”中等待处理。采用Spooling系
20、统的输入方式时,由于辅存中的输入井空间大小是有限的,因此若输入井中无足够大小的空间存放该作业,则作业建立仍然会失败。6.3.2 批处理作业的调度(1)1作业调度程序作业调度不仅要按某种调度策略(即调度算法)从后备作业队列中选择作业装入主存,还要为选中的作业分配所需资源,为作业进入CPU运行作好准备。完成作业调度功能的控制程序称为作业调度程序。通常作业调度程序要完成下述工作:(1)按照某种调度算法从后备作业队列中选取作业。(2)为被选中的作业分配主存和外设资源。因此作业调度程序在挑选作业过程中要调用存储管理程序和设备管理程序中的某些功能。(3)为选中的作业开始运行做好一切准备工作。这种准备工作包
21、括:修改作业状态为运行态,为运行作业创建进程,构造和填写作业运行时所需要的有关表格,如作业表等。(4)在作业运行完成或由于某种原因需要撤离系统时,作业调度程序还要完成作业的善后处理工作。包括回收分给它的全部资源,为输出必要信息编制输出文件,撤销该作业的全部进程和作业控制块等,最终将其从现行作业队列中删除。6.3.2 批处理作业的调度(2)2作业状态作业从提交到系统直到它完成后离开系统前的整个活动可划分为若干阶段。作业在每个阶段所处的状态称为作业的状态。通常作业的状态分成四种:(1)提交状态:一个作业在其处于用户手中并经过输入设备进入到输入井,系统为其建立作业控制块。这时的作业处于提交状态。(2
22、)后备状态:对于已经进入输入井的作业,系统将它插入到输入井后备队列中,等待作业调度程序的调度运行,这时的作业处于后备状态。(3)运行状态:一个处于后备状态的作业,一旦被作业调度程序选中进入主存,系统就为它分配必要的资源,建立相应的进程,这时的作业就处于运行状态。(4)完成状态:作业完成其全部运行并释放其所占全部资源而正常结束或异常终止时,作业就处在完成状态。此时作业调度程序对该作业进行一系列善后处理,并退出系统。作业状态的转换是一个在其生命周期中的连续过程,对应的状态转换图如图6-3所示。图6-3状态转换图6.3.2 批处理作业的调度(3)3作业调度的影响因素对于每个用户来说,都希望自己的作业
23、尽快执行,但就计算机系统而言,既要考虑用户的需求又要有利于整个系统效率的提高,因此作业调度中应该综合考虑多方面的因素。主要考虑的因素主要有:(1)公平性:公平对待每个用户,让用户满意,不能无故或无限制地拖延某一用户作业的执行。(2)均衡使用资源:每个用户作业所需资源差异很大,因此需注意系统中各资源的均衡使用,使同时装入主存的作业在执行时尽可能利用系统中的各种不同资源,从而极大提高资源的使用率。例如,进行科学计算的作业要求较多的CPU时间,但输入输出要求较少;而事务处理作业则要求较少的CPU时间,但要求较多的输入输出操作。因此应将这两种作业合理搭配,使得系统各种资源发挥最佳效益。(3)提高系统吞
24、吐量:通过缩短每个作业的周转时间,实现单位时间内尽可能为更多的作业服务,从而提高计算机系统的吞吐能力。(4)平衡系统和用户需求:用户满意程度的高低与系统效率的提高可能是一对相互矛盾的因素,每个用户都希望自己的作业立即投入运行并很快获得运行结果,但系统必需考虑系统的整体性能的提高,有时却难以满足用户需求。上述这些因素可能不能兼顾,应根据系统的设计目标来决定优先考虑的调度因素。6.3.2 批处理作业的调度(4)4作业调度的性能指标对于批处理系统而言,作业调度的性能优劣受多项指标影响,主要的性能指标体现在:(1)CPU利用率:CPU利用率是CPU的有效运行时间与总的运行时间之比。因此,比值越大,其C
25、PU利用率越高。(2)吞吐能力:吞吐能力是指单位时间内完成作业的数量。因此,完成的数量越多,其吞吐能力越强。(3)周转时间:所谓作业的周转时间,是指从作业被提交进入输入井开始,到作业执行完成的这段时间间隔。每个作业的周转时间都应包括四个部分:作业在输入井后备队列中等待作业调度的时间,进入主存后创建的进程在进程就绪队列中等待进程调度的时间,进程占据CPU执行的时间,及进程等待I/O操作完成的时间。若设Tci为作业i的完成时间,Tsi为作业被提交进入输入井的时间,则作业i的周转时间定义为:Ti=Tci-Tsi很显然,作业的周转时间越短,作业越早被调度并运行。(4)平均周转时间:所谓作业的平均周转时
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第六章 作业管理 第六 作业 管理
限制150内