第2章进程管理(part4).pptVIP

  • 9
  • 0
  • 约2.13万字
  • 约 82页
  • 2017-07-16 发布于四川
  • 举报
* 小和尚打水问题 * 2009年考研题 45.(7分)三个进程P1、P2、P3互斥使用一个包含N(N0)个单元的缓冲区。P1每次用produce()生成一个正整数并用put()送入缓冲区某一空单元中;P2每次用getodd()从该缓冲区中取出一个奇数并用countodd()统计奇数个数;P3每次用geteven()从该缓冲区中取出一个偶数并用counteven()统计偶数个数。请用信号量机制实现这三个进程的同步与互斥活动,并说明所定义的信号量的含义。要求用伪代码描述。???? * 定义信号量S1控制P1与P2之间的同步;S2控制P1与P3之间的同步;empty控制生产者与消费者之间的同步;mutex控制进程间互斥使用缓冲区。 Var?s1=0,s2=0,empty=N,mutex=1;?? Parbegin?? P1:begin?? ?X=produce();???? ?P(empty);???? ?P(mutex);???? ?Put();?? ?If?x%2==0?? ?? V(s2);???? ?else?? ? ?V(s1);???? ?V(mutex);???? ?end.?? P2:begin?? ?P(s1);????? ?P(mutex);?? ?Getodd();?? ?Countodd():=countodd()+1; V(mutex);???? ?V(e

文档评论(0)

1亿VIP精品文档

相关文档