1、什么是作业
作业就是用户要求计算机给以计算(或处理)的一个相对独立的任务
2、什么是作业步
一个作业一般可以分为几个逻辑上必须顺序处理的工作单位(或步骤),称为作业步
3、通常,程序在计算机上运行要分成三个步骤:
第一步:编译;
第二步:链接;
第三步:运行已经装配好的可执行程序
4、 按系统的作业处理方式,作业可分为:脱机作业和联机作业
脱机作业是指用户不能和计算机直接交互,需要通过操作员从中干预的作业
联机作业是用户通过外围设备直接与计算机系统进行交互,从而控制作业的运行,这种作业也叫交互型作业
联机作业多出现在分时系统中,而脱机作业经常出现在批处理系统中
5、作业的组成
程序、数据和作业说明书三部分
6、作业说明书主要包含以下三方面的内容
1、作业基本情况描述
2、作业控制描述
3、作业资源要求描述
7、作业在整个活动期间经历的四种状态是
1、提交状态
2、后备状态(收容态)
3、执行状态(执行态)
4、完成状态
8、作业控制块(JCB)
JCB是一个作业存在的标志,每个JCB记录了与该作业有关的信息,其具体内容根据作业调度的要求而定。对于不同的系统,JCB的内容有所不同。 包括:作业名、资源要求、作业类型、资源使用情况、当前状态、优先级
9、作业调度
作业管理程序按一定策略从后备作业中选取若干个作业,把它们装入内存并为它们分配必要的资源,让它们能够同时执行,这就是作业调度
作业调度的作用:完成作业从后备状态到执行状态和从执行状态到完成状态的转变
作业调度程序应包括以下功能
9.1、通过调度算法从后备队列中挑选一部分作业投入运行
9.2、为选中的作业做好运行前的准备工作
9.3、在作业结束时做好善后处理工作
10、作业从后备状态到执行状态算法
BEGIN
从后备队列中选出一个作业;
WHILE(资源要求不满足){
放弃该作业;
IF(后备作业队列为空){
EXIT;
}
按调度算法,从后备队列中选出一个作业;
调度存储管理、设备管理程序看是否满足资源要求;
}
分配资源;
调用进程管理程序建立进程;
进程调度;
END
11、作业从执行状态完成状态算法
BEGIN
回收分给该作业的全部资源;
计算该作业的执行费用;
撤销所有进程及作业的JCB;
转入调用下一个作业;
END
12、衡量调度性能的指标
12.1、调度算法应达到的目标
12.1.1、每次运行尽可能多的作业
12.1.2、让处理机保持忙碌状态
12.1.3、使输入输出设备得以充分利用
12.1.4、对所有的作业公平合理
12.2、确定调度算法时应考虑的因素
12.2.1、调度算法应与系统的总体设计目标一致
12.2.2、注意系统资源的均衡使用,使输入输出繁忙的作业与CPU繁忙的作业搭配运行
12.2.3、保证进入系统的作业在规定的时间内能运行结束
12.3、调度算法性能的衡量
批处理系统中衡量作业调度算法性能的两个指标:平均周转时间和平均带权周转时间
(1)周转时间
作业i的周转时间定义为:Ti=Tsi-Tti 其中Tsi为i作业完成时间,Tti为作业的提交时间
(2)带权周转时间
是作业周转时间与作业执行之间的比例
13、作业调度算法
13.1、先来先服务调度算法
是严格按照作业先来后到的次序进行调度
13.2、短作业优先调度算法
是选取执行时间最短的作业作为下一次服务的对象,这种算法能够使系统的平均周转时间最短,因此,有很高的系统吞吐量
13.3、响应比高者优先调度算法
是介于先来先服务调度算法(FCFS)与短作业优先调度算法(SJF)之间的算法,是二者的折中
响应比=(等待时间+执行时间)/执行时间=1+等待时间/执行时间
13.4、优先数调度算法
折中算法可以综合考虑有关因素,如作业缓急程度、作业长短、等待时间的多少、外部设备使用情况等,并根据系统设计目标分析这些因素的重要程度,按比例确定各作业的优先数,系统按优先数的高低来调度