操作系统第三章作业答案_第1页
操作系统第三章作业答案_第2页
操作系统第三章作业答案_第3页
操作系统第三章作业答案_第4页
全文预览已结束

下载本文档

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

文档简介

1、第三章作业1.下进程之间存在相互制约关系吗?若存在,是什么制约关系?为什么?几个同学去图书馆借同一本书。答:互斥,只能有一个借到篮球比赛中两队同学争抢篮板球。答:互斥,只能有一个抢到果汁流水线生产中捣碎、消毒、灌装、装箱等各道工序。答:同步时进行,相互不影响商品的入库出库。答:同步时进行,相互无影响工人做工与农民种粮。答:同步进行,相互无影响2.在操作系统中引入管程的目的是什么?条件变量的作用是什么?答:引入管城是为了实现进程的同步和互斥。 条件变量的作用是:设置多个信号量,使用大量的P、V操作,还要仔细安排多个P操作的排列次序,否则会出现错误的结果或出现死锁现象。3.说明P、V操作为什么要设

2、计成原语。答:用信号量S表示共享资源,其初值为1表示有一个资源。设有两个进程申请该资源,若其中一个进程先执行P操作。P操作中的减1操作有3条指令组成:去S送寄存器R;R-1送S。若P操作不用原语实现,在执行了前述三条指令中的2条,即还未执行R送S时(此时S值仍为1),进程被剥夺CPU,另一个进程执行也要执行P操作,执行后S的值为0,导致信号量的值错误。正确的结果是两个进程执行完P操作后,信号量S的值为-1,进程阻塞。4.设有一个售票大厅,可容纳200人购票。如果厅内不足200人则允许进入,超过则在厅外等候;售票员某时只能给一个购票者服务,购票者买完票后就离开。试问:购票者之间是同步关系还是互斥

3、关系?答:互斥关系 用P、V操作描述购票者的工作过程。如下:semaphore mutex=1;semaphore full=200;void customer() p(metux); P(full); Buying V(mutex); V(full);5.进程之间的关系如图3-16所示,试用P、V操作描述它们之间的同步。如下:设:s1s2为a s1s3为b s2s6为c s3s4 为d s3s5为e s4s6为f s5s6为gsemaphore a,b,c,d,g,f,g=0,0,0,0,0,0,0; s1;v(a);v(b); p(a);s2;v(a); p(b);s3;v(b); p(d

4、);s4;v(d); p(e);s5;v(e); p(c);s6; p(f);p(g);s66.有4个进程P1、P2、P3、P4共享一个缓冲区,进程P1向缓冲区存入消息,进程P2、P3、P4从缓冲区中去消息,要求发送者必须等三个进程都去过本消息后才能发送下调消息。缓冲区内每次只能容纳一个消息,用P、V操作描述四个进程存取消息的情况。如下:Semaphore: metux=0; p1;v(metux); p(metux); p(metux); p(metux);P2; p3; p4;V(metux); v(metux); v(metux); 7.分析生产者消费者问题中多个P操作颠倒引起的后果。s

5、emaphore mutex=1; semaphore empty=n; semaphore full=0; int i,j;ITEM buffern;ITEM data_p,data_c;void producer() While(ture) Produce an item in data_p; P(empty); P(mutex); bufferi=data_p; i=(i+1)%n; v(empty); v(full);Void consumer() While(ture) P(full); P(mutex);data_c= bufferj; j=(j+1)%n;v(metux); v(

6、empty);coumer the item in data_c;8.读者写者问题中写者优先算法的实现。semaphore Wmutex,Rmutex=1;int Rcount=0;semaphore mutex=1void reader() void writer()while(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.写一个用信号量解决哲学家进餐问题不产生锁死的算法。如下:Semaphore chopstick5=1,1,1,1,1;Semaphore mutex;Void profession(int n) While (ture) p(chopsticki; p(chopstick(i+1)%5); p(metux); 进餐; V(chopsticki; V(chopstick(i+1)%5);思考;V(metux);10.一个文件可有若干个不同的进程所共享,每个进程具

温馨提示

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

评论

0/150

提交评论