SJ算法举例(1):考虑非抢占方案 进程名 ABCDE、平均 到达时间 2-34 饿死现象: 服务时间 4 4 由于某种原因, SJF完成时间 18613 导致进程长期 周转时间 48 1639 得不到调度的 带权周转时间12673115422521现象 FCFS完成时间 47 121418 周转时间 416 1011149 带权周转时间1225.53.52.8 ☆可以看出:采用SJF算法, 平均周转时间和平均带权周转时间均有明显改善 对短作业,改善 >对长作业,恶化,甚至饿死 嵌入式系统实验室 EMBEDDED SYSTEM LABORATORY
❖ 可以看出:采用SJF算法, ➢ 平均周转时间和平均带权周转时间均有明显改善 ➢ 对短作业,改善 ➢ 对长作业,恶化,甚至饿死 SJF算法举例(1):考虑非抢占方案 进程名 A B C D E 平均 到达时间 0 1 2 3 4 服务时间 4 3 5 2 4 SJF 完成时间 4 9 18 6 13 周转时间 4 8 16 3 9 8 带权周转时间 1 2.67 3.1 1.5 2.25 2.1 FCFS 完成时间 4 7 12 14 18 周转时间 4 6 10 11 14 9 带权周转时间 1 2 2 5.5 3.5 2.8 饿死现象: 由于某种原因, 导致进程长期 得不到调度的 现象
SJF算法举例(2):考虑非抢占方案 给定4个进程P1、P2、P3、P4 Process Burst time P1 P2 P3 今按照SJF算法,可以得到如下甘特图P4 873 P 4 16 24 则4个进程的等待时间依衣次是:3、16、9、0 其平均为:7 ☆若采用FCFS算法,假设到达顺序为1、2、3、4 则等待时间依次为:0、6、14、21, 其平均为:10.25 嵌入式系统实验室 EMBEDDED SYSTEM LABORATORY
SJF算法举例(2):考虑非抢占方案 给定4个进程P1、P2、P3、P4 ❖ 按照SJF算法,可以得到如下甘特图 ➢ 则4个进程的等待时间依次是:3、16、9、0 其平均为:7 ❖ 若采用FCFS算法,假设到达顺序为1、2、3、4, ➢ 则等待时间依次为:0、6、14、21, 其平均为:10.25
令性质: 可以证明,短作业优先调度算法在最小平均等待时间 上可以达到最优 令SJF算法的缺点:除了对长作业不利,甚至产生 饿死现象之外: 完全没有考虑作业的紧迫程度,无法保证紧迫性作业 得到及时的处理 作业时间由用户主观评估,无法得到保证。 嵌入式系统实验室 EMBEDDED SYSTEM LABORATORY
❖性质: ➢可以证明,短作业优先调度算法在最小平均等待时间 上可以达到最优 ❖SJF算法的缺点:除了对长作业不利,甚至产生 饿死现象之外: ➢完全没有考虑作业的紧迫程度,无法保证紧迫性作业 会得到及时的处理 ➢作业时间由用户主观评估,无法得到保证
令阅读: Operating System Concepts, P160-161 了解SJF的实现难点, 了解执行时间的评估方法 了解抢占和非抢占的SJF算法 嵌入式系统实验室 EMBEDDED SYSTEM LABORATORY
❖阅读: Operating System Concepts,P160-161, 了解SJF的实现难点, 了解执行时间的评估方法, 了解抢占和非抢占的SJF算法