第三章 作业管理 3.1 作业管理的基本功能 3.2 作业调度 3.3 作业控制
3.1作业管理的基本功能 作业的概念 作业:用户在一次算题过程中或一次事务处理中要求计算机系统所做工作的总和,是用户向计算机系统提交一项工作的基本单位。 用户的观点:在一次业务处理过程中,从输入程序和数据到输出结果的全过程。作业步:形成中间结果文件。 系统的观点(针对作业进行资源分配):作业由程序及数据(作业体)和作业说明书(作业控制语言) 作业步是在一个作业的处理过程中,计算机所做的相对独立的工作。由若干进程组成。 各作业步顺序执行。
作业的组成 作业由程序、数据和作业说明书三部分组成。 作业说明书包括作业基本情况、作业控制、作业资源要求的描述;它体现用户的控制意图。 作业基本情况:用户名、作业名、编程语言、最大处理时间等; 作业控制描述:作业控制方式、作业步的操作顺序、作业执行出错处理; 作业资源要求描述:处理时间、优先级、内存空间、外设类型和数量等;
作业管理的基本功能 作业调度(高级调度):计算机从后备作业队列池中选择作业进入执行状态,将程序调入内存,为其分配必要资源,建立进程,插入就绪进程队列,等待进程调度。 作业控制:作业如何输入到计算机,当作业被选中后如何控制它的执行,在执行过程中如何进行故障处理以及怎样控制计算结果的输出等。 是用户与操作系统间的接口。
作业状态及其转换 一个作业从进入系统到运行结束,一般要经历提交、后备(收容)、执行、完成四个阶段
提交状态: 后备状态: 执行状态: 完成状态: 作业正常执行结束或异常终止。 作业从输入设备进入后备作业池的过程。 等待作业调度程序调度的状态。 作业进入后备作业池后,系统建立作业控制块JCB,并把它插入后备作业队列中,等待作业调度程序的调度。 执行状态: 作业被调度程序选中,且分配了必要的资源,建立相应进程,进入执行状态。 完成状态: 作业正常执行结束或异常终止。
作业控制表(JCB, Job Control Block) 在运行过程中,系统对作业进行管理的必要信息。 作业名 估计执行时间 优先数(用于调度) 作业说明书文件名 程序类型(需调用的系统程序) 资源要求:(静态,或中间可以随作业步变化--效率不高;动态分配) 作业状态:提交、后备、执行、就绪、等待、完成;
3.2 作业调度 作业调度程序主要功能 检查系统是否满足作业的资源要求,按一定算法选取作业。作业调度也称为宏观调度。 为每个作业建立一个作业控制块JCB; 按一定算法从后备作业中选择作业; 为选中的作业分配必要资源,建立进程; 作业完成,回收其资源,撤销该作业有关进程和JCB。
作业调度算法的选择原则 作业吞吐量:运行尽可能多的作业; 充分利用资源:CPU忙、I/O设备忙; 对各作业公平、合理,使用户满意:执行时间长短、等待时间等;
单道批处理系统作业调度算法 先来先服务(FCFS):按照作业提交的先后次序进行调度,先进入系统者先调度;即启动等待时间最长的作业。 实际的算法可能会是多种算法的综合。 先来先服务(FCFS):按照作业提交的先后次序进行调度,先进入系统者先调度;即启动等待时间最长的作业。 优点:实现简单、公平 缺点:没考虑资源利用率和作业的特殊性(短作业) 先来先服务算法已很少作主要的调度策略,常被结合在其它的调度策略中使用。
短作业优先(SJF):以作业要求运行时间长短进行调度,即选取要求运行时间最短的作业。 优点:易于实现,强调了资源的充分利用,保证了系统的最大吞吐量(单位时间里处理作业的个数)。 缺点:不公平,会造成长作业长期等待。 结论:假设系统中所有作业同时到达,可以证明采用SJF能得到最短的作业平均周转时间。
高响应比优先(HRF):响应比最高的作业优先启动。 响应比=(等待时间+要求运行时间)/要求运行时间 该算法是FCFS和SJF的结合,克服了两种算法的缺点 优点: 公平,吞吐量大 缺点: 增加了计算,增加了开销
多道批处理系统作业调度算法 作业调度程序可以选择多个作业同时进入执行状态。 优先级调度算法:由用户指定作业优先级,优先级高的作业先启动。 均衡调度算法:把作业分类,作业调度从不同类型作业中去调度作业 根据作业对资源要求分类:I/O型、短作业和长作业
3.2 作业控制 脱机控制方式:用户输入作业说明书,整个作业的运行由系统控制。 联机控制方式:通过人-机交互方式控制作业运行。广泛用于个人计算机和分时系统。 命令驱动方式:如MS-DOS的内部和外部命令。 命令文件方式:按照上机操作步骤,将要键入的命令事先编成一个文件。 如: MS-DOS的批处理文件 菜单驱动方式:用户按照屏幕的提示,选择菜单,控制系统运行完成作业。
本章的重要概念及相关要求 了解作业的概念、作业管理的基本功能、作业状态及其转换; 理解并掌握作业调度的基本算法、作业控制的方式。