第十一章 补充习题解答.pptVIP

  • 85
  • 0
  • 约4.09千字
  • 约 32页
  • 2017-06-18 发布于湖北
  • 举报
第1题 一个二元信号量是一个其值只能取0、1的信号量,给出一个用二元信号量实现一般信号量p、v操作的程序。 第1题1 一个二元信号量的值只能是0或1,二元信号量的定义: p(s):if(s==1)s=0; else 将进程放入等待队列 v(s):if(队列为空)s=1; else 将等待队列队首进程移出并放入就绪队列 第1题2 本题使用两个二元信号量及一个变量: m用来互斥访问变量c,初值为1。 b用来代替信号量S,初值为0。将应挂在信号量S上的进程挂在b上。 c中存放信号量S的值 用二元信号量实现一般信号量S的描述如下: 第1题3 P(S) { P(m); c=c-1; if(c0){ V(m); P(b):} else V(m); } 第1题4 V(S) { P(m); c=c+1; if(c=0) V(b): V(m); } 第2题 下面是一个对临界区问题的解,请验证其正确性,如果它不正确请说明理由。两个进程p0、p1共享下面的变量: boolean flag[2](初值为假)turn:0..1; 下面的程序是对pi的(i=0或1,j=1或0) flag[i]=true;

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档