仅使用 FASAS 实现最优可恢复互斥
1. 基础概念
1.1 FASAS 操作
FASAS(X, Y, v) 是一种操作,前两个操作的语义广为人知,第三个操作的语义在相关介绍中已有说明。
1.2 系统配置
系统的配置由所有共享变量的值和所有进程的状态指定。进程 p 的状态由其程序计数器 PCp 的值和本地变量的值决定。当进程执行步骤时,配置会发生变化。进程可以执行两种类型的步骤:正常步骤和崩溃步骤。
- 正常步骤 :进程 p 从配置 C 执行正常步骤时,会执行 PCp 在 C 中指向的指令,包括一些有界的本地计算。
- 崩溃步骤 :进程 p 执行崩溃步骤时,会将 PCp 设置到剩余部分,将 p 的所有本地变量设置为任意值,并使 p 的缓存内容无效。
1.3 调度与执行
- 调度 :调度是任何有限或无限的步骤序列。
- 执行 :对应于调度 σ = s1, s2, … 的执行是 C0, s1, C1, s2, C2, …,其中 C0 是算法指定的初始配置,C1 是步骤 s1 后的配置,C2 是步骤 s1 和 s2 后的配置,依此类推。
1.4 尝试相关定义
- 尝试发起 :如果进程 p 在配置 C 中处于剩余部分,并且 s 是 p 在执行 E 中的第一步,或者 s 之前 p 在 E 中的最新步骤是正常步骤,则