- 1、本文档共69页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
多级调度 一个作业从提交到完成通常要经历多级调度。 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,且假定t1t2 …tn,则短作业优先调度算法的总周转时间为: 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 其中i1、i2、 …、in 是1、2、 …、n的一个排列。 3. 时间片轮转调度算法 时间片轮转法:系统将所有就绪进程按到达时间的先后次序排成一个队列,每次调度时把CPU分配给队首进程,并令其执行一个时间片。当时间片用完时,停止该进程的执行,将它送至就绪队列末尾等待下一次执行,然后再把处理机分配给就绪队列中的新队首进程。如此不断循环,直至完成为止。 时间片轮转算法例 设有A、B、C、D、E五个进程,其到达时间分别为0、1、2、3、4,要求运行时间依次为3、6、4、5、2,采用时间片轮转调度算法,当时间片大小为1和4时,试计算其平均周转时间和平均带权周转时间。 时间片大小为1 A、B、C、D、E要求运行时间依次为3、6、4、5、2,到达时间依次为0、1、2、3、4。 时间片为1的周转时间 平均周转时间 T=(7+18+14+17+8)/5=12.8 平均带权周转时间 W=(2.33+3+3.5+3.4+4)/5=3.246 时间片大小为4 A、B、C、D、E要求运行时间 依次为3、6、4、5、2 ,到达时间依次为0、1、2、3、4。 时间片为4的周转时间 平均周转时间 T=(3+18+9+17+13)/5=12 平均带权周转时间 W=(1+3+2.25+3.4+6.5)/5=3.23 时间片大小的选择 若时间片太大,所有进程都能在一个时间片内完成,则时间片轮转算法退化为先来先服务; 若时间片太小,则进程调度频繁,系统开销增加。 因此时间片大小选择应适当。 确定时间片大小应考虑的因素 系统对响应时间的要求:响应时间=时间片*进程数。进程数一定
文档评论(0)