知识的价值不在于占有,而在于使用。这篇文章主要讲述操作系统_第三章处理器管理_批处理作业的调度算法相关的知识,希望能为你提供帮助。
在批处理操作系统控制下的作业称为批处理作业。
在操作系统中,我们把磁盘上用来存放作业信息的专用区域称为输入井,把在输入井中等待处理的作业称为后备作业。批处理操作系统应怎样从输入井中选取作业装入主存储器呢?所以在设计调度算法时, 可考虑如下原则:
- 公平性,对用户公平
- 平衡资源使用。 尽可能地使用系统资源都处于忙碌。
- 极大的流量。 在单位时间内为尽可能多的作业服务, 保证计算机系统的吞吐能力。
假定作业 i 进入输入井的时间为 Si, 若它被选中执行, 得到计算结果的时间为Ei, 那么它的周转时间就定义为Ti = Ei-Si。 对于每一个用户来说, 总希望自己作业的周转时间Ti尽可能地小,最理想的情况是进入输入井后立即被选中执行。这样 Ti 几乎是作业的计算时间。 但是, 在批处理操作系统控制下实现多道并行工作时, 不可能让每个用户都得到理想的效果。从系统的角度, 希望进入输入井的作业的平均周转时间尽可能地小。对 n 个作业来说, 它们的平均周转时间为:
文章图片
周转时间和平均周转时间与选用的调度算法有关。 现在介绍一些常用的作业调度算法。
- 先来先服务算法
文章图片
假定所用作业都是计算型的且忽略系统进行调度时所用时间。 当进行作业调度时,显然作业A和B首先依次被选中装入主存储器。 但作业C到达输入井后, 由于不能满足它对主存量的需求, 只能让它在输入井中等待。对随后到达输入井的作业D和E,
作业D的主存需求可以得到满足, 于是将其选中装入主存。 这时主存中已经装入了三个作业A、 B和D,总共占用了85KB主存, 还剩下一个 15KB的空闲区, 不够装入作业E。 当作业A先执行结束后, 归还了所占的主存空间, 这时有两个分散的15KB空闲区, 仍不能装入作业C 和 E。 直到作业B执行结束归还了60KB的空间后, 与作业A归还的空间合并成了一个75KB的空闲空间, 才可用来依次装入作业C和E。
把各作业被选中装入主存的时间、占用处理器开始执行的时间、执行结束的时间和周转时间制成表3-2.
文章图片
注意:C的周转时间 = 执行结束的时间-进入输入井的时间 = 12.1-10.5=1.6
E的周转时间=执行结束时间-进入输入井的时间 = 12.3 - 10.7 = 1.6
在这里,时间以 "时" 为单位,现在 5个作业的平均周转时间为:
(0.7+ 1.0+ 1.6+ 1.1+ 1.6)/5 = 1.2 (小时)
先来先服务算法具有一定的公平性,容易实现。
但从例子可以看到, 由于计算时间长的作业A和B先进入输入井而被 先选中时, 就可能使计算时间短的作业长时间地等待。这不仅使这些用户不满意, 而且使计算时间短的作业周转时间很少, 从而也增加了平均周转时间,降低了系统的吞吐能力。
-----------------------------------------------------------------------2.计算时间短的作业优先算法采用这种算法时,要求用户对自己的作业需要计算的时间预先作一个估计。作业调度时依据在输入井中的作业提出的计算时间为标准, 优先选择计算时间短且资源能得到满足的作业。 这种算法能降低作业的平均周转时间,从而提高系统的吞吐能力。
以上述例子进行分析, 由于作业是依次进入输入井的,所以该算法仍将像先来先服务算法一样, 会依次把作业A、B、D先装入主存储器。 进程调度按装入的次序让它们依次占用处理器。 当作业A执行结束时, 输入井中的两个作业C 和E对资源要求都不能满足, 必须在输入井中继续等待。当作业B执行结束后, 两个作业的资源要求又都能被 满足, 按照计算时间短的作业优先算法将以先E后C的次序把它们装入主存储器。 同样地, 我们对这5个作业在采用计算时间短者优先的调度算法时的情况进行列表 3-3
文章图片
可计算出它们的平均周转时间为:
(0.7 + 1.0 + 1.8 + 1.1+ 1.2) / 5 = 1.16 (小时)
【操作系统_第三章处理器管理_批处理作业的调度算法】比先来先服务算法的平均周转时间缩短了0.04 小时。
采用计算时间短的作业优先算法要注意两个问题:
第一该算法是以用户估计的计算时间为标准,有些用户为了使自己的作业能优先执行,可能把计算时间故意估计得短些。 为了避免这一现象,若作业执行时间超过所估计的时间,则可加价收费。
第二由于系统不断地接受新作业进入输入井, 如果新进入输入井的作业估计的计算时间比较短,则将会使进入输入井早但要求计算时间长的作业等待很长的时间。这样会使某些用户不满意。
注意: 短作业优先算法 也要按照第一个作业进入时间先后顺序来这里作业 E 耗时最短,也不能最先执行!因为E进入输入井时间晚。
推荐阅读
- Fiddler 抓包工具2 - 全网最全最细教程,没有之一
- Windows下C语言环境搭建
- 第 14 篇 IO系统 概述
- 什么是400G以太网()
- 0基础linux运维教程 安装以及rsync的传输方式与工作模式
- 5.Linux用户的管理和权限
- Centos 7.9 采用tar包方式进行系统备份和恢复
- 6.chown,chgrp,chmod修改文件的所属关系
- vmware workstation 12pro共享上网