您现在的位置:学赛首页 > 研究生院 > 软件学院 > 正文
操作系统第五章-处理机调度[3]
http://www.educity.cn 作者:研究生院 来源:学赛网 2008年4月25日 发表评论 进入社区

  带权周转时间是指作业周转时间与作业实际运行时间的比。

  平均带权周转时间是指多个作业的带权周转时间的平均值。n个作业的平均带权周转时间:

  W =(W1+W2+ … +Wn)/n(Wi为作业i的带权周转时间)

  5.2 调度算法

  调度算法是指根据系统资源分配策略所规定的资源分配算法。

  本章的算法有些适合作业调度,有些适合进程调度,有些适用于两者。

  1.先来先服务调度算法

  先来先服务算法既可用于作业调度,也可用于进程调度。

  在作业调度中:从后备作业队列中选择一个或多个最先进入该队列的作业,将它们调入内存,为它们分配资源,创建进程,然后放入就绪队列。

  进程调度中:从就绪队列中选择一个最先进入该队列的进程,为之分配处理机,使之投入运行。该进程一直运行到完成或因等待某一事件而阻塞时才释放处理机。

  先来先服务调度算法例

  设有4道作业,它们的提交时间及执行时间如下表,若按先来先服务调度算法进行调度,试计算4个作业的平均周转时间和平均带权周转时间。(时间单位:小时,以十进制计算)。

  作业周转时间及带权周转时间的计算

  平均周转时间T=(2.0+2.8+3.1+3.3)/4=2.8

  平均带权周转时间W=(1+2.8+6.2+11)/4=5.25

  先来先服务算法特点

  算法简单,易于实现,

  但不利于短作业。

  2.短作业(进程)优先调度算法

  在作业调度中,从后备队列中选择一个或多个估计运行时间最短的作业,将它们调入内存运行。

  在进程调度中,从就绪队列中选择一个估计运行时间最短的进程,为之分配处理机,使之投入运行。该进程一直运行到完成或因等待某一事件而阻塞时才释放处理机。

  短作业优先调度算法例

  平均周转时间 T=(2.0+1.8+2.4+3.6)/4=2.45

  平均带权周转时间 W=(1+6+4.8+3.6)/4=3.85

  短作业优先调度算法的特点

  算法调度性能较好,

  例如上例中, 先来先服务 短作业优先

  平均周转时间 2.8 2.45

  平均带权周转时间 5.25 3.85

  但对长作业不利,未考虑作业的紧迫程度,运行时间为估计。

  最短剩余时间优先调度算法

  最短进程优先调度算法可以是非抢占式的,也可以是抢占式的。若无特别说明,通常是指非抢占式的算法。

  抢占式的最短进程优先调度算法也称为最短剩余时间优先调度算法,即当一个新进程进入就绪队列时,若其需要的运行时间比当前运行进程的剩余时间短,则它将抢占CPU。

  最短剩余时间优先算法例

  时间:

  最短剩余时间优先算法例(续)

  平均周转时间 T=(17+4+24+7)/4=13

  平均带权周转时间 W=(2.125+1+2.67+1.4)/4=1.8

  最短平均周转时间

  当一批作业同时到达时,最短作业优先调度算法才能获得最短平均周转时间。

  设一组作业p1、p2、…、pn,其周转时间为t1、t2、 …、tn,且假定t1

  t1+(t1+t2)+ … +(t1+ … +tn)

  =n*t1+(n-1)t2+ … +tn

  最短平均周转时间(续)

  可以证明:若a1≤ a2≤ … ≤ an且b1≤b2≤ … ≤bn,则

  a1bn+a2bn-1 +…+anb1

  ≤ a1bi1+a2bi2 +…+anbin

  ≤ a1b1+a2b2 +…+anbn

[1]  [2]  [3]  [4]  [5]  [6]  [7]  [8]  [9]