3.1 作业管理
3.1.1 作业的概念及分类
1.作业的概念
作业是用户在一 次事务处理过程中要求计算机系统所做工作的集合。 从系统的角度讲,作业是一个比较广泛的概念,它由程序、数据和作业说明书组成。
2.作业的分类
依据计算机系统作业处理方式的不同,可把作业分成两大类:脱机作业和联机作业。
脱机作业是指用户不能直接与计算机系统交互,中间必须通过操作员干预的作业。这种作业通常在批处理系统中使用,所以称为批处理作业。
联机作业是指用户和计算机系统直接交互,这种作业也称为交互式作业或终端型作业。
操作系统对这两类作业的管理方式是不同的。
脱机作业多出现在批处理系统中;联机作业多出现在分时系统中。
3.1.2 作业的状态
一个作业从提交给计算机到执行结束退出系统,一般要经历提交、后备、执行、完成4个状态。 (1)提交状态:从输入设备进入到外部存储设备的过程。因其信息未全部进入系统,不能被调度程序选中。
(2)后备状态:也称收容状态。全部信息输入完毕,未被调度执行之前的状态。
(3)执行状态:从后备状态到内存投入运行,分配必要的资源,作业处于执行状态。
(4)完成状态:作业运行完毕,系统收回资源。
3.1.3 作业管理的功能
作业管理的功能包括:作业调度和作业控制。
作业调度,就是按照某种作业调度算法从后备作业队列中选择一个作业加载内存并运行。
作业控制就是按照作业控制语言的解释程序读取用户作业说明书,具体控制作业的执行,并按照规定的步骤对作业进行处理。
1、作业控制块
作业控制块包括:作业名、作业类型、资源要求、当前状态、资源使用情况、作业优先级等。
2、JCB的组织方式
(1)作业表
每个作业有一个作业控制块,所有作业的控制块构成作业表。存放在外存固定区域,其长度是固定的,这就限制了系统同时容纳的作业数量。
(2)作业队列
对于系统中的作业,系统将它们的JCB构一个或多个队列,便于系统控制和访问。
3.1.4 作业与进程的关系
作业是用户向计算机提交任务的任务实体。
进程是计算机为完成用户任务实体,而设置的执行实体,是系统分配资源的基本单位。
一个作业总是由一个或多个进程组成的。
3.2 分级调度
一个批处理型作业,从进入系统并驻留在外存的后备队列上开始,直至作业运行完毕,可能要经历以下三级调度:
作业调度(高级调度);
对换(中级调度);
进程调度(低级调度)。
1.作业调度
作业调度又称为高级调度或长调度,用于选择把外存上处于后备队列中的哪些作业调入内存,并为它们创建进程、分配必要的资源。然后,再将新创建的进程排在就绪队列上,准备执行。 在批处理系统中,需要有作业调度的过程,以便将它们分批地装入内存。
在分时系统和实时系统中,用户通过键盘输入的命令或数据,都是被直接送入内存,通常也不需要作业调度。
2.对换
又称交换调度或中级调度。 第4章介绍
3.进程调度
进程调度又称为低级调度或微观调度。其主要任务是按照某种策略和算法,将处理机分配给一个处于就绪状态的进程。
进程调度可分为下列两种方式:
(1) 非抢占方式:非抢占方式不允许进程抢占已经分配出去的处理机。
(2) 抢占方式 :抢占调度方式允许调度程序根据某种原则,暂停某个正在执行的进程,将处理机收回,重新分配给另一个进程。
3.3 作业调度
3.3.1 作业调度的功能
作业调度的主要任务:
根据作业控制块中的信息,审查系统能否满足用户作业的资源需求,以及按照某一作业调度算法,从外存的后备状态作业队列中选择某些作业将其装入内存并执行。
作业调度程序应完成以下功能:
(1)确定数据结构。
作业调度程序根据各个作业的JCB提供的信息对作业进行调度和管理。
(2)确定调度算法。
(3)分配资源。
(4)善后处理。
3.3.2 调度算法的目标
1.面向系统的目标
设计调度算法时应考虑整个系统的效率,具体包括如下因素:
(1)处理机及各类资源的利用率。 (2)平衡性。 (3)优先权准则。 (4)公平性。
2.批处理系统的目标
3.分时系统的目标
(1)响应时间快。
(2)均衡性。均衡性是指,系统响应时间的快慢与用户所请求服务的复杂性相适应。
4.实时系统的目标
(1)截止时间的保证。 (2)可预测性。系统根据用户需求的可预测性,选择适当的调度算法实现预测的功能,进而提高系统的实时性。