操作系统课后标准答案-罗宇第四版 (4)

森与雨露心 分享 2020-06-19 下载文档

R: While(1) { P(full2)。 P(mutex2)。 get from buffer2。 V(empty2)。 V(mutex2)。 } parend。 4.14 题略

答:P1: Sa。

V(ac)。 V(ae)。 Sb。 P(cd)。 Sd。 P(fe)。 Sf。 V(fh)。 Sg。 P2: P(ac)。 Sc。 V(cd)。

16 / 34

P3: P(ae)。 Se。 V(fe)。 P(fh)。 Sh。 4.23 题略

答:解题方法,找出可能死锁的资源最多的情况。假设n个

进程需要的资源数分别为:a1,a2,…. an,则占有资源数最多却刚好形成死锁的情况是:每个进程都占有比所需资源数少一个的资源数量,而此时刚好资源用光。所以是:(a1-1)+(a2-1)+……+(an-1)=m,整理得a1+a2+…+an=m+n,而要想使得系统无死锁,则必须有a1+a2+…+an

答:1、Need的内容为:[0000,0750,1002,0020,0642] 2、系统是处于安全状态。

3、进程2请求0420,不能立即得到满足,因为如果给进程2分配了0420的话,系统将处于不安全状态。所以不能立即得到满足。

4.11 多元信号量机构允许P,V操作同时对多个信号量进行操作。这种机构对同时申请或释放若干个资源是非常有用的。假设二元信号量机构中的P原语定义为:

17 / 34

P(S,R) : While(S≤0 or R≤0)。 S=S-1。 R=R-1。

试用一元信号量机构加以实现。 答:mutex: semaphore

P(mutex)。

P(S)。 P(R)。 V(mutex)。 ? 4.15 “理发师睡觉”问题

答:可以将此题看作N个生产者和一个消费者问题。顾客作为生产者,每到来一个,就将自己放入计数器RC,以便让理发师消费至最后一个产品(顾客),因此顾客进程执行的第一个语句便是RC=RC+1。而第一个到来的顾客应该负责唤醒理发师,理发师此时正在信号量WAKEUP上等待((P(WAKEUP)。该信号量的初值为0),由第一个顾客执行V(WAKEUP)。若顾客不是第一个到达,则在信号量WAIT上等待(P(WAIT)该信号量的初值为0),等理发师理完一个顾客后,执行V(WAIT)操作便可叫出该顾客理发。以上过程循环反复,理发师没每理完一个顾客,就令计数器减1,RC=0时便知此时无顾客,理发师可以继续睡觉,等待下一批顾客到达。在设信号量MUTEX(初值为1),保证对计数器RC的互斥作用。

18 / 34

parbegin 顾客进程: begin

P(mutex)。 rc=rc+1。

if rc=1 then V(wakeup)。 elseP(wait)。 V(mutex)。 理发; end。 理发师进程: begin

P(wakeup)。 repeat 理发; P(mutex)。 rc=rc-1。

if(rc!=0) then V(wait)。 V(mutex)。 until rc=0。 end。 parend。

19 / 34

4.21 题略

进程数 资源总是否可能死数 1 1 2 2 2

进程数 资源总是否可能死数 1 2 2 3 3

5.5 答:需要的硬件支持可以选择两种:1、上、下界寄存器和地址检查机制;2、基地址寄存器、长度寄存器和动态地址转换机制。

地址转换的过程也即是地址重定位的过程,也有两种方法实

2 2 3 3 4 锁 不会 可能会 不会 可能会 不会 1 2 1 2 3 锁 不会 不会 不会 可能会 可能会 20 / 34


操作系统课后标准答案-罗宇第四版 (4).doc 将本文的Word文档下载到电脑

下一篇:浅谈新课程标准下的高中数学教学

相关推荐
相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xxxxxx QQ:xxxxxx