《操作系统大题全集》由会员分享,可在线阅读,更多相关《操作系统大题全集(26页珍藏版)》请在金锄头文库上搜索。
1、本文档如对你有帮助,请帮忙下载支持!2 .进程a1 , a2,a nl通过m个缓冲区向进程 b1 , b2,.,bn2不断地发送消息, 发送和接收工作遵循如下规则:缓冲区大小与消息长度一样; 读入各自的数据区内; 接收进程等待。(1)每个发送进程一次发送一个信息, 写入一个缓冲区,( 2)对每一个消息, b1 , b2,., bn2 都需各接收一次,但需读 n2 次。可以把一组 n2 个缓冲区组中相应的 n2 个缓冲 n2 个缓冲区都 n2 组信息量( avail,free )来实现这一流程,具体流程(3)m 个缓冲区都满时,发送进程等待,没有可读的消息时, 试用 p、v 操作组织正确的发送和
2、接收操作。 解答: 这是一个变形的生产和消费问题。 每个缓冲区只需写一次,缓冲区看做n2组缓冲区,这样,每个生产者需要同时写 区,而每一个消费者只需读它自己对应的那组缓冲区中的单元。生产者须在 为空闲是方可写入,这时,就可以用 如下:begininteger mutex,availn2,fulln2; integer i;mutex : =1;for i :=1 to n2 dobeginavail i := m;full i := 0;end;procedure sendminteger i ;beginfor i :=1 to n2 dobeginp( avail i);end ;p (m
3、etux); 将消息放入缓冲区 ; for i :=1 to n2 do begin v(full i); end ;v (metux)end ;procedure receive(m,i) beginp (fulli);p (metux); 从缓冲区中取消息 ;v (avail i);v (mutex);end ;cobeginai:beginsend mendbi;beginreceive(m,i);end;coend;end;3设系统中仅有一类数量为m 的独占型资源,系统中有 n 个进程竞争该类资源,其中各进程对该类资源的最大需求数为w,当m, n, w分别取下列值时,试判断哪些情况会发
4、生死锁,为什么?(1)m=2,n=2,w=1(2)m=3,n=2w=2(3)m=3,n=2,w=3(4)m=5n=3w=2(5)m=6n=3w=3解答:(1) 不会发生死锁。 且系统中资源总数为 2, 锁。(2) 不会发生死锁。 且系统中资源总数为 3, 源,该进程将顺利完成,从而可以将分配给它的资源归还给系统,使另一个进程也 能顺利执行完成,故不会发生死锁。(3) 可能发生死锁。 因为系统中有两个进程, 每个进程的最大资源需求量为 且系统中资源总量为 3,若系统先将全部资源分配给其中一个过程,则该进程将顺 利完成,从而可将分配给它的资源归还给系统,使另一进程也能顺利完成,以这种 方式分配资源
5、时不会发生死锁;若系统将两个资源分配给一个过程,而剩余的一个 资源分配给另一个进程,则系统中没有空闲资源,而每个进程都需要等待资源,此 时发生死锁。(4) 不会发生死锁。 因为系统中有 3 个过程,每个进程的最大资源需求量为 且系统中资源总量为 5,无论如何分配, 3 个进程中必有一个进程可以获得 2 源,该进程将顺利完成,从而可以将分配给它的资源归还给系统,使其他进程也能 顺利执行完成,故不会发生死锁(5) 可能会发生死锁。 因为系统中有 3个进程, 每个进程的最大资源需求量为 3,且系统中资源总数为 6 ,若系统先将 3 个资源分配给其中一个过程,则该进程 将顺利完成,从而可将分配给它的资
6、源归还给系统,使其他进程也能顺利完成,以 这种方式分配资源时不会发生死锁;若系统给每个进程分配两个资源,则系统中没 有空间资源,而每个进程都需要等待一个资源,此时发生死锁。因为系统中只有两个进程,每个进程的最大需求量为系统能够满足两个进程的最大资源需求量,故不会发生死因为系统中有两个进程, 每个进程的最大资源需求量为 无论如何分配,两个进程中必有一个进程可以获得两个资1,2,3,2,个资本文档如对你有帮助,请帮忙下载支持!4. 设某作业占有7个页面,如果在主存中只允许装入4个工作页面(即工作集为 4),作业运行时,实际访问页面的顺序是1 , 2, 3, 6, 4, 7, 3, 2, 1, 4,
7、 7, 5, 6, 5, 2, 1。试用fifo与lru页面调度算法,列出各自的页面淘汰顺序和缺页中断次数,以及最后留 驻主存4页的顺序(假设开始的 解答: 对fif o算法 : 页面淘汰顺序为1 ,2,3, 缺页中断6次; 最后留驻主存4页的顺序为: 对lru 的算法; 页面淘汰顺序为1 ,2,6, 缺页中断10次; 最后留驻主存4页的概率:6,5 注:假定前面四页1 ,2,3,64个页面已装入主存)。6,2,4,4,7;1,7,3,2,1,4,7,2,1已在主存5. 在某请求分页管理系统中,一个作业共5页,作业执行时依次访问如下页面:1,4,3,1,2,5,1,4,2,1,4,5若分配给该
8、作业的主存块数为3,分别采用fi fo,lru页面置换算法,试求出缺页中断的次数及缺页率。解答:(1)采用fifo页面置换算法,缺页中断的次数为9,缺页率 9/12 = 75%(2)采用lru页面置换短法缺页中断的次数为8,缺页率8/12 = 67%6. 设内存中有三道 程序a , b , c,它们按a/b/c的优先次序执行,它们的计算和 i/o操 作的时间如表所1-1示(单位;ms)表1-1 3道程序的操作时间假设3道程序使用相同设备进行i/o操作,即程序以串行方式使用设备,试画出单道运行和多道运行的时间关系图(调度程序执行时间忽略不计)在两种情况下,各要花多少时间? 解答:若采用单道方式运
9、行三道程序,则运行次序为 a , b , 的计算,再完成 30ms的i/o操作。最后在进行10ms的计算。 的计算,再完成20ms的i/o操作。最后在进行10ms的计算。计算,再完成30ms的i/o操作。最后在进行20ms的计算。至此,三到程序全部运行完毕, 其程序运行的时间关系如图1-1所示总的运行时间为20 30 10 40 20 10 10 30 20=190ms(调度程序执行时间忽略不计)完成这三道程序c,即程序 接下来程序 然后程序 c先执行10ms的a先执行20msb先执行40ms程操序作abc计算204010i/o302030计算101020a , b , c的优先
10、次序执行,则在运行b的优先级次之,c的优先级最程序b进行30ms过程i/o 氐,计算若采用都道方式运行三道程序,因系统按照中,无论使用_ cpu还是i/o设备,a的优先级最高, 即程序a先执行20ms的计算,再完成30ms的i/o操作(与此同时,时间ms本文档如对你有帮助,请帮忙下载支持!的计算),最后在进行10ms的计算(此时程序b等待,因还继续10ms计算):接下来程 序 b先执行10ms的计算,再完成20ms的i/o操作(与此同时,程序 c进行10ms的计算, 然后等待i/o的设备),最后在进行10ms的计算(此时程序 c执行i/o操作10ms )。然后 程序c先执行20ms的i/o操作
11、,最后在进行20ms的计算。至此,三到程序全部运行完毕, 其程序运行的时间关系如图1-2 所示 总的运行时间为20 30 10 10 20 10 10 20 30=140msaababbcibcc1!ii j11i/o计算时间ms 7. 0在南京大学和天津大学的之间有一条弯曲的小路,其中从100 s到t 一段路每次只允许一 辆自行车通过,但中间有一个小的安全岛m (同时允许两辆自行车停留),可供两辆自行车在以从两端进入小路情况下错车使用,如下图所示,试设计一个算法,使来往的自行车辆均靠顺利通过。关键在于正确分析所需控制的对津大学工作流程以及控制关系。在这 以扌把它分为 y个小段:
12、从s到k,驶进安全岛 m, 许一辆自行车通过(即一个进程使用),而安全岛m。对它们分别用 3个信号量来管理。再注意到同时解答:对于这一类问题, 一问题中,根据从 s到t路段的特点,可 从l到t。路段s到k及l到t 允许两辆自行车通过(即两个 最多只能由一个方向的一辆自行车通过因此每个方向的自行车还要用一个信号量来控制。用 biket_to_n 和 bife两个方向的自行车。控制流程如下:begi ninteges n _to_t,t_to_n,l,m,k;n 南开大学; t_to_n:=1;l:=1;m:=2;k:=1;p rocedure biket_to_n()beginp( t_to_n
13、);p(l);go through t to l;p(m);go into m ;v(l);p(k);go through k to s;v(m);v(k);v(t_to_n);en d;p rocedure biken_to_t()beginp (n_to_t);、进程使j t,只允许 i使用mjz 通过,因此n to豕、)_t分别表示从天津大学到南开大学和从南开大学到天津大学p(k);go through s to k;p(m);go into m ;v(k);p(l);go through l to t;v(m);v(l);v(n_to_t);en d;end;&例:在银行家算法中,若出现表2-4所示的资源分配情况,试问:1. 该状态是否安全?2. 如果进程p2提出请求request2(1,2,2,2)后,系统能否将资源分配给它。2-5所示的安全性分析情表2-4 资源分配表、进资、 源情、况程allocati onneedavailableabcdabcda b cdp000320012p110001750p2135423561 6 2 2