批处理作业和交互式作业资料

上传人:E**** 文档编号:107401843 上传时间:2019-10-19 格式:DOC 页数:12 大小:93KB
返回 下载 相关 举报
批处理作业和交互式作业资料_第1页
第1页 / 共12页
批处理作业和交互式作业资料_第2页
第2页 / 共12页
批处理作业和交互式作业资料_第3页
第3页 / 共12页
批处理作业和交互式作业资料_第4页
第4页 / 共12页
批处理作业和交互式作业资料_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《批处理作业和交互式作业资料》由会员分享,可在线阅读,更多相关《批处理作业和交互式作业资料(12页珍藏版)》请在金锄头文库上搜索。

1、题目三在支持批处理与分时的操作系统中,用户如何在终端上提交批处理作业和交互式作业?作业可以分成批处理作业和交互式作业两大类第二节 批处理作业的管理计算机系统可成批地接受采用批处理控制方式组织的作业,但批处理作业在进入计算机系统之前,用户除了要准备好源程序和数据外,还必须用作业控制语言来书写一份作业控制说明书,规定如何控制作业的执行。一、作业控制语言在不同的计算机系统中,操作系统提供的作业控制语言可能是不同的,但它们的基本特征是类似的。作业控制语言由若干控制语句组成,每个控制语句除含有表示语句特征的关键字外,还可以有指示控制要求用的若干参数。例如,表示需进行编译工作的控制语句中,应该有指示“编译

2、”特征的关键字,另外还应有指出源程序名、目标程序文件名等参数。关于控制语言祥细信息可查阅有关资料。一个作业的每一个作业步都可以用一个控制语句来表示。于是用户可以用作业控制语言中若干控制语句组成一份控制作业执行的“作业控制说明书”,指出自己的作业要经历哪些步骤以及执行顺序。二、批处理作业的输入用户根据自己的解题要求组织作业,把每一个作业的源程序、数据和作业控制说明书都定义为文件,这些文件组织在一起构成一个作业的信息。作业信息可存储在存储介质上(例如磁带、磁盘)交给操作员,操作员收集到若干用户作业后可将它们依次排列组成作业流。在采用SPOOLing系统中,操作员只要输入一条“预输入”命令启动“预输

3、入程序”工作,就可把作业流中的作业信息存放在输入井中等待处理。三、批处理作业的调度1.作业调度的功能作业调度程序作为一个系统进程在系统中运行,它是在系统初始化时被创建的,具有如下功能:记录系统中各作业的情况。为此,系统为每个作业建立一个作业控制块,在块中登记作业的有关信息。作业控制块是作业调度程序用来实现作业调度和管理的数据结构。按照系统提供的调度算法从后备队列中选取作业投入运行。通常在输入井中有一批作业处于后备状态,而只有少数几个作业处于执行状态。作业调度程序的主要功能就是按照一定的调度算法从后备队列中选取若干个作业投入运行。给被选中的作业分配必要的资源。一个作业从后备变成运行状态之前 ,作

4、业调度程序应为该作业建立相应进程 ,并分配必要的内存、外围设备等资源。至于处理器则由进程调度程序分配。为作业开始运行作好准备工作。将选取的作业控制块传递给作业运行控制系统,随时将作业的变化情况记入作业控制块(如状态改为执行状态);构造和填写作业运行时所需表格,建立负责其运行控制的作业运行控制程序等。作好作业完成时的善后工作 。作业运行可能正常结束 或非正常中止 ,作业调度收回分配的资源 ,包括作业控制块。对非正常结束,还应给出引起错误的原因,以便用户纠正错误,重新将作业投入运行。2.后备作业队列和作业控制块系统通过输入程序把许多用户作业信息全部输入到输入井之后,形成一个等待运行的后备作业队列,

5、这个队列的构成原则可按作业优先数大小顺序排列,也可按每个作业到来的时间顺序排列。系统还要为每一个作业建立一个单独的作业 控制块( JCB Job-Control- Block),这时录入输入井的作业信息才成为后备作业队列中的一员。每个作业的JCB是在该作业进入后备状态时由系统所建立,在该作业退出系统时由系统随之撤销。JCB 是描述个作业生存期的特征行之有效的方法。在一个作业的生命周期中,对作业运行控制系统而言,JCB 是每个作业存在的惟一标志,系统关心的不是作业的具体功能和内部操作,而是作业的外部特性。这些特征为系统提供了必要的管理和控制信息。JCB 通常包括作业标识信息、作业调度参数、资源申

6、请和分配使用情况、控制信息等。系统通过JCB 和后备队列表实现对作业的管理和控制。JCB和后备队列表如图6.2所示。用户名作业名作业的源程序语言主存申请量外设申请作业优先数作业类别作业建立时间作业估计运行时间作业状态作业说明书文件名. . 作业个数计数器 作业A的控制块 作业B的控制块 作业C的控制块 作业D的控制块. (a)作业控制块 (b)后备作业队图6.2 JCB和后备队列表每当SPOOLing系统输入一个作业后,就应在后备队列中形成一个JCB,并将作业个数计数加1。3.作业调度算法作业调度程序的功能之一是把处于“后备”状态的作业变成“执行”状态,即从后备队列中选择若干个作业投入运行。对

7、于小型系统来说,由操作员安排好顺序,由作业调度程序依次选取作业运行即可。但对于大型系统,必需把所有作业预先存入输入井中,然后由作业调度程序根据调度算法选择合适的作业投入运行。作业调度算法的设计要考虑如下原则:公平性、平衡资源使用、极大的流量。下面是常用的调度算法。先来先服务算法。这种算法是按作业到来的先后顺序选取作业运行。这种方法照顾等候时间量长的作业,而不管它要求的服务时间是多少。这是一个简单省事的调度算法。由于没有考虑各个作业的运行特性和资源要求的差异,因此效率不高。在不太复杂的系统中常常采用这种算法。计算时间短的作业优先算法。衡量一个作业的长短是以要求运行的时间量为标志的 。每个申请运行

8、的作业 应提出所需要的运行时间,最短作业优先调度算法总是选取运行时间最短的作业投入运行。由于任何作业,只要它处在运行状态,就会推迟后备队列中的作业,因此要使等待的作业尽量少,就得牺牲那些运行时间长的作业。这种算法对那些运行时间短的作业有利,系统的周转率高,实现容易,但忽视了作业的等待时间,对长作业不利。此外,一旦长的作业开始运行,其他作业都要一直等到它运行完毕为止。响应比高者优先算法。先来先服务和最短作业优先这两种算法都具有片面性 。前者只考虑作业的等待时间 ,而完全忽视其服务时间;后者则正好相反。于是人们设计了响应比最高者优先算法。响应比是指作业等待时间与作业运行时间的比值,即 响应比=作业

9、等待时间/作业运行时间当多个用户共享1台处理器时,作业的等待时间总是大大高于作业运行时间,这种调度算法优先选取响应比最高的作业投入运行。由响应比可以看出,一个作业的响应比随着等待时间的增加而增加,它兼顾了运行时间短和等待时间长的作业,是一个较为合理的折衷方法。优先数调度算法。当采用优先数调度算法中,优先数的选择多种多样,最简单的一种是在作业进入系统的同时,由用户自己给出作业的优先数。但这样做可能造成一些混乱,调度算法无法实施。在一些系统中,作业的优先数由系统根据作业的属性确定 。这些 属性包括作业运行时间的长短、内存空间的需求量 、作业到达时间 、对系统其他资源要求多少等 。如Lancaste

10、r大学的JUNE系统,优先数计算公式为: 优先数=(等待时间)的平方 - 要求运行时间 - 16输出量其中等待时间是指作业在 后备队列中巳经等待 的时间(以分计算),要求运行时间(以秒计算)和输出量(以行计算)是根据作业控制块中所记录的相应值确定的。由上式可看出,随着等待时间的增加,其优先数也不断发生变化,此系统对短作业有利,但也不“抛弃”等待时间长的长作业。作业优先数的规定随着系统而异,如外围设备优先,最大(小)内存优先、最长(短)时间优先等等,选取调度算法应全盘考虑,不应片面强调某一特殊情况。均衡调度算法。根据作业对资源的要求进行分类,作业调度轮流地从不同类的作业中去挑选作业,尽可能地使得

11、使用不同资源的作业同时执行。这样不仅可使系统的资源都在被使用,而且可以减少作业等待使用同类资源的时间,从而加快了作业的执行。四、批处理作业的控制个批处理控制方式的作业被作业调度选中后,操作系统按照户的作业控制说明书中所规定的控制要求去控制作业的执行。一个作业往往要分几个作业步执行,一般说,总是按作业步的顺序控制作业的执行,一个作业步执行结束后,就顺序取下一个作业步继续执行,直到最后一个作业步完成,整个作业就执行结束。当一个作业执行结束后,系统收回作业所占的资源且撤离该作业,作业执行的结果在输出井中等待输出。如果作业执行到某个作业步时发生错误,则要分析错误的性质,对某些用户估计到的错误且用户己在

12、作业控制说明书中提出的处理办法的,系统应按用户的说明转向指定的作业步继续顺序执行,直至作业执行结束。当一个作业撤离后,应让作业调度程序再选择作业装入内存运行。图6.3是作业的控制流程。第一节 作业和交互式作业管理人们花费很多力量去研究、设计操作系统,其目的之一就是为了方便用户的使用,无需操作员干预,系统就能顺利运行。我们对每台计算机的印象使用是否方便、可靠性如何和功能是否齐全,都是通过操作系统观察计算机而得出的。用户通过操作系统使用和控制计算机,不再与裸机发生直接关系,因而操作系统便成了用户和计算机之间的接口,而作业管理又是操作系统和用户最主要的界面。在操作系统的协助下,用户可将自己的意图告诉

13、计算机,同时用户也能及时了解自己作业的运行情况。于是用户可以方便灵活、安全可靠、有效地使用计算机系统的资源来解决问题。在现代计算机系统中,通常为用户提供了程序员级接口、联机用户或交互式接口、脱机或批处理用户等三种。其中,程序员级接口用于高级语言使用,本章讨论后两种方式,即交互式作业和批处理作业的管理。一、作业和作业步在操作系统中,常常把用户要求计算机完成的一个计算任务或事务处理称为一个作业。一个作业是一个独立的计算任务或事务处理,不与其他作业发生直接联系。它可能包括几个程序的相继执行,例如,用高级语言写成了程序的编辑、编译及执行。一个作业也可能需要同时执行为同一任务而协同工作的若干程序。例如其

14、中一个程序控制打印数据,另一个程序则计算并产生输出。由此可以看出,作业比程序具有更广泛的概念。处理一个作业,往往要求计算机系统进行编辑 、编译 、连接装配、运行等几个步骤。其中每一步处理都要申请不同的资源。为了便于操作系统进行资源分配和作业调度,通常把一个作业分成若干个顺序处理的相对独立的工作,即作业步。每个作业步都有一个相应的程序的执行来完成的,例如,“编译”作业步执行编译程序,对源程序进行编译并产生浮动的目标程序;“连接装配”作业步执行装配程序,把由编译产生的目标程序与系统子程序、库函数等连接装配成可执行的目标程序;“运行”作业步执行运行程序来控制目标程序的执行,在执行中调用动态库函数和读

15、入初始数据进行处理并产生处理结果。二、作业控制方式通常,一个典型的作业都要经历编译、连接装配和运行等几个作业步。但是 ,实际上每个作业所经历的加工步骤是可以不同的 。例如,用户已保存了某个作业的可执行的目标程序,那么,当需再次执行该作业时就不必对源程序再进行编译等工作,而可直接进入运行作业步对数据加工处理。计算机系统怎么知道用户作业要经历哪些作业步呢?系统显然应要求用户在提交作业时或在作业执行过程中给出说明。为此,操作系统提供两种手段:作业控制语言和操作控制命令,让用户来说明他的作业须进行加工的步骤。用户根据操作系统提供的手段来说明作业加工步骤的方式称为“作业控制方式”。在操作系统中,为了合理、有效地调度用户作业,一般要对作业进行分类 。通常将用户作业分为两大类型 :批处理作业和交互式作业,并对它们采用不同的作业控制方式,即批处理方式和交互方式。1.交互方式(或称联机作业控制方式)采用这种控制方式,用户可以通过终

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号