版权归原作者所有,如有侵权,请联系我们

[科普中国]-作业级

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

简介

作业是一个比程序更为广泛的概念,它不仅包含了通常的程序和数据,而且还应配有一份作业说明书,系统根据该说明书来对程序的运行进行控制。在批处理系统中,是以作业为基本单位从外存调入内存的。1按照操作系统处理作业阶段来分。作业级是指作业还没有被调入内存和创建进程这一阶段。例如处理机的高级调度就属于作业级调度。

作业级接口作业级接口为用户在作业一级请求操作系统服务而设置,用户可利用这类接口组织作业的工作流程并控制作业的运行。作业级接口分为联机接口和脱机接口。

联机接口联机接口由键盘命令或图形用户界面组成。键盘命令是用户以交互的方式请求操作系统服务的手段。用户通过键盘和终端键人命令。向系统提出服务请求。操作系统的命令解释程序负责命令的解释和执行,并完成指定的操作。执行完毕后,控制又转回到终端,用户可接着键人下一条命令,如此反复,直到作业完成。

图形界面是现代计算机系统发展的潮流,通过图形用户界面的方式使用计算机,大大方便了用户。

联机控制作业的方式灵活方便,用户可以根据运行情况随时干预自己的作业,但系统资源的利用率不太高。

脱机接口脱机接口由一组作业控制命令(或称做业控制语言)组成,供脱机用户使用。所谓脱机用户是指用户不能直接干预其作业的运行,而是事先把对系统的请求用作业控制语言写成一份作业说明书,连同作业的程序和数据一起提交给系统。当系统调度到该作业执行时,由操作系统对作业说明书上的命令逐条解释执行,直到遇到“撤销”命令停止该作业为止。

脱机接口主要用于批处理方式,其优点是作业的操作过程由系统自动调度或由系统操作员干预,因而系统资源利用率高,系统运行作业的效率高;缺点是用户与系统隔离,由于用户不能控制自己作业的运行。使用户作业的调试用期增长。2

高级调度概述在多道程序系统中,一个作业被提交后必须经过处理机调度后,方能获得处理机执行。对于批量型作业而言,通常需要经历作业调度(又称高级调度或长程调度)和进程调度(又称低级调度或短程调度)两个过程后方能获得处理机;对于终端型作业,则通常只需经过进程调度即可获得处理机。在较完善的操作系统中,为提高内存的利用率,往往还设置了中级调度(又称中程调度)。对于上述的每一级调度,又都可采用不同的调度方式和调度算法。对于一个批处理型作业,从进入系统并驻留在外存的后备队列开始,直至作业运行完毕,可能要经历上述的三级调度。

高级调度(High Level Scheduling)又称为作业调度或长程调度(LongTerm Scheduling),其主要功能是根据某种算法,把外存上处于后备队列中的那些作业调入内存,也就是说,它的调度对象是作业。

作业调度作业调度的主要功能是根据作业控制块中的信息,审查系统能否满足用户作业的资源需求,以及按照一定的算法,从外存的后备队列中选取某些作业调入内存,并为它们创建进程、分配必要的资源。然后再将新创建的进程插入就绪队列,准备执行。因此,有时也把作业调度称为接纳调度(Admission Scheduling)。

对用户而言,总希望自己作业的周转时间尽可能的少,最好周转时间就等于作业的执行时间。然而对系统来说,则希望作业的平均周转时间尽可能少,有利于提高 CPU 的利用率和系统的吞吐量。为此,每个系统在选择作业调度算法时,既应考虑用户的要求,又能确保系统具有较高的效率。在每次执行作业调度时,都须做出以下两个决定。

1) 决定接纳多少个作业

作业调度每次要接纳多少个作业进入内存, 取决于多道程序度(Degree of Multiprogramming),即允许多少个作业同时在内存中运行。当内存中同时运行的作业数目太多时,可能会影响到系统的服务质量,比如,使周转时间太长。但如果在内存中同时运行作业的数量太少时,又会导致系统的资源利用率和系统吞吐量太低,因此,多道程序度的确定应根据系统的规模和运行速度等情况做适当的折衷。

2) 决定接纳哪些作业

应将哪些作业从外存调入内存,这将取决于所采用的调度算法。最简单的是先来先服务调度算法,这是指将最早进入外存的作业最先调入内存;较常用的一种算法是短作业优先调度算法,是将外存上最短的作业最先调入内存;另一种较常用的是基于作业优先级的调度算法,该算法是将外存上优先级最高的作业优先调入内存;比较好的一种算法是“响应比高者优先”的调度算法。