vault backup: 2025-03-25 16:17:22

This commit is contained in:
Marco Realacci 2025-03-25 16:17:22 +01:00
parent aeba278ee3
commit db1183a116

View file

@ -25,7 +25,7 @@ need_help(i) :=
NEED_HELP[i] <- true NEED_HELP[i] <- true
repeat repeat
X <- {j : NEED_HELP[j]} X <- {j : NEED_HELP[j]}
until ev_leader(X) = i # loopa finché ev_leader non uguale per tutti until ev_leader(X) = i # loopa finché non è lui stesso il leader (PER TUTTI)
stop_help(i) := stop_help(i) :=
NEED_HELP[i] <- false NEED_HELP[i] <- false
@ -43,7 +43,9 @@ Let Q be the set of proc.'s that performed these invocations.
**Observation:** $Q \subseteq X$ (it is possible that $p_j$ sets `NEED_HELP[j]` and then fails) **Observation:** $Q \subseteq X$ (it is possible that $p_j$ sets `NEED_HELP[j]` and then fails)
By definition of $\Omega_{X}, \exists \tau'' \geq t'$ s.t. all proc.'s in Q have the same `ev_leader(X)` By definition of $\Omega_{X}, \exists \tau'' \geq t'$ s.t. all proc.'s in Q have the same `ev_leader(X)`
- the leader belongs to Q, since it cannot be failed and is involved i - the leader belongs to Q, since
- it is involved in the contention
- it can't be failed (by definition of `ev_leader`)
- this is the only process allowed to proceed - this is the only process allowed to proceed
- because run in isolation, it eventually terminates (because of obstruction freedom) - because run in isolation, it eventually terminates (because of obstruction freedom)