- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.4处理器调度 例 表2-3给出五个进程到达就绪队列是时间、执行时间和优先数,优先数越大优先级越高,按照优先级调度算法采用抢占方式给出进程的执行顺序,计算各自的周转时间和带权周转时间,平均周转时间和平均带权周转时间。 * * 2.4.4交互系统进程调度 进程号 A B C D E 到达时间 0 1 2 3 4 服务时间 4 3 5 2 4 优先数 1 2 4 3 5 2.4处理器调度 解:进程的执行顺序 进程的周转时间: 进程的带权周转时间: 进程的平均周转时间: 进程的平均带权周转时间: * 2.4.4交互系统进程调度 2.4处理器调度 3.多级反馈队列调度算法 多级反馈队列调度(Multi-Level Feedback Queue,MLFQ)又被称为反馈循环队列。 * * 2.4.4交互系统进程调度 2)多队列反馈调度算法 将就绪队列分为N级,每个就绪队列分配给不同的时间片,队列级别越高,时间越长,级别越小,时间片越小,最后一级采用时间片轮转,其他队列采用先进先出; 系统从第一级调度,当第一级为空时,系统转向第二个队列,.....当运行进程用完一个时间片,放弃CPU时,进入下一级队列;等待进程被唤醒时,进入原来的就绪队列;当进程第一次就绪时,进入第一级队列 * 首先系统中设置多个就绪队列 * 每个就绪队列分配给不同时间片,优先级高的为第一级队列,时间片最小,随着队列级别的降低,时间片加大 * 各个队列按照先进先出调度算法 * 一个新进程就绪后进入第一级队列 * 进程由于等待而放弃CPU后,进入等待队列,一旦等待的事件发生,则回到原来的就绪队列 * 当有一个优先级更高的进程就绪时,可以抢占CPU,被抢占进程回到原来一级就绪队列末尾 * 当第一级队列空时,就去调度第二级队列,如此类推 * 当时间片到后,进程放弃CPU,回到下一级队列 2.4处理器调度 (1)终端型用户。终端型用户(分时交互型)所提交的大多属于交互型,这种类型的进程通常比较小,系统只要能使这些进程在第一队列所规定的时间片内完成,就可以使终端型用户感到满意。 (2)短批处理用户。短批处理进程只需仅在第一队列或在第一、第二队列中各执行一个时间片就能完成工作,周转时间仍然很短。 (3)长批处理用户。假如一个长进程进入内存,它最终必将移入优先级最低的就绪队列中,如果其后有源源不断的短进程进入内存,则长进程一直等待,陷入“饥饿”状态。 * * 2.4.4交互系统进程调度 2.4处理器调度 例设系统中有3个就绪队列,第一个队列的时间片为1,第二个队列的时间片为2,第三个队列的时间片为4。按照MLFQ算法给出表2-2进程的执行顺序,计算各自的周转时间和带权周转时间,平均周转时间和平均带权周转时间。 解:进程的执行顺序 * * 2.4.4交互系统进程调度 2.4处理器调度 进程的周转时间: 进程的带权周转时间: 进程的平均周转时间: 进程的平均带权周转时间: * * 2.4.4交互系统进程调度 2.4处理器调度 实时系统是一种时间起主导作用的系统,对时间有着严格的要求。在实时系统中,每一个实时任务都有一个时间约束要求。实时调度(real-time scheduling)的目标就是合理地安排这些任务的执行次序,使之满足各个实时任务的时间约束要求。 通常,一个特定任务与一个截止时间相关联。截止时间包括;开始截止时间(任务在某时间以前,必须开始执行)和完成截止时间(任务在某时间以前必须完成)。 * 2.4.5实时系统进程调度 2.4处理器调度 实时调度应具备如下的基本信息,才能安排好合适的实时调度策略。 (1)就绪时间。它是指任务成为就绪态所需的时间。 (2)开始截止时间和完成截止时间。通常不需要两者都知道,典型的实时系统只需知道任务的开始截止时间或完成截止时间。 (3)任务的执行时间。 (4)实时任务执行时的资源需求。 (5)实时任务的优先级,通常硬实时任务的优先级较高。 (6)子任务结构。一个较大的任务可以分解成一个必须执行的子任务和若干个可选的子任务。 * * 2.4.5实时系统进程调度 2.4处理器调度 一般情况下,实时系统中可能同时有多个周期性任务并发执行,形成任务流,这些实时任务都要求系统做出实时响应。系统能否对它们全部予以处理,取决于每个任务要求的处理时间和该任务出现的周期。 例如,系统中有m个周期性任务,其中任务i出现的周期为Pi,处理所需CPU时间为Ci,那么系统能处理这个任务流的条件是 。 * * 2.4.5实时系统进程调度 2.4处理器调度 当此值等于1时,处理器利用率达到最大。这是实时调度的理想状态,但实际中往往比此值小。满足这个不等式关系的实时系
文档评论(0)