更新时间:2023-03-15 23:22
在一定的时间间隔内几个作业同时在信息处理系统中进行,分时共享中央处理机资源的处理方式。多道作业处理的提出是为了克服单道作业处理方式经常存在的设备利用率不高的缺点。单道作业处理指在信息处理系统中只有一个作业在执行,系统的全部资源被这个作业所独占,其他作业必须等此作业完成以后才能执行。
多道作业处理
单道作业处理选择某种使作业平均周转时间短的调度方法,使作业自动接续,提高资源的利用率。常用的调度算法有:①先来先服务调度算法。按作业到来的先后次序进行调度,优先考虑在系统中等待时间最长的作业,而不管它要求运行时间的长短。②最短作业优先调度法。选择要求运行时间最短的作业作为下一次执行的对象,而不管它在系统中等待时间的长短。因为大多数作业为短作业,这种调度算法能使多数用户满意,但有可能一个长作业进入系统后,由于不断有较短作业进入系统而一直得不到运行。③响应比高者优先的调度算法。响应比RP的定义为:其中响应时间为作业进入系统后的等待时间加上估计的运行时间。一个作业的响应比随着等待时间的增加而提高,只要它等待足够长的时间总有成为响应比最高的可能,而获得运行的机会。这种算法是上面两种调度算法的折衷,但算法较为复杂。
多道作业处理在内存中可同时装入几个作业,当一个作业因等待外部传输而不能工作下去时,中央处理机马上可以执行另一个作业,若第二个作业又因某种原因不能继续执行时,中央处理机便执行第三个作业,如此继续直至第一个作业外部传输完毕后再执行第一个作业。采用多道作业合理搭配(例如把运算量大的科学计算作业和输入输出量大的数据处理作业搭配在一起)可以提高资源的利用率,增强系统的输入输出能力。多道作业处理是以伪并行方式进行的。从一个时间间隔看,各个作业都已开始执行,但都未执行完毕。从某一瞬间看,在中央处理机中只有一个作业在执行,每个作业占有一个时间片,交替地、串行地使用中央处理机。各道作业并不按它们开始的次序结束。
多道作业共享处理系统的各种资源,但是系统的资源有限,每道作业要求资源的数量和种类也各不相同,因此多道作业的调度根据每个作业的不同资源要求采用下列策略:①先来先服务,按作业录入顺序建立一个后备队列,由调度程序从头扫描后备队列,找出第一个资源能得到满足的作业,将它插入现行队列等待执行。②按优先数调度,系统挑选优先数最高的作业执行。作业的优先数可以由用户规定(系统对优先数高的作业收取较高的费用),也可由系统决定(系统根据作业的等待时间、运行时间的长短和对系统资源要求的多寡来规定)。这种优先数可以在作业进入系统时确定,也可以在每次作业调度时计算得出。在同一优先数的作业中,仍按先来先服务的原则调度。③均衡调度,把作业按其本身的特性分类,如A类是输入输出费时的作业,B类是输入输出与运算时间均衡的作业,C类为运算费时的作业。作业调度程序轮流地从这些不同类型的作业中挑选运行作业,使资源得到均衡的利用,发挥系统效率并使用户满意。
多道作业的道数除与系统外部设备的配置、内存容量大小等直接有关外,还与作业的类型有关,通常为2~10道。多道作业处理时会出现两个或两个以上的作业因竞争系统资源而无休止等待的现象,称为死锁。死锁会给系统带来严重后果,因此在系统设计时必须采取防止措施。