上传者: 43934844
|
上传时间: 2022-06-22 18:04:28
|
文件大小: 293KB
|
文件类型: DOC
一、用P、V操作描述前趋关系。P1、P2、P3、P4、P5、P6为一组合作进程,其前趋图如 图2.3所示,试用P、V操作描述这6个进程的同步。p23 图2.3说明任务启动后P1先执行,当它结束后P2、P3可以开始执行,P2完成后P4、P5可 以开始执行,仅当P3、P4、P5都执行完后,P6才能开始执行。为了确保这一执行顺序, 设置5个同步信号量n、摄、f3、f4、g分别表示进程P1、P2、P3、P4、P5是否执行完成, 其初值均为0。这6个进程的同步描述如下: 图2.3 描述进程执行先后次序的前趋图 int f1=0; /*表示进程P1是否执行完成*/ int f2=0; /*表示进程P2是否执行完成*/ int f3=0; /*表示进程P3是否执行完成*/ int f4=0; /*表示进程P4是否执行完成*/ int f5=0; /*表示进程P5是否执行完成*/ main() { cobegin P1( ); P2( ); P3( ); P4( ); P5( ); P6( ); coend } P1 ( ) { v(f1); v(f1): } P2 ( ) { p(f1); v(f2