习题课讲解课件_第1页
习题课讲解课件_第2页
习题课讲解课件_第3页
习题课讲解课件_第4页
习题课讲解课件_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1Problems1:–题面下面通过程序模拟父亲和母亲给儿子削苹果吃的过程:父亲进程和母亲进程的功能是削苹果,然后把削好的苹果放在盘子中;儿子进程的功能是在盘子里面有苹果的,取苹果吃。

假设如下:1)苹果的数目没有限制,即父亲和母亲可以一直削苹果;2)儿子的胃口没有限制,即儿子可以一直吃苹果;3)盘子只能容纳一个苹果;

请编程实现父进程和子进程,同时实现同步互斥。Problem1:–知识点知识点:互斥和同步Page158,结合book5.5.3生产者消费者问题需要注意的地方:保证每次只有一个人占用盘子3Problems1:–思路思路:采用信号量和互斥体实现信号量plate表示盘子,初始值1信号量apple表示苹果,初始值0互斥信号量mutex,防止盘子被多个人访问,初始值15Problems2:–题面1/2有三个进程:Read、Move和Print,共享两个缓存B1和B2进程Read:读取一条记录,并放在缓存B1中进程Move:从缓存B1中读取记录,处理后放入缓存B2中进程Print:从B2中读取数据并打印请通过信号量的等待和激发操作填空6Problems2:–题面2/2Problem2:–知识点知识点:互斥和同步、信号量Page154,结合book5.3信号量需要注意的地方:系统运行时,必须保证READ优先使用B1缓存,MOVE优先使用B2缓存(原因:初始状态B1和B2缓冲中的数据是无效数据)8Problems2:–思路三个进程的关系如下:对于READ进程:在对B1缓冲区读取数据时,首先要判断MOVE进程是否将上一次读的数据取走,如果没有取走,READ等待;否则,读取一段(数据放到B1,然后通知MOVE进程,B1缓存可用;对于MOVE进程:首先判断B1缓冲区中的数据是否可用,如果没有等待;否则,从B1缓存中读取数据,然后对数据进行加工,加工完毕后,判断PRINT进程是否已将上次MOVE进程放到B2缓冲区中的数据取走,如果没有取走,等待;否则,将加工后的数据存放到B2缓冲区,然后通知PRINT进程可以使用B2缓冲区;对于PRINT进程:判断B2缓冲区的数据是否可用,如果不可用,则等待;如果可用,则打印,然后通知MOVE进程,B2的数据已取走,MOVE进程可对B2缓冲区进行更新操作。10Problems2:–答案2/3初始化:因为由于优先级的问题,所以有Semsignals1=1;(B1中有位置)1表示有位置,0表示没有位置Semsignals2=0;(B1中没有数据)1表示有数据,0表示没有数据Semsignals3=1;(B2中有位置)1表示有位置,0表示没有位置Semsignals4=0;(B2中没有产品)1表示有数据,0表示没有数据Problems3:6.4–题面1/2考虑一个下面的一个系统,当前不存在未满足的请求:可用R1R2R3R42100进程当前分配最大需求仍然需要r1r2r3r4r1r2r3r4r1r2r3r4P100120012P220002750P300346656P423544356P503320652Problems3:–

知识点资源分配安全状态定义死锁避免死锁检测算法Problem3:答案aa.计算每个进程仍然可能需要的资源,并填入标为“仍然需要”中*stillneeds=maximumdemand-currentallocation进程当前分配最大需求仍然需要r1r2r3r4r1r2r3r4r1r2r3r4P1001200120000P2200027500750P3003466566622P4235443562002P5033206520320可用R1R2R3R42100Problem3:答案b系统当前是处于安全状态还是不安全状态?为什么?知识点:safestate,Page192答案:运行银行家算法,进程结束顺序为: P1->P4->P5->P2->P3.处于安全状态 P1结束时:A=(2100)+(0012)=(2112)P4结束时:A=(2112)+(2354)=(4466)P5结束时:A=(4466)+(0332)=(4798)P2结束时:A=(4798)+(2000)=(6798)P3结束时:A=(6798)+(0034)=(671212)Problem3:答案c&dIsthissystemcurrentlydeadlocked?Whyorwhynot?Whichprocesses,ifany,areormaybecomedeadlocked?

知识点:死锁检测算法Problem3:答案ee.如果P3的请求(0,1,0,0)到达,是否可以立即安全地同意该请求?在什么状态(死锁,安全,不安全)下可以立即同意系统剩下的全部请求?如果立即同意全部请求,哪个进程(如果有)是死锁的或可能变成死锁的。知识点:银行家算法,思路,先假设同意P3的请求,接着计算使用剩下的资源是否能够找到一个进程序列不会造成死锁!Problems4:6.5–题面

请把6.4节的死锁检测算法应用于下面的数据,并给出结果Problems4:–思路and答案知识点:死锁检测算法(6.4)1.W=(2100) 2. MarkP3; W=(2100)+(0120)=(2220)3. MarkP2; W=(2220)+(2001)=(4221)4. MarkP1;nodeadlockdetectedProblems5:–

答案aa.FIFO

PFN3sinceloadedlongestagoattime20

虚拟页号页帧加载时间访问时间R位M位2060161011113016010022616210332016311Problems5:–

答案b b.LRU

PFN1sincereferencedlongestagoattime160

虚拟页号页帧加载时间访问时间R位M位2060161011113016010022616210332016311Problems5:–

答案d d.最佳

ReplacethepageinPFN3sinceVPN3(inPFN3)isusedfurthestinthefuture4,0,0,0,2,4,2,1,0,3,2Problems6:8.6–

题面一个进程在磁盘上包含8个虚拟页,在主存中固定分配给4个页帧。发生如下顺序的页访问: 1,0,2,2,1,7,6,7,0,1,2,0,3,0,4,5,1,5,2,4,5,6,7,6,7,2,4,2,7,3,3,2,3 a.如果使用LRU替换策略,给出相继驻留在这4个页帧中的页。计算主存的命中率。假设这些帧最初是空的。b.如果使用FIFO策略,重复问题(a) c.比较使用这两种策略的命中率。解释为什么对这个特殊的访问顺序,使用FIFO的效率接近于LRU

Problems8:9.1–答案FCFS(先到先服务,非抢占)012345678910111213141516171819AAABBBBBCCDDDDDEEEEE进程ABCDE平均值到达时间013912服务时间(Ts)35255完成时间38101520周转时间(Tr)3-0=38-1=710-3=715-9=620-12=86.2Tr/Ts11.43.51.21.61.74Problems8:9.1–答案012345678910111213141516171819ABABCABCBDBDEDEDEDEE进程ABCDE平均值到达时间013912服务时间(Ts)35255完成时间61181820周转时间(Tr)6-0=611-1=108-3=518-9=920-12=87.6Tr/Ts222.51.81.61.98RRq=1(时间片轮转,抢占)Problems:9.1–答案RRq=4(时间片轮转,抢占)012345678910111213141516171819AAABBBBCCBDDDDEEEEDE进程ABCDE平均值到达时间013912服务时间(Ts)35255完成时间31091920周转时间(Tr)3-0=310-1=99-3=619-9=1020-12=87.2Tr/Ts11.8321.61.88Problems8:9.1–答案SPN(最短进程优先,非抢占)012345678910111213141516171819AAACCBBBBBDDDDDEEEEE进程ABCDE平均值到达时间013912服务时间(Ts)35255完成时间31051520周转时间(Tr)3-0=310-1=95-3=215-9=620-12=85.6Tr/Ts11.811.21.61.32Problems8:9.1–答案SRT(最短剩余时间优先,抢占)012345678910111213141516171819AAACCBBBBBDDDDDEEEEE进程ABCDE平均值到达时间013912服务时间(Ts)35255完成时间31051520周转时间(Tr)3-0=310-1=95-3=215-9=620-12=85.6Tr/Ts11.811.21.61.32Problems8:9.1–答案HRRN(最高响应比,R=(w+s)/s,非抢占)012345678910111213141516171819AAABBBBBCCDDDDDEEEEE进程ABCDE平均值到达时间013912服务时间(Ts)35255完成时间38101520周转时间(Tr)3-0=38-1=710-3=715-9=620-12=86.2Tr/Ts11.43.51.21.61.74Problems8:9.1–答案FB(反馈,时间片+动态优先级)(q=1,注意时间片到了,就绪队列没有进程则不降级)012345678910111213141516171819ABACBCABBDDDEEEBDEDE进程ABCDE平均值到达时间013912服务时间(Ts)35255完成时间71661920周转时间(Tr)7-0=716-1=156-3=319-9=1020-12=88.6Tr/Ts2.3331.521.62.286Problems8:9.1–答案FBq=2i(注意时间片到了,就绪队列没有进程则不降级)012345678910111213141516171819ABAACBBCBBDDEDDEEDEE进程ABCDE平均值到达时间013912服务时间(Ts)35255完成时间41081820周转时间(Tr)4-0=410-1=98-3=518-9=920-12=87.0Tr/Ts1.331.82.51.81.61.81Problems8:9.2–题面考虑以下进程集合给出类似于表9.5和图9.5的分析进程ABCD到达0123处理1919Problems8:9.2–思路参考Problem7Problems8:9.2–答案Problems8:9.2–答案2/2Problems9:11.3–题面

使用与表11.2类似的方式,分析下列磁道请求:27,129,110,186,147,41,10,64,120。初始磁道为100(1)磁头沿磁道号减小的方向运行(2)磁头沿磁道号增大的方向运行Problems9:11.3–思路and答案知识点:各种磁盘调度算法FIFOSSTFSCANC-SCAN(1)磁头沿磁道号减小的方向运行FIFO初始磁道为100 27,129,110,186,147,41,10,64,120Next27129110186147411064120AVG越过7310219763910631545661.8SSTF(最短服务时间)

初始磁道为100 27,129,110,186,147,41,10,64,120Next11012012914718664412710AVG越过10109183912223141729.1Problems9:11.3–答案SCAN(磁头沿一个方向往返,满足运动方向上的请求)

初始磁道为100 27,129,110,186,147,41,10,64,120Next64412710110120129147186AVG越过36231417100109183929.6Problems9:11.3–答案C-SCAN(磁头向一个方向单向运动)

初始磁道为100 27,129,110,186,147,41,10,64,120Next64412710186147129120110AVG越过36231417176391891038Problems9:11.3–答案(2)磁头沿磁道号增大的方向运动FIFO,SSTF与磁头运动方向无关,结果与上题一致SCAN

初始磁道为100 27,129,110,186,147,41,10,64,120Next11012012914718664412710AVG越过10109183912223141729.6Problems9:11.3–答案C-SCAN

初始磁道为100 27,129,110,186,147,41,10,64,120Next11012012914718610274164AVG越过10109183917617142338Problems9:11.3–答案Problems10:–题面Thereissequenceofdisktrackrequests:7562991445016211026198.Assumethatthediskhe

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论