操作系统综合题之“短进程优先调度算法(Shortest-Process-First,SPF)和非抢占式优先权调度算法(Priority-Scheduling Lgorithm)的进程执行顺序以及计算平均周转时间”
一、问题:有5个进程A、B、C、D、E,他们的到达时间分别为0,10,20,30,35ms,预计他们的运行时间分别为100、60、20、40、80ms。其优先数分别为3、1、4、5、2(优先级数值越小,表示优先级越高)。要求
1.分别给出采用短进程优先调度算法、非抢占式优先权调度算法时,进程的启动顺序
2.分别计算上述两种调度算法的平均周转时间
二、参考答案
答:
1.
短进程优先调度算法的运行顺序:ACDBE
非抢占式优先权调度算法的运行顺序:ABECD
2.
短进程优先调度算法的平均周转时间为
((100 - 0)+ (100 + 20 - 20)+(100 + 20 + 40 -30)+ (100 + 20 + 40 + 60 - 10)+ (100 +20 +40 +60 +80 -35 ))/ 5
=(100 + 100 + 130 +210 +265)/ 5
= 805 / 5
= 161(ms)
非抢占式优先权调度算法的平均周转时间为
((100 - 0)+ (100 + 60 - 10)+(100 + 60 +80 -35)+ (100 + 60 +80 +20 -20)+ (100 +60 +80 +20 +40 -30 ))/ 5
=(100 + 150 + 205 +240 +270)/ 5
= 965 / 5
= 193(ms)
三、解析
根据下图获得公式:周转时间 = 开始运行时间 - 到达时间 + 运行时间
简化公式:周转时间 = 累计的运行时间 - 到达时间
平均周转时间 = 累计各个进程周转时间 / 数量
* 博客文章部分截图及内容来自于学习的书本及相应培训课程,仅做学习讨论之用,不做商业用途。
* 如有侵权,马上联系我,我立马删除对应链接。
* 备注:王子威
* 我的网易邮箱:wzw_1314_520@163.com