您好,欢迎访问三七文档
1.设有n个进程共享一个临界资源,对于两种情况:(1)如果每次只允许一个进程访问该临界资源;(2)如果最多允许m个进程(mn)同时访问该临界资源。问:所采用的互斥信号量初值是否相同?信号量值的变化范围如何?初值为1;变化范围:-(n-1)~1初值为m;变化范围:-(n-m)~m2.设有3个并发进程R、M、P,它们共享一个缓冲区。R负责从输入设备读信息,每读出一个记录后,就把它存放在缓冲区中;M在缓冲区中加工读入的记录;P把加工后的记录打印输出。读入的记录经加工输出后,缓冲区又可存放下一个记录。试写出它们能正确执行的程序。3.有一阅览室,读者进入时必须先在一张登记表上进行登记。该表为每一座位列出一个表目,包括座号、姓名。读者离开时要撤销登记信息。阅览室有100个座位,试问:(1)为描述读者的动作,应编写几个程序,应该设置几个进程?进程和程序之间的对应关系如何?(2)试用P、V操作描述这些进程间的同步算法。typedefintsemaphore;semaphoremutex=1;empty=100;Processreader(){到达阅览室;register();semaphores1=1,/*缓冲区存放的最大记录数*/s2=0,/*缓冲区中待加工的记录数*/s3=0;/*缓冲区中待打印的记录数*/ProcessR(){读入一个记录;P(s1);将记录放入缓冲区;V(s2);}ProcessM(){P(s2);加工记录;V(s3);}ProcessP(){P(s3);打印记录;V(s1);}进入阅览室;unregister();离开阅览室;}register(){P(empty);P(mutex);登记;V(mutex);}unregister(){P(mutex);撤销登记;V(empty);V(mutex);}4.nprocessessharedonesegment,ifallowm(mn)processesenterthemutualsegmentsimultaneously,thenthevaluerangeofsemaphoreis______.A.–m~1B.–m~0C.–(n-m)~mD.–(m-1)~n5.Astorehastwoconsigners(发货员),onechecker.whencustomerwanttopickupthegoods,ifoneoftheconsignerisidle,thecustomerisallowedtogetintothestoreandtakethegoods.whencustomerleaves,thecheckerexamineswhethercustomergetstherightgoods.Tocoordinate(协调)theirworksusingPVoperations,twosemaphoreS1andS2areused.TheinitialvalueofS1is2,andtheinitialvalueofS2is1.theoperationin‘a’showninthefollowingfigureshouldbe(1);theoperationin‘b’,‘c’and‘d’shouldbe(2).(1)A.P(S1)B.P(S2)C.V(S1)D.V(S2)(2)A.P(S2)、V(S2)andV(S1)B.P(S1)、V(S1)andV(S2)C.V(S1)、P(S2)andV(S2)D.V(S2)、P(S1)andV(S1)acdCheckbgetgoodscustomerprocessi(i=1,2,…,n)Enterthestorecustomerleavesthestore6.Intheprocessmanagement,iftheinitialvalueofsemaphoreSis2andthecurrentvalueis-1,thenthereare____processeswaitingforthisresource.A.0B.1C.2D.37.桌上有一只盘子,每次只能放入一个水果。爸爸专向盘中放苹果,妈妈专向盘中放桔子。一个女儿专门等吃盘中的苹果,一个儿子专门等吃盘中的桔子。试用P、V操作写出他们能同步的程序。8.设一民航航班售票系统有n个售票处。每个售票处通过终端访问系统中的公用数据区,假定公共数据区中的某些单元xk(k=1,2,…)分别存放某月某日某次航班的现存票数。设P1,P2,…,Pn表示各售票处的处理进程,R1,R2,…,Rn表示各进程执行时所用的工作单元。给出各个进程的程序代码。semaphores=1;/*进程Pi(i=1,2,…)的代码*/按旅客订票要求找到xk;P(s);/*进程Pi进入临界区*/Ri=xk;if(Ri=1){Ri=Ri-1;xk=Ri;V(s);/*进程Pi离开临界区*/输出一张票;}else{V(s);/*进程Pi离开进入临界区*/输出“票已售完”;}9.FourbatchjobsAthroughD,arriveatacomputercenterat0,2,3,4second.Theyhaveestimatedrunningtimeof3,5,4,and1seconds.Theirprioritiesare3,2,1,and4,respectively,with1beingthehighestpriority.Foreachofthefollowingschedulingalgorithms,determinethemeanprocessturnaroundtime.Ignoreprocessswitchingoverhead.(a)Roundrobin(quantum=1s).(b)Priorityscheduling(Preemptive).(c)Priorityscheduling(Nonpreemptive).(d)FCFS.(e)Shortestjobfirst(Preemptive).(f)Shortestjobfirst(Nonpreemptive).10.有三个进程A、B和C协作解决文件打印问题:A将文件记录从磁盘读入主存的缓冲区buffer1,每执行一次读一个记录;B将缓冲区buffer1的内容复制到缓冲区buffer2,每执行一次复制一个记录;C打印缓冲区buffer2的内容,每执行一次打印一个记录。缓冲区的大小和一个记录大小一样。请用P、V操作来保证文件的正确打印。semaphoremutex1=mutex2=1;empty1=empty2=1;full1=full2=0;ProcessA(){从磁盘读入一个记录;P(empty1);P(mutex1);将记录放入缓冲区buffer1;V(full1);V(mutex1);}JobsArrivetimeRunningtimePriorityA033B252C341D414ProcessB(){P(full1);P(mutext1)从buffer1中取一条记录;V(empty1);V(mutex1);P(empty2);P(mutex2);将记录拷入buffer2;V(full2);V(mutex2);}ProcessC(){P(full2);P(mutext2)从buffer2中取一条记录;V(empty2);V(mutex2);打印记录}11.假定一磁盘有200个柱面,编号为0~199,当前存取臂的位置在143号柱面上,并刚刚完成了125号柱面的服务请求,如果请求队列的先后顺序是:86,147,91,177,94,150,102,175,130。为完成上述请求,下列算法存取臂移动的总量是多少?写出存取臂移动的顺序。(1)FCFS;(2)SSTF;(3)电梯调度算法。FCFS移臂顺序:86,147,91,177,94,150,102,175,130移臂总量:57+61+56+86+83+56+48+73+45=565SSTF移臂顺序:147,150,130,102,94,91,86,175,177移臂总量:4+3+20+28+8+3+5+89+2=162电梯调度算法移臂顺序:147,150,175,177,130,102,94,91,86移臂总量:4+3+25+2+47+28+8+3+5=12512.在系统中仅有m个同类资源,由n个进程互斥使用。如果每个进程对该类资源的最大需求量为w,那么当m、n、w分别取下表列出的值时,问在表中(a)~(e)各种情况下,哪种可能发生死锁?如果可能死锁,请举例说明。13.FivebatchjobsAthroughE,arriveatacomputercenteratalmostthesametime.Theyhaveestimatedrunningtimesof10,6,2,4and8minutes.Theirprioritiesare3,5,2,1and4,respectively,with5beingthehighestpriority.Foreachoffollowingschedulingalgorithms,determinethemeanprocessturn-aroundtime.Ignoreprocessswitchingoverhead.(a)Roundrobin;(b)Priorityscheduling;(c)First-come,first-served(runinorder10,6,2,4,8);(d)ShortestjobfirstFor(a)assumethatthesystemismultiprogrammed,andthateachjobgetsitsfairshareoftheCPU.For(b)through(d)assumethatonlyonejobatatimeruns,untilitfinishes.AlljobsarecompletelyCPUbound.14.Consideraswappingsysteminwhichmemoryconsistsofthefollowingholesizeinmemoryorder:10KB,4KB,20KB,18KB,7KB,9KB,12KB,and15KB.Whichholeistakenforsuccessivesegmentrequestsof12KB,10KB,9KBforfirstfit?Nowrepeatforbestfit,worstfitandnextfit.FirstfitBestfitWorstFitNextfit(a)12KB20KB12KB20KB20KB(b)10KB10KB10KB18KB18KB(c)9KB18KB9KB15KB9KB15.根据右图,指出对应于下列十进制虚拟地址的物理地址:2041008300先计算出每个虚拟地址对应的虚拟页面号和偏移量;再根据图中的映射关系计算物理地址。虚拟地址页号偏移量页帧(起始地址)物理地址200202(8K)8K+20=82124100141(4K)4K+4=4100830021086(24K)24K+108=2468416.设某进程的执行过程中有以下的页面号引用串(页面走向):4,3,2,1,4,3,5,4,3,2,1,5(1)当为进程分配3个页帧时,分别给出采用OPT(最优页面置换)、FIFO、LRU算法时的页面置换过程。(2)当为进程分配4个页帧时,分别给出采用FIFO、LRU算法时的页面置换过程。17.考虑一个460字的程序的下述内存访问序列:10,19,154,170,54,334,185,245,247,456,458,378假定页面大小为100字,试给出页面访问串。假定内存中有200个字可供程序使用且采用FIFO算法,那么有关该访问串的页面失效次数是多少?若采用LRU算法,那么有关该访问串的页面失效次数是多少?页面访问串:001103122443页帧数:218.如果某进程使用5个虚拟页面(编号从0到4),
本文标题:os最后的晚餐
链接地址:https://www.777doc.com/doc-6754610 .html