先决条件 – 进程同步
优先级图是一种有向无环图,用于显示操作系统中多个进程的执行级别。它由节点和边组成。节点代表进程,边代表执行流程。
优先图的属性:
以下是优先图的属性:
- 它是一个有向图。
- 它是一个无环图。
- 图的节点对应于程序代码的各个语句。
- 两个节点之间的边代表执行顺序。
- 从节点 A 到节点 B 的有向边表明语句 A 先执行,然后语句 B 执行。
考虑他下面的代码:
S1 : a = x + y;
S2 : b = z + 1;
S3 : c = a - b;
S4 : w = c + 1;
如果以上代码并发执行,则存在以下优先关系:
- c = a – b 在 a 和 b 都被赋值之前不能执行。
- 在计算出 c 的新值之前,无法执行 w = c + 1。
- 语句 a = x + y 和 b = z + 1 可以同时执行。
例子:
考虑以下程序的优先关系:
- S2 和 S3 可以在 S1 完成后执行。
- S4 可以在 S2 完成后执行。
- S5 和 S6 可以在 S4 完成后执行。
- 在 S5、S6 和 S3 完成后可以执行 S7。
解决方案: