您现在的位置:学赛首页 > 研究生院 > 软件学院 > 正文
操作系统第四章-进程同步与通信[5]
http://www.educity.cn 作者:研究生院 来源:学赛网 2008年4月22日 发表评论 进入社区

  ┆ ┆

  P(S); P(S);

  进程P1的临界区; 进程P2的临界区;

  V(S); V(S);

  ┆ ┆

  互斥信号量的取值范围

  若2个进程共享一个临界资源,信号量的取值范围是:

  利用信号量实现前驱关系

  例如:P1、P2、P3、P4、P5、P6为一组合作进程,其前驱图如下所示,试用P、V操作完成这六个进程的同步。

  解法1

  设七个同步信号量a、b、c、d、e、f、g分别表示进程之间的前驱关系,如图所示,其初值均为0。这六个进程的同步描述如下:

  解法1(1)

  P1()

  {

  ┆

  v(a);

  v(b);

  }

  解法1(2)

  P2()

  {

  p(a);

  ┆

  v(c);

  v(d);

  }

  解法1(3)

  P3()

  {

  p(b);

  ┆

  v(e);

  }

  解法1(4)

  P4()

  {

  p(c);

  ┆

  v(f);

  }

  解法1(5)

  P5()

[1]  [2]  [3]  [4]  [5]  [6]  [7]  [8]  [9]  [10]