第六章 处理机调度
6.1 处理机的多级调度
(1)批处理系统中的处理机调度
分两级:作业调度和进程调度
作业调度:又称为宏观调度,任务——对存放在辅存设备上的大量作业,以一定的策略进行挑选,分配主存等必要的资源,建立作业对应的进程,使其投入运行。
进程调度:微观调度,任务——对进入主存的所有进程,确定哪个进程在什么时候获得处理机,使用多长时间
(2)多任务系统中的处理机调度
多任务系统包括:分时操作系统、个人计算机操作系统
多任务系统中最小活动单位:进程
多任务系统中的进程调度:系统提供进程调度程序,其功能是当处理机空闲时,以某种策略选择一个就绪进程去运行,并分配处理机时间
(3)多线程系统中的处理机调度
处理机的分配单位:线程
多线程系统中的线程调度:系统提供线程调度程序,其功能是当处理机空闲时,以某种策略选择一个就绪线程去运行,并分配处理机时间
6.2 作业调度
6.2.1 作业的状态
作业的状态:
后备状态:作业所需的程序、数据、操作说明书已存放在磁盘上,等待调度
执行状态:作业所需的信息已进入主存,开始运行
完成状态:作业计算完成,退出系统
作业状态的变迁:
在这里插入图片描述
6.2.2 作业调度的功能
1.确定数据结构
2.确定调度算法
3.分配资源
4.善后处理
6.2.3 作业控制块
作业名——作业的名字
资源要求——容量、外部设备等
资源使用情况——已经占用的主存的地址、大小、 哪台设备等
作业类型——控制方式、作业类型
作业优先级——占用CPU、占用系统运行的优先级
作业状态——后备、执行、完成状态
6.2.4 调度算法性能的衡量
周转时间 ti:一个作业提交给计算机系统到该作业的结果返回给用户所需要的时间,说明作业 i 在系统中停留时间的长短
ti公式:ti = tci - tsi
ti:作业 i 的周转时间
tci:作业 i 的完成时间
tsi:作业 i 的提交时间
平均周转时间 t :(周转时间 t 时间越短越好)
带权周转时间 wi :一个作业的周转时间与其运行时间的比值。(说明作业 i 在系统中相对等待时间)
wi :作业 i 的带权周转时间
tri :作业 i 的实际执行时间
平均带权周转时间 w :
6.2.5 作业调度算法
例:
作业 提交时间 执行时间 开始时间 完成时间 周转时间 带权周转时间
1 8.00 2.00 - - - -
2 8.50 0.50 - - - -
3 9.00 0.10 - - - -
4 9.50 0.20 - - - -
(1)先来先服务调度算法(FCFS)
①策略:按作业来到的先后次序进行调度
②特点:简单、易实现
解:
作业 提交时间 执行时间 开始时间 完成时间 周转时间 带权周转时间
1 8.00 2.00 8.00 10.00 2.00 1
2 8.50 0.50 10.00 10.50 2.00 4
3 9.00 0.10 10.50 10.60 1.60 16
4 9.50 0.20 10.60 10.80 1.30 6.5
平均周转时间 t = 1.725
平均带权周转时间 w = 6.875
(2)短作业优先调度算法
①策略:按作业运行时间的长短进行调度
②特点:易实现,效率较高
解:
①8.00时刻作业1来到,正常执行
作业 提交时间 执行时间 开始时间 完成时间 周转时间 带权周转时间
1 8.00 2.00 8.00 10.00 2.00 1
2 8.50 0.50 - - - -
3 9.00 0.10 - - - -
4 9.50 0.20 - - - -
②按执行时间选择作业3(优先选择执行时间短的执行)
作业 提交时间 执行时间 开始时间 完成时间 周转时间 带权周转时间
1 8.00 2.00 8.00 10.00 2.00 1
2 8.50 0.50 - - - -
3 9.00 0.10 10.00 10.10 1.10 11
4 9.50 0.20 - - - -
③重复②的过程,因为0.20<0.50,选择作业4
作业 提交时间 执行时间 开始时间 完成时间 周转时间 带权周转时间
1 8.00 2.00 8.00 10.00 2.00 1
2 8.50 0.50 - - - -
3 9.00 0.10 10.00 10.10 1.10 11
4 9.50 0.20 10.10 10.30 0.80 4
④最后运行作业2
作业 提交时间 执行时间 开始时间 完成时间 周转时间 带权周转时间
1 8.00 2.00 8.00 10.00 2.00 1
2 8.50 0.50 10.30 10.80 2.30 4.6
3 9.00 0.10 10.00 10.10 1.10 11
4 9.50 0.20 10.10 10.30 0.80 4
最后得出,
平均周转时间 t = 1.55
平均带权周转时间 w= 5.15
比较(1)(2)的 t 和 w ,明显短作业优先调度算法较先来先服务调度算法好,但短作业优先调度算法存在缺陷,即若有一个长作业有可能永远得不到调度。