西安交大操作系统第一次习题课.ppt

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
西安交大操作系统第一次习题课

习题课(一);Contact me;Brief;Assignment: 6.4;Assignment: 6.9;Assignment: 6.11;var mutex,customers, barbers : semaphore; waiting, chairs : integer; procedure barber: begin while(true) begin p(customers); p(mutex); waiting:= waiting – 1 ; v(mutex); cuthair(); v(barbers); end end;procedure customer; begin p(mutex); if (waiting chairs) then begin waiting:= waiting + 1 ; v(customers); v(mutex); p(barbers); get-haircut() end else begin v(mutex); end end;begin seminitial (mutex,1 ; barbers, 0; customers,0); waiting=0; chairs=10; cobegin barber; customer; ….. customer; coend end;Assignment: Extra problem 1;解法二:另外设置一个信号量w=1;用于写进程到达后封锁后续读进程 READER : P(w); P(mutex); Rc:=rc + 1; If rc = 1 then P(wr); -----若是第一个读进程,则要看有无写进程 V(mutex); V(w); READING P(mutex); Rc := rc -1; If rc = 0 then V(wr); -------若所有读进程都执行完,可以让其它进程读写 V(mutex) WRITER : P(w); P(wr); WRITING; V(wr) V(w);;producer: v(product); p(mutex); v(mutex); consumer: p(mutex); p(product); //remove product v(mutex);;Assignment: 5.1;Assignment: 5.4;1.有一阅览室,共有100个座位。读者进入时必须先在一张登记表上登记,该表为每一座位列一表目,包括座号和读者姓名。读者离开时要消掉登记内容。试用P/v操作描述读者进程的同步结构。 解析:定义信号量以及相应变量 mutex: semaphore; 互斥信号量 full: semaphore; 同步信号量 table: array 0.. n-1 of item ; ;Procedure reader; begin P(full) ; P(mutex); Register-name ( table) ;

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档