第四章处理机调度.doc

第四章处理机调度 ? 1 在剥夺调度方式中,剥夺的原则有哪些?剥夺与非剥夺调度策略之间的主要区别是什么? 【解答】 剥夺原则包括: ①优先级原则。优先级高的进程可以剥夺优先级低的进程占有的CPU; ②短进程优先原则。当到达的进程比正在执行的进程明显地短时,将剥夺长进程的执行而优先执行短进程; ③时间片原则。每个进程被分配一个同样的时间片,时间片用完后重新调度; ④强制性剥夺。极重要的进程或人工干预,强制引起调度。 剥夺方式也称为抢占方式,其含义是当一个进程正在执行它的一个CPU周期期间,系统可基于某种原则强行分割该进程的当前CPU时值,即强行剥夺现行进程正占用的CPU,并把CPU分配给其它进程。 非剥夺方式也称非抢占方式,采用这种调度方式时,一旦把处理机分配给某个进程后,便让该进程一直执行,直到该进程执行完成或等待某事件而被阻塞时,才把CPU分配给其他进程,决不允许其他进程抢占已分配出去的CPU。 2 处理机调度分成哪几级?说明每一级调度的含义。 【解答】 处理机调度按调度的层次可以划分为高级调度、中级调度和低级调度三种。 (1)高级调度(high level scheduling)。高级调度又称为作业调度或长程调度,它决定从外存的后备队列中的选出哪些作业调入内存,并为它建立一个或多个就绪进程,准备执行。但在分时系统和实时系统中没有作业的概念,目的是缩短响应时间或满足用户需求的截止时间,高级调度也就取消了。 (2)中级调度(intermediate level scheduling)。中级调度也叫做中程调度。在有些系统中,特别是分时系统和具有虚拟存储器的系统中,会增加一级中级调度。其主要任务是在内存和外存交换区之间换出被阻塞的进程,换进被选中要执行的进程,从而达到扩充内存容量的目的。 (3)低级调度(low level scheduling)。低级调度也叫进程调度或短程调度。进程调度的任务是按照调度算法从就绪进程队列中选择一个来执行。执行进程调度的程序称为分派程序(dispatcher)。分派程序的执行频率很高,可能一秒钟要执行好几次,因此需要常驻内存。 3 进程调度的时机有哪些? 【解答】 一般来说,进程调度的时机与引起调度的原因及调度的方式有关。通常在下面几种情况下会产生进程调度: (1)正在执行的进程正常结束执行或因发生某种事件而不能继续运行下去,需要重新调度一个进程执行。 (2)执行中的进程因提出I/O请求而暂停执行时,要重新调度。 (3)在进程通信或同步过程中,执行了某种原语操作,如P、V操作等,要重新调度。 (4)在可剥夺式调度中,有一个比当前运行进程优先权更高的进程进入就绪队列时,为保证其立即获得CPU,要重新调度。 (5)分时系统中,时间片用完,要重新调度。 4 试评价各种调度算法的优劣。 【解答】 特性 调度算法 调度方式 吞吐量 响应时间 系统开销 对进程的影响 FCFS 非剥夺 不定 可能很高,尤其是进程执行时间变化很大时 最小 对倾向于I/O的进程不利 SJF 非剥夺 高 对短进程提供好的响应时间 可能高 对长进程不利 HRN 非剥夺 高 提供较好的响应时间 可能高 平衡性好 RR 剥夺(时间片) 时间片很小时,吞吐量可能很低 对短进程提供好的响应时间 低 公平对待 HPF 剥夺(到达时) 高 提供较好的响应时间 可能高 对长进程不利 多级反馈队列 剥夺(时间片) 不定 不定 可能高 有利于倾向I/O的进程 5 RR算法一般是在什么系统中采用?为什么?多级反馈队列调度的作用是什么? 【解答】 轮转算法是用于进程调度一种剥夺式的算法,出于公平性考虑,想做到让每个进程的等待时间与占用CPU的时间成正比。轮转算法将CPU的处理时间分成大小相等的时间片,轮流地为每个就绪进程一次分配一个时间片。每个时间片的长度一般在毫秒级,例如100ms。RR算法一般用在分时系统中,通过轮转调度,系统能够及时响应每个用户,让用户感觉到系统好象是在专门为他服务。 多级反馈队列就是综合了FCFS,RR和HPF的一种调度算法。多级反馈队列顾名思义有多个作业队列,多级反馈队列算法允许一个作业从一个队列移到另外的队列。这种策略基于以下考虑: ①为提高系统吞吐量和降低作业平均等待时间而照顾短作业。 ②为得到较好的输入输出设备利用率和对交互用户的及时响应而照顾输入输出型作业。 ③在作业运行过程中,按作业运行情况来动态地考虑作业的性质(I/O型作业还是计算型作业)。并且要尽可能快地决定出作业当时的运行性质(以I/O为主还是以计算为主),同时进行相应的调度。 这样一来,如果某作业所需CPU时间过长,则它将被移入低优先级队列,这种调度策略让偏重I/O的作业和交互式作业进入高优先级队列。类似地,在低优先级队列中等待时间较长的作业,将移入高优先级队列。

文档评论(0)

1亿VIP精品文档

相关文档