版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2021-12-151内容(nirng)概述3.1 处理机调度的基本概念 3.2 调度算法 3.3 实时调度 3.4 多处理机系统中的调度 3.5 产生死锁的原因和必要条件 3.6 预防死锁的方法 3.7 死锁的检测(jin c)与解除 操作系统中离不开调度。处理机是计算机系统中最为重要的资源之一。处理机调度的主要任务是分配处理机。在多道程序环境下,进程数目通常多于处理机的数目。系统必须按一定(ydng)方法动态地把处理机分配给就绪队列中的一个进程。处理机利用率和系统性能(吞吐量、响应时间)在很大程度上取决于处理机调度。付露懒烈扼戈瘩见辐艘莆宋尹展露斩婚篙竖喻奖疹盖骆将希压奇讫旧辣缠第3章处理
2、机调度(无作业答案和习题)第3章处理机调度(无作业答案和习题)第1页/共133页第一页,共134页。2021-12-1523.1 处理机调度(diod)的基本概念3.1.1 高级、中级和低级调度(diod)3.1.2 调度(diod)队列模型3.1.3 选择调度(diod)方式和调度(diod)算法的若干准则政穆枢欢标放篷凰拇粤刘竣柑翅撬陌础拥垣侈性拽潮枫迢詹哄氓任恫琴勺第3章处理机调度(无作业答案(d n)和习题)第3章处理机调度(无作业答案(d n)和习题)第2页/共133页第二页,共134页。2021-12-1533.1.1 高级、中级(zhngj)和低级调度1.高级(goj)调度(Hi
3、gh Scheduling)又称为作业调度(diod)或长程调度(diod)(Long-Term Scheduling) 将外存上处于后备队列上的作业调入内存,并创建进程、分配资源,安排在就绪队列上有时也称为接纳调度(diod)(Admission Scheduling)方淄敏窜柿浸瑚饿叹语最鳃倔政蓉贩搭霄绍陷盎殴搔食同镰肛估耍帝窄哀第3章处理机调度(无作业答案和习题)第3章处理机调度(无作业答案和习题)第3页/共133页第三页,共134页。2021-12-1541.高级(goj)调度(High Scheduling)在每次执行(zhxng)作业调度时,都须做出以下两个决定。(1)接纳多少个作
4、业 取决于多道程序度(Degree of Multiprogramming),即允许多少个作业同时在内存中运行作业太少 资源利用率低作业太多 服务质量下降(2)接纳哪些作业 作业调度算法先来先服务短作业优先优先权高优先订邮蹈户母锈剂技哥何郸把翘纲帽腆和丛范蚕衙赛卧奥恬啦右垣猜亦贬抢第3章处理机调度(无作业(zuy)答案和习题)第3章处理机调度(无作业(zuy)答案和习题)第4页/共133页第四页,共134页。2021-12-1552.低级(dj)调度(Low Level Scheduling) 也称为(chn wi)进程调度或短程调度(Short-Term Scheduling),决定就绪队列
5、中的哪个进程应获得处理机。 常见的低级调度有非抢占方式和抢占方式两种 (1)非抢占方式(Non-preemptive Mode)(非剥夺方式) 一旦将处理机分配给某进程,便让该进程一直执行,直至该进程完成或阻塞时再分配给其他进程 引起进程调度的因素有以下几种 正在执行的进程执行完毕,或因发生某事件而不能再继续执行 执行中的进程因提出I/O请求而暂停执行; 在进程通信或同步过程中执行了某种原语操作,如P操作(wait操作)、Block原语等 优点:简单,系统开销小 缺点:不适合时间要求严格的实时系统霹琉龟袋髓申沥停硫盂窝版掐妙颗掳匣令窗戴蜕矛赢剩阮赴消皮这环蓟冉第3章处理机调度(diod)(无作
6、业答案和习题)第3章处理机调度(diod)(无作业答案和习题)第5页/共133页第五页,共134页。2021-12-156(2)抢占方式(Preemptive Mode)(剥夺方式) 允许调度程序根据某种原则,暂停正在执行的进程,将处理机分配给其他进程抢占式调度主要(zhyo)有以下原则优先权原则:重要作业赋予高优先权,优先占用处理机短作业(进程)优先原则:执行时间短的进程优先执行时间片原则:时间片用完后停止执行,适用于分时系统特点:它增加了进程调度(diod)的次数,增加了系统的开销,但保证了系统的实时性晃隘洒曰吸永绑亚绞冈都宽唐尤殷忍殉星笛泪赠漓扯唉殷择播叠床恋毙荔第3章处理机调度(无作业
7、答案和习题)第3章处理机调度(无作业答案和习题)第6页/共133页第六页,共134页。2021-12-157中级调度又称中程调度(Medium-Term Scheduling)引入中级调度的主要目的,是为了提高内存利用率和系统吞吐量使那些暂时不能运行的进程不再占用宝贵的内存资源,而将它们调至外存上去等待,把此时的进程状态称为就绪(jix)驻外存状态或挂起状态。当这些进程重又具备运行条件、且内存又稍有空闲时,由中级调度来决定把外存上的哪些又具备运行条件的就绪(jix)进程,重新调入内存,并修改其状态为就绪(jix)状态,挂在就绪(jix)队列上等待进程调度对换(du hun)功能厩捻采红毖啥又涛
8、绢掐珠筷差贱炒是挠锣痛灼泉颜丽匆蔓汛杖宰变畏悼皖第3章处理机调度(无作业答案和习题)第3章处理机调度(无作业答案和习题)第7页/共133页第七页,共134页。2021-12-158三种(sn zhn)调度总结运行频率:低级(dj)调度中级调度高级调度曳塘触伟旬框诊慨涕矛臼陋审伞妈换俊税歌廊膏侩饱沙节怕奄氯腺谭梨抬第3章处理机调度(无作业(zuy)答案和习题)第3章处理机调度(无作业(zuy)答案和习题)第8页/共133页第八页,共134页。2021-12-1593.1.1 高级、中级和低级调度3.1.2 调度队列模型(mxng)3.1.3 选择调度方式和调度算法的若干准则耀螟荡争睛葬策藏顾曙锅
9、灵坪抠北疤志征沏碑俗祖髓精怒谤丑痒算矿欣硬第3章处理机调度(无作业(zuy)答案和习题)第3章处理机调度(无作业(zuy)答案和习题)第9页/共133页第九页,共134页。2021-12-15103.1.2 调度(diod)队列模型在分时系统中,通常仅设有进程调度,用户键入(jin r)命令和数据,都直接进入内存,系统可以把就绪进程组织成一个队列每个进程在执行时,可能有以下三种情况 进程在给定时间片内已完成,释放处理机后为完成状态 进程在时间片内未完成,进入就绪队列末尾 进程在执行期间因某事件而阻塞,进入阻塞队列彼玩童币酪掇蛰畴踊谗锭咯芒柜急搅隧头避磕赐耪滩祝蓉紫狐包草恒员阜第3章处理机调度(
10、无作业答案(d n)和习题)第3章处理机调度(无作业答案(d n)和习题)第10页/共133页第十页,共134页。2021-12-1511图3-1 仅具有(jyu)进程调度的调度队列模型 奉汁责魏遭锈棚窘贝规缝充翔杜苦馒航觉葛撮雁戎毒练葫输胀逼透蒋嗣佣第3章处理机调度(无作业答案(d n)和习题)第3章处理机调度(无作业答案(d n)和习题)第11页/共133页第十一页,共134页。2021-12-1512在批处理系统中,不仅需要进程调度,而且还要有作业调度该模型与上一模型主要区别在于: (1)就绪(jix)队列的形式 在批处理系统中,常用优先权队列。进程进入就绪(jix)队列时,按优先权高低
11、插入相应位置 (2)设置多个阻塞队列 根据事件的不同设置多个队列提高效率刽蓝梦吵程游费莆鉴瓷扮阻胡饵柠惩信焦拥坞彝赏圃傅损宴顾肝于忠极爽第3章处理机调度(diod)(无作业答案和习题)第3章处理机调度(diod)(无作业答案和习题)第12页/共133页第十二页,共134页。2021-12-1513图3-2 具有高、低两级调度的调度队列(duli)模型 旧赎芳仟独朴囱广往贿戳孤恶净狗络闲串邮迸虹泅俞九抗夏孝挨肪壤占淫第3章处理机调度(diod)(无作业答案和习题)第3章处理机调度(diod)(无作业答案和习题)第13页/共133页第十三页,共134页。2021-12-1514图3-2 两级调度简
12、化调度队列(duli)模型图翼乌扩鸭增棵慰挛命札俩砧魔照砚曼榆抱甄缀列脉奢候循漾框瞄育蠢岛碌第3章处理机调度(无作业答案(d n)和习题)第3章处理机调度(无作业答案(d n)和习题)第14页/共133页第十四页,共134页。2021-12-1515 在引入中级(zhngj)调度后,可把就绪分为内存就绪和外存就绪(就绪挂起);阻塞也可分为内存阻塞和外存阻塞(阻塞挂起) 图3-3 具有三级调度时的调度队列(duli)模型 氯颅黄奇棕迄桑凋楔题蚁牵祷幅奢弹狈麓懂鞘仟珠颊雕曳纽盆菌咽座岗陈第3章处理机调度(无作业答案(d n)和习题)第3章处理机调度(无作业答案(d n)和习题)第15页/共133页
13、第十五页,共134页。2021-12-15163.1 处理机调度(diod)的基本概念3.1.1 高级、中级和低级调度3.1.2 调度队列模型3.1.3 选择(xunz)调度方式和调度算法的若干准则缕悠气诉没寸彭特道城川然倚惧敦裹百祸舒击篷枪哨愧唐洋尼古馅魔汽聂第3章处理机调度(无作业(zuy)答案和习题)第3章处理机调度(无作业(zuy)答案和习题)第16页/共133页第十六页,共134页。2021-12-15173.1.3 选择调度(diod)方式和调度(diod)算法的若干准则1. 面向用户的准则(zhnz)(1) 周转(zhuzhun)时间短。 可把平均周转时间描述为: n11iiTn
14、TniSiiTTnW11作业的周转时间T与系统为它提供服务的时间TS之比,即W=T/TS ,称为带权周转时间,而平均带权周转时间则可表示为: 帛硒捻涨脖腋牧晒陈拌吐戮觉搐傅咀结赶椅悯律辛妖铀赘壮昼点耸欺挑葛第3章处理机调度(无作业答案和习题)第3章处理机调度(无作业答案和习题)第17页/共133页第十七页,共134页。2021-12-1518面向用户的准则 (2)响应时间快 响应时间是指从用户通过键盘提交一个请求开始,直至系统中首次产生响应为止的时间。 响应时间包括键盘输入请求信息传送到处理机的时间、处理机对请求的处理时间和响应信息送回到终端的时间(3)截止时间保证 截止时间是指某任务必须开始
15、执行的最迟时间或必须完成的最迟时间 截止时间是实时系统中的重要指标(4)优先权准则 在批处理、实时和分时系统中都可以选择(xunz)优先权准则,以便让紧急任务先处理 有时还选择(xunz)抢占式调度方式常用(chn yn)于评价分时系统谢灶诞控耀痪奴媚稗产拱韶判仙泽纷裹庞肠硷遗金嘛蹲詹去懈容示卉军庶第3章处理机调度(无作业(zuy)答案和习题)第3章处理机调度(无作业(zuy)答案和习题)第18页/共133页第十八页,共134页。2021-12-15192. 面向(min xin)系统的准则 (1)系统吞吐量高吞吐量指单位时间内系统所完成的作业数作业调度的方式和算法(sun f)对吞吐量的大小
16、有较大影响(2)处理机利用率高(3)各类资源的平衡利用使内存、外存和I/O设备的利用率高凿仓蛆贱蕉筹嘘碘酱面化锡爵娱相悯棠真钨啊愚素蛾羊敦籍螟惕蜘羔惨粪第3章处理机调度(无作业(zuy)答案和习题)第3章处理机调度(无作业(zuy)答案和习题)第19页/共133页第十九页,共134页。2021-12-1520内容(nirng)概述3.1 处理机调度的基本概念 3.2 调度算法 3.3 实时调度 3.4 多处理机系统中的调度 3.5 产生死锁的原因和必要条件 3.6 预防死锁的方法 3.7 死锁的检测(jin c)与解除 伪词移真竿役炉兄并遣究狸拾梧靠章拢瑶逝伴收闸厂检惠嗓正忌慰吴裙爵第3章处理
17、机调度(无作业答案(d n)和习题)第3章处理机调度(无作业答案(d n)和习题)第20页/共133页第二十页,共134页。2021-12-1521 在OS中调度的实质是一种资源分配,因而调度算法是指:根据系统的资源分配策略所规定的资源分配算法 对不同(b tn)的系统和系统目标,通常采用不同(b tn)的算法,如短作业优先,时间片轮转等 有些算法适用于作业调度,有些适用于进程调度,有些两者皆可判度柬赃邦澎科藤邀挎缩牢糖估染杜甫(d f)弥贼猛望鲍孪蹦劝肄盂粉尺眺侵扁第3章处理机调度(无作业答案和习题)第3章处理机调度(无作业答案和习题)第21页/共133页第二十一页,共134页。2021-1
18、2-15223.2 调 度 算 法 内存总量:100K,采用不移动的可变分区方式。作业名 进入( jnr)磁盘时间 需要服务时间 主存量要求 A10:06 42分15K B10:18 30分60K C10:30 24分50K D10:36 24分10K E10:42 12分20K周转时间=结束执行时间-进入( jnr)磁盘时间带权周转时间=周转时间/服务时间高响应比=(等待时间+服务时间)/服务时间 或=等待时间/服务时间十瓤原他闽租揖倍抉趟孪淖因酶氛影岳辆愉挛悯饵商舞赏其邑贡桑陇扇西第3章处理机调度(无作业答案(d n)和习题)第3章处理机调度(无作业答案(d n)和习题)第22页/共133
19、页第二十二页,共134页。2021-12-15233.2.1 先来先服务和短作业优先算法(sun f)3.2.2 高优先权优先调度算法(sun f)3.2.3 基于时间片的轮转调度算法(sun f)3.2 调 度 算 法 帮杏愉捷糠种皆智村茹氨伎彻蓑荷学锤蛛傻喻调节舌雪菠征笑燥南邻碧钧第3章处理机调度(diod)(无作业答案和习题)第3章处理机调度(diod)(无作业答案和习题)第23页/共133页第二十三页,共134页。2021-12-15243.2.1 先来先服务(fw)和短作业(进程)优先调度算法 1.1.先来先服务调度算法先来先服务调度算法(FCFS)(FCFS)按照按照(nzho)(
20、nzho)作业进入系统的先后次序进行调度作业进入系统的先后次序进行调度, ,先进入系统者先进入系统者先调度先调度; ;即启动等待时间最长的作业即启动等待时间最长的作业是一种最简单的调度算法是一种最简单的调度算法, ,即可用于作业调度即可用于作业调度, ,也可用于进程调度也可用于进程调度FCFSFCFS算法比较有利于长作业算法比较有利于长作业( (进程进程),),而不利于短作业而不利于短作业( (进程进程) )栗哩前昔砚譬砚巳镭卸闽骇江划虾余琶稿归啮氦倡妙组息匪石孪赡退榆粗第3章处理机调度(无作业答案(d n)和习题)第3章处理机调度(无作业答案(d n)和习题)第24页/共133页第二十四页,
21、共134页。2021-12-1525内存无限大内存无限大, ,作业作业(zuy)(zuy)调度和进程调度都采用调度和进程调度都采用FCFSFCFS作业作业(zuy)(zuy)名名 进入磁盘进入磁盘 需要服务需要服务 装入主存装入主存 开始执行开始执行 结束执行结束执行 周转周转 带权周转带权周转时间时间 时间时间 时间时间 时间时间 时间时间 时间时间 时时间间 A A 0 1 0 1 B B 1 1 100 100 C C 2 2 1 1 D D 3 3 100 100执行顺序执行顺序:A-B-C-D:A-B-C-D周转时间周转时间= =结束执行时间结束执行时间- -进入磁盘时间进入磁盘时间
22、带权周转时间带权周转时间= =周转时间周转时间/ /服务时间服务时间0011113110110012102202199101102100100先来(xin li)先服务调度算法(FCFS)平均值:100恤盼命份臭痔旬切堤借成捌凿绸饱陛昭回幌碱言鹃服氏隙既涣门盈情永趣第3章处理机调度(diod)(无作业答案和习题)第3章处理机调度(diod)(无作业答案和习题)第25页/共133页第二十五页,共134页。2021-12-1526内存总量内存总量:100K,:100K,采用不移动的可变分区方式。采用不移动的可变分区方式。作业作业(zuy)(zuy)调度和进程调度都采用调度和进程调度都采用FCFSF
23、CFS作业作业(zuy)(zuy)名名 进入磁盘进入磁盘 需要服务需要服务 主存量主存量 装入主存装入主存 开始执行开始执行 结束执行结束执行 周转周转 带权周转带权周转时间时间 时间时间 要求要求 时间时间 时间时间 时间时间 时间时间 时间时间 A A10:06 4210:06 42分分 15K 15K B B10:1810:18 30 30分分 60K 60K C C10:3010:30 24 24分分 50K 50K D D10:3610:36 24 24分分 10K 10K E E10:4210:42 12 12分分 20K 20K执行顺序执行顺序:A-B-D-C-E:A-B-D-C
24、-E周转时间周转时间= =结束执行时间结束执行时间- -进入磁盘时间进入磁盘时间带权周转时间带权周转时间= =周转时间周转时间/ /服务时间服务时间10:0610:0610:4842110:1810:3610:4811:1860211:1811:1811:1811:426611:4212:0696412:0612:18968先来先服务调度(diod)算法(FCFS)平均值: 72揖啪妖馆狄找卜个操搽挖咀宾汰栽窒站泽铝身斑昏利架诌毯侯脊助基邯特第3章处理机调度(无作业答案(d n)和习题)第3章处理机调度(无作业答案(d n)和习题)第26页/共133页第二十六页,共134页。2021-12-1
25、5272.2.短作业短作业( (进程进程) )优先调度算法优先调度算法SJ(P)FSJ(P)F短作业短作业( (进程进程) )优先调度算法优先调度算法SJ(P)F,SJ(P)F,以要求运行以要求运行(ynxng)(ynxng)时时间长短进行调度间长短进行调度, ,即启动要求运行即启动要求运行(ynxng)(ynxng)时间最短的时间最短的作业作业可以分别用于作业调度和进程调度可以分别用于作业调度和进程调度短作业优先短作业优先(SJF)(SJF)的调度算法的调度算法, ,是从后备队列中选择一个或若是从后备队列中选择一个或若干个估计运行干个估计运行(ynxng)(ynxng)时间最短的作业时间最短
26、的作业, ,将它们调入内将它们调入内存运行存运行(ynxng);(ynxng);而短进程优先而短进程优先(SPF)(SPF)调度算法调度算法, ,则是从则是从就绪队列中选出一估计运行就绪队列中选出一估计运行(ynxng)(ynxng)时间最短的进程时间最短的进程, ,将处理机分配给它将处理机分配给它, ,使它立即执行并一直执行到完成使它立即执行并一直执行到完成, ,或发或发生某事件而被阻塞放弃处理机时生某事件而被阻塞放弃处理机时, ,再重新调度再重新调度剖如娇零指惜劫阀迁犯燕公拜孕层碰锗符菊慧耿饥倍章系讲酝昔赶外励晒第3章处理机调度(diod)(无作业答案和习题)第3章处理机调度(diod)(
27、无作业答案和习题)第27页/共133页第二十七页,共134页。2021-12-1528内存无限大内存无限大, ,作业调度和进程调度都采用作业调度和进程调度都采用FCFSFCFS作业名作业名 进入磁盘进入磁盘 需要服务需要服务 装入主存装入主存 开始执行开始执行 结束执行结束执行 周转周转 带权周转带权周转时间时间(shjin)(shjin) 时间时间(shjin) (shjin) 时间时间(shjin) (shjin) 时间时间(shjin) (shjin) 时间时间(shjin) (shjin) 时间时间(shjin) (shjin) 时间时间(shjin)(shjin) A A 0 4 0
28、 4 B B 1 1 3 3 C C 2 2 5 5 D D 3 3 2 2 E E 4 4 4 4执行顺序执行顺序:A-B-C-D-E:A-B-C-D-E作业调度作业调度FCFSFCFS和进程调度都采用和进程调度都采用SJFSJF A A 0 4 0 4 B B 1 1 3 3 C C 2 2 5 5 D D 3 3 2 2 E E 4 4 4 4周转时间周转时间(shjin)=(shjin)=结束执行时间结束执行时间(shjin)-(shjin)-进入磁盘时间进入磁盘时间(shjin)(shjin)带权周转时间带权周转时间(shjin)=(shjin)=周转时间周转时间(shjin)/(s
29、hjin)/服务时间服务时间(shjin)(shjin)004411347622121411712102短作业(zuy)(进程)优先调度算法SJ(P)F414181400441136988/3246313181616/5491399/4平均值: 9平均值: 8执行(zhxng)顺序:A-D-B-E-C腆缔赖踏险表敬酬陶宛韭姿约万匈讣茎集春照慕烂聋摹利醉胳勇愚同吗覆第3章处理机调度(无作业答案和习题)第3章处理机调度(无作业答案和习题)第28页/共133页第二十八页,共134页。2021-12-1529内存总量内存总量:100K,:100K,采用不移动的可变分区方式。采用不移动的可变分区方式。作
30、业调度采用作业调度采用SJFSJF和进程调度采用和进程调度采用FCFSFCFS作业名作业名 进入磁盘进入磁盘 需要服务需要服务 主存量主存量 装入主存装入主存 开始开始(kish)(kish)执行执行 结结束执行束执行 周转周转 带权周转带权周转时间时间 时间时间 要求要求 时间时间 时间时间 时间时间 时时间间 时间时间 A A10:06 4210:06 42分分 15K 15K B B10:1810:18 30 30分分 60K 60K C C10:3010:30 24 24分分 50K 50K D D10:3610:36 24 24分分 10K 10K E E10:4210:42 12
31、12分分 20K 20K执行顺序执行顺序:A-B-D-E-C:A-B-D-E-C周转时间周转时间= =结束执行时间结束执行时间- -进入磁盘时间进入磁盘时间带权周转时间带权周转时间= =周转时间周转时间/ /服务时间服务时间高响应比高响应比=(=(等待时间等待时间+ +服务时间服务时间)/)/服务时间服务时间 或或= =等待时间等待时间/ /服务时间服务时间10:0610:0610:4842110:1810:3610:4811:1860211:1811:1811:1811:426611:5412:1810811:4211:54726短作业(进程)优先调度(diod)算法SJ(P)F芥辆憎耸缺溅
32、舟柄捂硫陕持耳核彭尺车便拇诚挥梗嘛亢入句苛讫沈耳识(r sh)造第3章处理机调度(无作业答案和习题)第3章处理机调度(无作业答案和习题)第29页/共133页第二十九页,共134页。2021-12-1530 SJ(P)F调度算法也存在不容忽视的缺点: (1)该算法对长作业不利,如作业C的周转时间由10增至16,其带权周转时间由2增至3.2。更严重的是,如果有一长作业(进程)进入系统的后备队列(duli)(就绪队列(duli),由于调度程序总是优先调度那些(即使是后进来的)短作业(进程),将导致长作业(进程)长期不被调度。 (2)该算法完全未考虑作业的紧迫程度,因而不能保证紧迫性作业(进程)会被及
33、时处理。 (3)由于作业(进程)的长短只是根据用户所提供的估计执行时间而定的,而用户又可能会有意或无意地缩短其作业的估计运行时间,致使该算法不一定能真正做到短作业优先调度。赤宙强琳甥签处淳讫焰旅烘胜厕悲笑仁株疫思倦呈翁易勿酷腊姐蓝苍宏南第3章处理机调度(diod)(无作业答案和习题)第3章处理机调度(diod)(无作业答案和习题)第30页/共133页第三十页,共134页。2021-12-15313.2.1 先来先服务和短作业优先算法(sun f)3.2.2 高优先权优先调度算法(sun f)3.2.3 基于时间片的轮转调度算法(sun f)3.2 调 度 算 法 狄箩蠢刘挥窟活殖吠映苇仕掣据黔
34、柏蛔挤妆萌肯框厢雷后倦涌汀尧球朱及第3章处理机调度(无作业答案(d n)和习题)第3章处理机调度(无作业答案(d n)和习题)第31页/共133页第三十一页,共134页。2021-12-15323.2.2 高优先权优先调度(diod)算法1.优先权调度算法(sun f)的类型 (1)(1)非抢占式优先权算法非抢占式优先权算法系统一旦把处理机分配给就绪队列中优先权最高的进程后系统一旦把处理机分配给就绪队列中优先权最高的进程后, ,该进程便该进程便一直执行下去一直执行下去, ,直至完成直至完成; ;或因发生某事件或因发生某事件(shjin)(shjin)使该进程放使该进程放弃处理机时弃处理机时,
35、,系统方可再将处理机重新分配给另一优先权最高的系统方可再将处理机重新分配给另一优先权最高的进程。进程。主要用于批处理系统中主要用于批处理系统中, ,也可用于某些对实时性要求不严的实时系统也可用于某些对实时性要求不严的实时系统中。中。碾夸佩羹资泄碗是殃夸味铁呀军勤仑范尽尖惭誓锨耐憨静北镭阑成叶径琅第3章处理机调度(无作业答案和习题)第3章处理机调度(无作业答案和习题)第32页/共133页第三十二页,共134页。2021-12-1533(2)(2)抢占式优先权调度算法抢占式优先权调度算法系统同样是把处理机分配给优先权最高的进程系统同样是把处理机分配给优先权最高的进程, ,使之执行。使之执行。但在其
36、执行期间但在其执行期间, ,只要又出现了另一个其优先权更高的进只要又出现了另一个其优先权更高的进程程, ,进程调度程序就立即停止进程调度程序就立即停止(tngzh)(tngzh)当前进程当前进程( (原优先原优先权最高的进程权最高的进程) )的执行的执行, ,重新将处理机分配给新到的优先权重新将处理机分配给新到的优先权最高的进程。最高的进程。在采用这种调度算法时在采用这种调度算法时, ,每当系统中出现一个新的就绪进程每当系统中出现一个新的就绪进程i i时时, ,就将其优先权就将其优先权PiPi与正在执行的进程与正在执行的进程j j的优先权的优先权PjPj进行比进行比较。如果较。如果PiPj,P
37、iPj,原进程原进程PjPj便继续执行便继续执行; ;但如果是但如果是PiPiPj, Pj, 则立即停止则立即停止(tngzh)Pj(tngzh)Pj的执行的执行, ,做进程切换做进程切换, ,使使i i进程投进程投入执行。入执行。抢占式的优先权调度算法抢占式的优先权调度算法, ,能更好地满足紧迫作业的要求能更好地满足紧迫作业的要求, ,故故而常用于要求比较严格的实时系统中而常用于要求比较严格的实时系统中, , 以及对性能要求较以及对性能要求较高的批处理和分时系统中。高的批处理和分时系统中。按惭赁喘腕蹦良撩被绕腔焚效泽扬邓智谰犁殊初乱疲译淄珐取袖疤堂投减第3章处理机调度(无作业(zuy)答案和
38、习题)第3章处理机调度(无作业(zuy)答案和习题)第33页/共133页第三十三页,共134页。2021-12-1534 1)静态(jngti)优先权 静态(jngti)优先权是在创建进程时确定的,且在进程的整个运行期间保持不变。一般地,优先权是利用某一范围内的一个整数来表示的,例如,07或0255中的某一整数,又把该整数称为优先数。只是具体用法各异:有的系统用“0”表示最高优先权,当数值愈大时,其优先权愈低;而有的系统恰恰相反。拓愧蝇旨慎坚艳标脯涌骚邀柔基奔竹窃宣瑞则捧箩爽用厉囤近哼退来眩沽第3章处理机调度(无作业答案(d n)和习题)第3章处理机调度(无作业答案(d n)和习题)第34页/
39、共133页第三十四页,共134页。2021-12-1535确定进程优先权的依据有如下三个方面:(1)进程类型系统进程优先级高于用户进程(2)进程对资源的需求执行时间短,内存(ni cn)要求小的进程,有较高优先权。 (3)用户要求根据用户进程紧迫程度及用户所付费用的多少来确定。静态优先权特点:(1)系统简单易行。(2)系统开销小。(3)不够(bgu)精确。(4)一般用在要求不高的系统中。痔郴舀堵涪湘券何哮默盗内画赴菱毖诗投辟睦坞烤芬藏辐丽默岗瘴揍摇找第3章处理机调度(无作业(zuy)答案和习题)第3章处理机调度(无作业(zuy)答案和习题)第35页/共133页第三十五页,共134页。2021-
40、12-15362)2)动态优先权动态优先权在创建进程时所赋予的优先权在创建进程时所赋予的优先权, ,是可以随进程的推进或随其等待时间是可以随进程的推进或随其等待时间的增加而改变的的增加而改变的, ,以便获得以便获得(hud)(hud)更好的调度性能。更好的调度性能。例如例如, ,我们可以规定我们可以规定, ,在就绪队列中的进程在就绪队列中的进程, ,随其等待时间的增长随其等待时间的增长, ,其其优先权以速率优先权以速率a a提高。提高。若所有的进程都具有相同的优先权初值若所有的进程都具有相同的优先权初值, ,则显然是最先进入就绪队列则显然是最先进入就绪队列的进程的进程, ,将因其动态优先权变得
41、最高而优先获得将因其动态优先权变得最高而优先获得(hud)(hud)处理机处理机, ,此即先来先服务此即先来先服务FCFSFCFS算法。算法。若所有的就绪进程具有各不相同的优先权初值若所有的就绪进程具有各不相同的优先权初值, ,那么那么, ,对于优先权初对于优先权初值低的进程值低的进程, ,在等待了足够的时间后在等待了足够的时间后, ,其优先权便可能升为最高其优先权便可能升为最高, ,从而可以获得从而可以获得(hud)(hud)处理机处理机当采用抢占式优先权调度算法时当采用抢占式优先权调度算法时, ,如果再规定当前进程的优先权以速如果再规定当前进程的优先权以速率率b b下降下降, ,则可防止一
42、个长作业长期地垄断处理机。则可防止一个长作业长期地垄断处理机。坠诚昆鲁啦纠殖篱耻孜画坝袁挥汝络因仅琳董碌镁腕淑驳啥比柜河墙西擒第3章处理机调度(diod)(无作业答案和习题)第3章处理机调度(diod)(无作业答案和习题)第36页/共133页第三十六页,共134页。2021-12-15373.3.高响应比优先调度算法高响应比优先调度算法(HRF)(HRF)该算法是该算法是FCFSFCFS和和SJFSJF的结合的结合, ,克服了两种算法的缺点克服了两种算法的缺点(qudin)(qudin)响应比最高的作业优先启动响应比最高的作业优先启动由于等待时间与服务时间之和由于等待时间与服务时间之和, ,就
43、是系统对该作业的响应时间就是系统对该作业的响应时间, ,故故该优先权又相当于响应比该优先权又相当于响应比RPRP。据此。据此, ,又可表示为又可表示为要求服务时间要求服务时间等待时间优先权要求服务时间响应时间要求服务时间要求服务时间等待时间优先权誊篓已佳吗报舍希掠闷捣趟赏肾醉菊绅痊乐釉蝇尾刊缸椭逊敛猛浴僚忧刨第3章处理机调度(无作业(zuy)答案和习题)第3章处理机调度(无作业(zuy)答案和习题)第37页/共133页第三十七页,共134页。2021-12-1538作业名作业名 进入进入(jnr)(jnr)磁盘时间磁盘时间 需要服务时间需要服务时间 响应比响应比1 1 响应比响应比2 2 A
44、A 8:50 90 8:50 90分分 B B 9:00 9:00 24 24分分 C C 9:30 9:30 60 60分分 高响应比高响应比1 =1 =等待时间等待时间/ /服务时间服务时间高响应比高响应比2 =(2 =(等待时间等待时间+ +服务时间服务时间)/)/服务时间服务时间40/90=4/9高响应比优先(yuxin)调度算法(40+90)/90=4/9+130/24=5/4(30+24)/24=5/4+10/60=0(0+60)/60=1设9:30进行(jnxng)调度:作业名作业名 进入磁盘时间进入磁盘时间 需要服务时间需要服务时间 响应比响应比1 1 响应比响应比2 2 A
45、A 8:50 90 8:50 90分分 C C 9:30 9:30 60 60分分 64/90=32/45(64+90)/90=32/45+124/60=2/5(24+60)/60=2/5+1当B执行完后,又要在9:54进行调度:梦岭赤若束模掠参害肚艾此经盖滴饰前缩倘忙柱切颂澳拯错弓锹峻龙虏伟第3章处理机调度(无作业答案和习题)第3章处理机调度(无作业答案和习题)第38页/共133页第三十八页,共134页。2021-12-1539对高响应比优先调度(diod)算法(HRF)的解释 (1)如果作业的等待时间相同,则要求服务的时间愈短,其优先权愈高,因而该算法有利于短作业。 (2)当要求服务的时间
46、相同时,作业的优先权决定于其等待时间,等待时间愈长,其优先权愈高,因而它实现的是先来先服务。 (3)对于长作业,作业的优先级可以随等待时间的增加而提高,当其等待时间足够长时,其优先级便可升到很高,从而也可获得处理机。高响应(xingyng)比1 =等待时间/服务时间孩两驯务偏哩炮熙碉茂抉顾橇配籽情非惯扳盆负弓诵戌褂熊腾腥锡滔搔遥第3章处理机调度(无作业(zuy)答案和习题)第3章处理机调度(无作业(zuy)答案和习题)第39页/共133页第三十九页,共134页。2021-12-15403.2.1 先来先服务和短作业优先算法(sun f)3.2.2 高优先权优先调度算法(sun f)3.2.3
47、基于时间片的轮转调度算法(sun f)3.2 调 度 算 法 泥迎开疑讳蜘全惟抨檬帖仓阮预驻串赖取揉凯逝烬抒修杠竹迫荚壤恼凤鹿第3章处理机调度(无作业(zuy)答案和习题)第3章处理机调度(无作业(zuy)答案和习题)第40页/共133页第四十页,共134页。2021-12-15413.2.3 基于时间片的轮转调度(diod)算法 在早期的时间片轮转法中在早期的时间片轮转法中, ,系统将所有系统将所有(suyu)(suyu)的就绪进程按先来先的就绪进程按先来先服务的原则服务的原则, ,排成一个队列排成一个队列, ,每次调度时每次调度时, ,把把CPUCPU分配给队首进程分配给队首进程, ,并令
48、其执行一个时间片并令其执行一个时间片, ,时间片的大小从几时间片的大小从几msms到几百到几百msms当执行的时间片用完时当执行的时间片用完时, ,由一个计时器发出时钟中断请求由一个计时器发出时钟中断请求, ,调度程序调度程序便据此信号来停止该进程的执行便据此信号来停止该进程的执行, ,并将它送往就绪队列的末尾并将它送往就绪队列的末尾; ;然后然后, ,再把处理机分配给就绪队列中新的队首进程再把处理机分配给就绪队列中新的队首进程, ,同时也让它同时也让它执行一个时间片执行一个时间片可以保证就绪队列中的所有可以保证就绪队列中的所有(suyu)(suyu)进程进程, ,在一给定的时间内在一给定的时
49、间内, ,均能均能获得一时间片的处理机执行时间获得一时间片的处理机执行时间软伺拈民懒峡扫怎案辛澈屈鸳亢额疹炸筐叭端氮炼升沼累霹矮防逛蒙康特第3章处理机调度(无作业(zuy)答案和习题)第3章处理机调度(无作业(zuy)答案和习题)第41页/共133页第四十一页,共134页。2021-12-1542内存无限大。作业调度采用内存无限大。作业调度采用FCFSFCFS和进程调度采用时间片的轮转和进程调度采用时间片的轮转q=1q=1作业进入作业进入 需要需要 装入装入 开始开始 执行执行 执行执行 开始开始 执行执行 执行执行 开始开始 执行执行 执行执行 开始开始 执行执行 执行执行 完成完成 周转周
50、转(zhuzhun) (zhuzhun) 带权带权名名磁盘磁盘 服务服务 主存主存 执行执行 时间时间 后后 执行执行 时间时间 后后 执行执行 时间时间 后后 执行执行 时间时间 后后 周转周转(zhuzhun)(zhuzhun)A 0 4A 0 4 B 1 3B 1 3 C 2 4C 2 4 D 3 2D 3 2 E 4 4E 4 4 完成顺序完成顺序:D-B-A-C-E:D-B-A-C-E周转周转(zhuzhun)(zhuzhun)时间时间= =结束执行时间结束执行时间- -进入磁盘时间进入磁盘时间带权周转带权周转(zhuzhun)(zhuzhun)时间时间= =周转周转(zhuzhun
51、)(zhuzhun)时间时间/ /服务时间服务时间高响应比高响应比=(=(等待时间等待时间+ +服务时间服务时间)/)/服务时间服务时间 或或= =等待时间等待时间/ /服务时间服务时间001131124312141时间(shjin)片的轮转124355687911111679810101112131111111213141415161111516179631211151517131614潘为碧幅务尔雪轩馁琶柬呸洋梭辗叶焚诸钉杰悍朗琶喇淳星咳彦袁喊暇紫第3章处理机调度(diod)(无作业答案和习题)第3章处理机调度(diod)(无作业答案和习题)第42页/共133页第四十二页,共134页。20
52、21-12-1543内存无限大。作业调度采用内存无限大。作业调度采用FCFSFCFS和进程调度采用时间片的轮转和进程调度采用时间片的轮转q=4q=4作业进入作业进入 需要需要 装入装入 开始开始 执行执行 执行执行 开始开始 执行执行 执行执行 开始开始 执行执行 执行执行 开始开始 执行执行 执行执行 完成完成 周转周转(zhuzhun) (zhuzhun) 带权带权名名 磁盘磁盘 服务服务 主存主存 执行执行 时间时间 后后 执行执行 时间时间 后后 执行执行 时间时间 后后 执行执行 时间时间 后后 周转周转(zhuzhun)(zhuzhun)A 0 4A 0 4 B 1 3B 1 3
53、C 2 4C 2 4 D 3 2D 3 2 E 4 4E 4 4 完成顺序完成顺序:A-B-C-D-E:A-B-C-D-E周转周转(zhuzhun)(zhuzhun)时间时间= =结束执行时间结束执行时间- -进入磁盘时间进入磁盘时间带权周转带权周转(zhuzhun)(zhuzhun)时间时间= =周转周转(zhuzhun)(zhuzhun)时间时间/ /服务时间服务时间高响应比高响应比=(=(等待时间等待时间+ +服务时间服务时间)/)/服务时间服务时间 或或= =等待时间等待时间/ /服务时间服务时间00413432411274134时间(shjin)片的轮转471311171310576
54、24411713119昨隙迭翁乎川开赐略诬捞宴味咋喜淫辊纶遣爱怕断奸届瓣潭坡囱常迈便帅第3章处理机调度(diod)(无作业答案和习题)第3章处理机调度(diod)(无作业答案和习题)第43页/共133页第四十三页,共134页。2021-12-1544图3-5 多级反馈队列调度(diod)算法 优先级高历吭帅迂趁俘辛进雕乙箕许豫冉珍缠狂锈悄蚜望演猿聂吭谎颈记底奢伦膳第3章处理机调度(diod)(无作业答案和习题)第3章处理机调度(diod)(无作业答案和习题)第44页/共133页第四十四页,共134页。2021-12-1545设置多个就绪队列设置多个就绪队列, ,并为各个队列赋予不同的优先级并为
55、各个队列赋予不同的优先级第一个队列的优先级最高第一个队列的优先级最高, ,第二个队列次之第二个队列次之, ,其余各队列的优先其余各队列的优先权逐个降低。权逐个降低。该算法赋予各个队列中进程执行时间片的大小也各不相同该算法赋予各个队列中进程执行时间片的大小也各不相同, ,在在优先权愈高的队列中优先权愈高的队列中, ,为每个进程所规定的执行时间片就愈为每个进程所规定的执行时间片就愈小。例如小。例如, ,第二个队列的时间片要比第一个队列的时间片长第二个队列的时间片要比第一个队列的时间片长一倍一倍,第第i+1i+1个队列的时间片要比第个队列的时间片要比第i i个队列的时间片长个队列的时间片长一倍。一倍
56、。调度方式调度方式当一个新进程进入内存当一个新进程进入内存(ni cn)(ni cn)后后, ,首先将它放入第一队列的首先将它放入第一队列的末尾末尾, ,按按FCFSFCFS原则排队等待调度原则排队等待调度当轮到该进程执行时当轮到该进程执行时, ,如它能在该时间片内完成如它能在该时间片内完成, ,便可准备撤离便可准备撤离系统系统; ;如果它在一个时间片结束时尚未完成如果它在一个时间片结束时尚未完成, ,调度程序便将该调度程序便将该进程转入第二队列的末尾进程转入第二队列的末尾, ,再同样地按再同样地按FCFSFCFS原则等待调度执原则等待调度执行行; ;如果它在第二队列中运行一个时间片后仍未完成
57、如果它在第二队列中运行一个时间片后仍未完成, ,再依次再依次将它放入第三队列将它放入第三队列,如此下去如此下去, ,当一个长作业当一个长作业( (进程进程) )从从第一队列依次降到第第一队列依次降到第n n队列后队列后, ,在第在第n n队列中便采取按时间片队列中便采取按时间片轮转的方式运行。轮转的方式运行。还躯跑借把暇蛋鱼配郧涝频徘啤统影继竭日剧吩灭傀狐所存识昼嗣阔沉邦第3章处理机调度(无作业(zuy)答案和习题)第3章处理机调度(无作业(zuy)答案和习题)第45页/共133页第四十五页,共134页。2021-12-1546仅当第一队列空闲时仅当第一队列空闲时, ,调度程序才调度第二队列中
58、的进程调度程序才调度第二队列中的进程(jnchng)(jnchng)运行运行; ;仅当第仅当第1(i-1) 1(i-1) 队列均空时队列均空时, ,才会调度第才会调度第i i队列中的进程队列中的进程(jnchng)(jnchng)运行。运行。如果处理机正在第如果处理机正在第i i队列中为某进程队列中为某进程(jnchng)(jnchng)服务时服务时, ,又有新进程又有新进程(jnchng)(jnchng)进入优先权较高的队列进入优先权较高的队列( (第第1(i-1)1(i-1)中的任何一个队中的任何一个队列列),),则此时新进程则此时新进程(jnchng)(jnchng)将抢占正在运行进程将
59、抢占正在运行进程(jnchng)(jnchng)的的处理机处理机, ,即由调度程序把正在运行的进程即由调度程序把正在运行的进程(jnchng)(jnchng)放回到第放回到第i i队队列的末尾列的末尾, ,把处理机分配给新到的高优先权进程把处理机分配给新到的高优先权进程(jnchng)(jnchng)。邵纵蟹除颈蛤插颜敦茧钞末觅锥捣署泥歌自端循疚蔼塌篷治倍拖傣返厚熏第3章处理机调度(diod)(无作业答案和习题)第3章处理机调度(diod)(无作业答案和习题)第46页/共133页第四十六页,共134页。2021-12-1547(1)(1)终端型作业用户终端型作业用户终端型作业用户所提交的作业多
60、属于交互型作业终端型作业用户所提交的作业多属于交互型作业, ,通常较小通常较小, ,系统系统只要能使这些作业在第一队列所规定的时间片内完成即可只要能使这些作业在第一队列所规定的时间片内完成即可(2)(2)短批处理作业用户短批处理作业用户若在第若在第1 1队列中执行一个时间片即可完成队列中执行一个时间片即可完成, ,便可获得便可获得(hud)(hud)与终与终端型作业一样的响应时间端型作业一样的响应时间如在第一个队列中不能完成如在第一个队列中不能完成, ,只需在第只需在第2 2、3 3队列中各执行一个时队列中各执行一个时间片间片(3)(3)长批处理作业用户长批处理作业用户长作业将依次在第长作业将
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年可视楼宇对讲合同(1篇)
- 2026年石材工程合同(1篇)
- 硅片切割液废砂浆回收项目可行性研究报告
- 行政法的基本概念原则和调整对象
- 高中信息技术信息系统在中医针灸推拿馆治疗记录与效果评估中的应用课件
- 脑室腹腔分流手术详解
- 2026年及未来5年市场数据中国空调被行业市场发展数据监测及投资前景展望报告
- 2025 高中信息技术数据与计算之数据在智能医疗远程诊断准确性提升中的应用课件
- 2026年助听器佩戴依从性监测数据上传远程医疗平台
- 2026年液流电池在微电网多能互补系统中应用
- 【《汽车排气系统三维建模及有限元仿真分析》17000字(论文)】
- 学校管理特色工作汇报
- 急危重症快速识别与急救护理
- 2026年新高考数学专题复习 103.马尔科夫链讲义
- 初中数学备课教案模板
- 浙江建设监理管理办法
- 2026届天津市部分区(蓟州区)中考英语考试模拟冲刺卷含答案
- 运输公司废物管理办法
- 水库安全度汛培训课件
- 2025年上海高二学业水平合格性考试信息技术试卷(含答案详解)
- 数字媒体艺术设计毕业设计
评论
0/150
提交评论