操作系统第三章作业答案.docx
- 文档编号:9452159
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:6
- 大小:43.86KB
操作系统第三章作业答案.docx
《操作系统第三章作业答案.docx》由会员分享,可在线阅读,更多相关《操作系统第三章作业答案.docx(6页珍藏版)》请在冰豆网上搜索。
操作系统第三章作业答案
第三章作业
r下进程之间存在相互制约关系吗?
若存在,是什么制约关
系?
为什么?
1几个同学去图书馆借同一本书。
答:
互斥,只能有一个借到
2篮球比赛中两队同学争抢篮板球。
答:
互斥,只能有一个抢到
3果汁流水线生产中捣碎、消毒、灌装、装箱等各道工序。
答:
同步时进行,相互不影响
4商品的入库出库。
答:
同步时进行,相互无影响
5工人做工与农民种粮。
答:
同步进行,相互无影响
2•在操作系统中引入管程的目的是什么?
条件变量的作用是什
么?
答:
引入管城是为了实现进程的同步和互斥。
条件变量的作用是:
设置多个信号量,使用大量的P、V操
作,还要仔细安排多个P操作的排列次序,否则会出现错误的结果或出现死锁现象。
3.说明P、V操作为什么要设计成原语。
答:
用信号量S表示共享资源,其初值为1表示有一个资源。
设有两个进程申请该资源,若其中一个进程先执行P操作。
P操作中的减1操作有3条指令组成:
去S送寄存器R;RT送S。
若P操作不用原语实现,在执行了前述三条指令中的2条,即还未执行R送S时(此时S值仍为1),进程被剥夺CPU,另一个进程执行也要执行P操作,执行后S的值为0,导致信号量的值错误。
正确的结果是两个进程执行完P操作后,信号量S的值为T,进程阻塞。
4•设有一个售票大厅,可容纳200人购票。
如果厅内不足200人
则允许进入,超过则在厅外等候;售票员某时只能给一个购票者服务,购票者买完票后就离开。
试问:
①购票者之间是同步关系还是互斥关系?
答:
互斥关系
②用P、V操作描述购票者的工作过程。
如下:
semaphoremutex=1;
semaphorefuII=200;
voidcustomer()
p(metux);
P(fulI);
Buying
V(mutex);
5•进程之间的关系如图3T6所示,试用P、V操作描述它们之间
设:
s1->s2为as1"4s3为bs2Ts6为cs3Ts4为ds3
semaphorea,b,c,d,g,f,g=0,0,0,0,0,0,0;
{si;v(a);v(b);}
{P(a);s2;v(a);}
{p(b);s3;v(b);}
{p(d);s4;v(d);}
{p(e);s5;v(e);}
{p(c);s6;}
{P(f);P(g);s6}6.有4个进程P1、P2、P3、P4共享一个缓冲区,进程向缓冲区
存入消息,进程P2、P3、P4从缓冲区中去消息,要求发送者必须等三个进程都去过本消息后才能发送下调消息。
缓冲区内每次只能容纳一个消息,用入V操作描述四个进程存取消息的情况。
如下:
Sernaphore:
metux=0;
{pl;V(metux);}
7•分析生产者——消费者问题中多个P操作颠倒引起的后果。
semaphoremutex=1:
semaphoreempty=n;
semaphorefuIl=0:
While(ture)
Preduceanitemindata_p;
P(empty);
P(mutex);buffer[i]=data_p;
V(empty);
V(fuII);
Voidconsumer()
While(ture)
P(fulI);
P(mutex);
data_c=buffer[j];
V(metux);
V(empty);
coumertheiternindata_c;
8.读者——写者问题中写者优先算法的实现。
semaphoreWmutex,Rmutex=1;
intRcount=0;
semaphoremutex=1
voidreader
voidwriter(){whiIe(true)
while(true)
{P(mutex);
{P(mutex);
P(Rmutex);
P(wmutex);
If(Rcount~0)P(wmutex);
Rcount=Rcount+1
写;
V(Rmutex);
V(mutex);
V(Wmutex);
V(mutex);
P(Rmutex);
Rcount=Rcount-1:
if(Rcount二二0)V(wmutex);
V(Rmutex):
}
9.写一个用信号量解决哲学家进餐问题不产生锁死的算法。
如下:
Semaphorechopstick[5]={1,1,1,1,1};
Sernaphoremutex;
Voidprofession(intn)
While(ture)
p(chopstick[i];
p(chopstick[(i+1)%5]);
p(metux);
进餐;
V(chopstick[i];
V(chopstick[(i+1)%5]);
思考;
V(metux):
10.一个文件可有若干个不同的进程所共享,每个进程具有唯一的编号。
假定文件可有满足下列限制的若干个不同的进程同时访问,并发访问该文件的哪些进程的编号的总和不得大于
n,设计一个协调对该文件访问的管程。
不会做这道题
门.用管程解决读者——写者问题,并采用公平原则。
不会做这道题
如有侵权请联系告知删除,感谢你们的配合!
S*■:
A5;;I#:
m
UMiTS•»!
;y:
鉛“0i:
CE1^0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 第三 作业 答案