计算机操作系统操作系统第3章.ppt
《计算机操作系统操作系统第3章.ppt》由会员分享,可在线阅读,更多相关《计算机操作系统操作系统第3章.ppt(76页珍藏版)》请在课桌文档上搜索。
1、第三章处理机调度与死锁,3.1 处理机调度的层次3.2 调度队列模型和调度准则3.3 调度算法3.4 实时调度 3.5 产生死锁的原因和必要条件3.6 预防死锁的方法3.7 死锁的检测与解除,3.1处理机调度的层次,3.1.1高级调度1作业和作业步(1)作业(Job)。不仅包含通常的程序和数据,而且还配有一份作业说明书,系统根据说明书来对程序的运行进行控制。批处理系统以作业为单位从外存调入内存。,(2)作业步(Job Step)。每个作业的相对独立、又相互关联的加工步骤。例:一个典型的作业:“编译”作业步;“连结装配”作业步;“运行”作业步。,2作业控制块JCB(Job Control Blo
2、ck)作业控制块,保存系统对作业进行管理和调度所需的全部信息:作业标识、用户名称、用户帐户、作业类型(CPU 繁忙型、I/O 繁忙型、批量型、终端型)、作业状态、调度信息(优先级、作业已运行时间)、资源需求(预计运行时间、要求内存大小、要求I/O设备的类型和数量等)、进入系统时间、开始处理时间、作业完成时间、作业退出时间、资源使用情况等。,3作业调度根据作业控制块中的信息,审查系统能否满足用户作业的资源需求,以及按照一定的算法,从外存的后备队列中选取某些作业调入内存,并为它们创建进程、分配必要的资源。然后再将新创建的进程插入就绪队列,准备执行。,3.1.2 低级调度调度的对象是进程(或内核级线
3、程)。1低级调度的功能(1)保存处理机的现场信息。(2)按某种算法选取进程。(3)把处理器分配给进程。,2进程调度中的三个基本机制(1)排队器:就绪进程排成一个或多个队列。(2)分派器:从就绪队列中取出所选定进程,进行上下文切换,将处理机分配给所选进程。(3)上下文切换机制(两次):A.保存当前进程上下文,装入分派器程序上下文,使分派器程序运行;B.移出分派程序,把新选进程的CPU现场信息装入到处理机的各个相应寄存器中。,3进程调度方式1)非抢占方式(Nonpreemptive Mode)把处理机分配给某进程后,直至该进程完成,自愿释放处理机,或发生某事件而被阻塞时,才再把处理机分配给其他进程
4、。优点:实现简单,系统开销小。缺点:难以满足紧急任务的要求,可能造成难以预料的后果。,2)抢占方式(Preemptive Mode)优点:可防止一个长进程长时间占用处理机,能为大多数进程提供更公平的服务,特别是能满足对响应时间有着较严格要求的实时任务的需求。缺点:开销较大。实现原则:(1)优先权原则。(2)短作业(进程)优先原则。(3)时间片原则。,3.1.3 中级调度暂时不能运行的进程不再占用宝贵的内存资源,调至外存上去等待,此时进程状态称为就绪驻外存状态或挂起状态。即是存储器管理中的对换功能(第四章)。进程调度的运行频率最高,是短程调度。作业调度周期较长(几分钟一次),是长程调度。中级调度
5、运行频率介于上述两种之间,称为中程调度。,仅具有进程调度的调度队列模型,3.2 调度队列模型和调度准则,2具有高级和低级调度的调度队列模型(1)常用的就绪队列形式是优先权队列。(2)设置多个阻塞队列。每个队列对应于某一种进程阻塞事件。,具有高、低两级调度的调度队列模型,3同时具有三级调度的调度队列模型OS中引入中级调度,把进程就绪状态分为内存就绪(表示进程在内存中就绪)和外存就绪(进程在外存中就绪)。把阻塞状态进一步分成内存阻塞和外存阻塞两种状态。,具有三级调度时的调度队列模型,3.2.2选择调度方式和调度算法的若干准则1面向用户的准则(1)周转时间短。周转时间,是指从作业被提交给系统开始,到
6、作业完成为止的这段时间间隔(称为作业周转时间)。它包括四部分时间:作业在外存后备队列上等待(作业)调度的时间,进程在就绪队列上等待进程调度的时间,进程在CPU上执行的时间,以及进程等待I/O操作完成的时间。,系统平均周转时间:,带权周转时间:W=T/Ts T:作业周转时间 Ts:系统为作业提供服务的时间平均带权周转时间:,(2)响应时间快。响应时间,是从用户通过键盘提交一个请求开始,直至系统首次产生响应为止的时间。它包括三部分时间:从键盘输入的请求信息传送到处理机的时间,处理机对请求信息进行处理的时间,以及将所形成的响应信息回送到终端显示器的时间。(3)截止时间的保证。截止时间,是指某任务必须
7、开始执行的最迟时间,或必须完成的最迟时间。(实时系统)。(4)优先权准则。,2面向系统的准则(1)系统吞吐量高。吞吐量是指在单位时间内系统所完成的作业数。(2)处理机利用率好。(大、中型多用户系统)。对于单用户微机或某些实时系统,此准则不重要。(3)各类资源的平衡利用。,3.2.1先来先服务和短作业(进程)优先调度算法1先来先服务调度算法算法既可用于作业调度,也可用于进程调度。FCFS算法比较有利于长作业(进程),而不利于短作业(进程)。,3.3调 度 算 法,FCFS调度算法有利于CPU繁忙型的作业,而不利于I/O繁忙型的作业(进程)。,2短作业(进程)优先调度算法(SJF/SJP)SJF:
8、从后备队列中选择一个或若干个估计运行时间最短的作业调入内存运行。SJP:从就绪队列中选出一个估计运行时间最短的进程,分配处理机。,FCFS和SJF调度算法的性能SJF调度算法能有效地降低作业的平均等待时间,提高系统吞吐量。,SJ(P)F调度算法缺点:(1)由于调度程序总是优先调度那些(即使是后进来的)短作业(进程),将导致长作业(进程)长期不被调度。(2)不能保证紧迫性作业(进程)会被及时处理。(3)由于作业(进程)的长短只是根据用户所提供的估计执行时间而定的,而用户又可能会有意或无意地缩短其作业的估计运行时间,致使该算法不一定能真正做到短作业优先调度。,3.3.2高优先权优先调度算法 1最高
9、优先权优先(FPF)调度算法 1)非抢占式优先权算法系统一旦把处理机分配给就绪队列中优先权最高的进程后,该进程便一直执行下去,直至完成;2)抢占式优先权调度算法进程执行期间,只要又出现了另一个其优先权更高的进程,进程调度程序就立即停止当前进程(原优先权最高的进程)的执行,重新将处理机分配给新到的优先权最高的进程。,2优先权的类型1)静态优先权静态优先权是在创建进程时确定的,且在进程的整个运行期间保持不变。优先权用某一范围内的整数表示。如,07或0255中的某一整数。确定进程优先权的依据有如下三个方面:(1)进程类型。通常,系统进程优先权高于一般用户进程优先权。(2)进程对资源的需求。对要求少的
10、进程赋予较高的优先权。(3)用户要求。这是由用户进程的紧迫程度及用户所付费用的多少来确定优先权的。,2)动态优先权创建进程时的优先权随进程的推进或随其等待时间的增加而改变。,3高响应比优先调度算法作业的优先级随着等待时间的增加而以速率a提高,作业在等待一定的时间后,必然有机会分配到处理机。,由于等待时间与服务时间之和就是系统对该作业的响应时间,故优先权又相当于响应比RP。可表示为:,结论:(1)如果作业的等待时间相同,则要求服务的时间愈短,其优先权愈高,实现的是短作业优先。(2)当要求服务的时间相同时,作业的优先权决定于其等待时间,等待时间愈长,其优先权愈高,实现的是先来先服务。,3.3.3基
11、于时间片的轮转调度算法1时间片轮转法 时间片大小的确定:小时间片有利于短作业,但系统开销大;长时间片使每个进程都能在一个时间片内完成,算法退化为FCFS算法,无法满足交互式用户的需求。一般情况,时间片取值略大于一次典型的交互所需要的时间。(大多数进程在一个时间片内完成。),时间片q=1和q=4时,5个进程运行情况,q=1和q=4时进程的周转时间RR(Round Robin)表示轮转调度算法。,2多级反馈队列调度算法(1)设置多个就绪队列,第一个队列优先级最高,第二个队列次之。优先权愈高的队列时间片愈小。,多级反馈队列调度算法,(2)新进程进入放入第一队列末尾,按FCFS调度。如果它在一个时间片
12、结束时尚未完成,将该进程转入第二队列末尾,再同样按FCFS原则调度 长作业(进程)从第一队列依次降到第n队列后,在第n队列中采取按时间片轮转的方式运行。,(3)仅当第一队列空闲,调度程序才调度第二队列中的进程运行;仅当第1(i-1)队列均空时,才会调度第i队列中的进程运行。如果处理机正在第i队列中为某进程服务时,又有新进程进入优先权较高的队列(第1(i-1)中的任何一个队列),则此时新进程将抢占正在运行进程的处理机,即由调度程序把正在运行的进程放回到第i队列的末尾,把处理机分配给新到的高优先权进程。,3多级反馈队列调度算法的性能(1)终端型作业用户。作业通常较小,系统只要能使这些作业(进程)在
13、第一队列所规定的时间片内完成,便可使终端型作业用户都感到满意。(2)短批处理作业用户。如果仅在第一队列中执行一个时间片即可完成,用户都感到满意。稍长的作业通常在第二队列和第三队列各执行一个时间片即可完成,周转时间仍然较短。(3)长作业依次在第1,2,n个队列中运行,然后再按轮转方式运行,用户不必担心其作业长期得不到处理。,3.4实 时 调 度 简 介,3.4.1实现实时调度的基本条件1提供必要的信息(1)就绪时间。(2)开始截止时间和完成截止时间。(3)处理时间。(4)资源要求。(5)优先级。如果某任务的开始截止时间已经错过,就会引起故障,则应为该任务赋予“绝对”优先级;如果开始截止时间的推迟
14、对任务的继续运行无重大影响,则可为该任务赋予“相对”优先级。,2系统处理能力强m个周期性的硬实时任务,处理时间:Ci,周期时间:Pi,单处理机情况下必须满足下面的限制条件:,例:6个硬实时任务,周期时间都是 50 ms,处理时间为 10 ms,系统是不可调度的。,多处理机系统,处理机数为N,限制条件为:,3采用抢占式调度机制含有硬实时任务的实时系统采用抢占机制。小型实时系统,如果能预知任务的开始截止时间,可采用非抢占调度机制,以简化调度程序和对任务调度时所花费的系统开销。4具有快速切换机制,3.4.2实时调度算法的分类1非抢占式调度算法1)非抢占式轮转调度算法工业生产的群控系统中,由一台计算机
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 操作系统

链接地址:https://www.desk33.com/p-262603.html