vault backup: 2025-03-10 23:13:12

This commit is contained in:
Marco Realacci 2025-03-10 23:13:12 +01:00
parent b5aab42150
commit 89becae151

View file

@ -95,9 +95,15 @@ lock(i) :=
- all other $p_i, i \in P$ (with P being the set of all processes) will have `DATE[i] < n`, as their value for DATE is decreased - all other $p_i, i \in P$ (with P being the set of all processes) will have `DATE[i] < n`, as their value for DATE is decreased
- suppose every process invoke lock, then $p_n$ has to wait all other processes to complete their CSs - suppose every process invoke lock, then $p_n$ has to wait all other processes to complete their CSs
- *scenario 1*: every other $p_i$ keep invoking lock again immediately after the unlock - *scenario 1*: every other $p_i$ keep invoking lock again immediately after the unlock
- `DATE[i]` will always be $> DATE[n]$ - every time some process exits the CS, `DATE[n]` is decreased
- after $n-1$ turns, `DATE[n]` will have `DATE[n] = 1`, with every other `DATE[i] > 1, i!=n` -> ️✅ - after $n-1$ turns, `DATE[n]` will have `DATE[n] = 1`, with every other `DATE[i] > 1, i!=n` -> ️✅
- *scenario 2*: not every process invokes the lock - *scenario 2*: not every process invokes the lock
- eventually,
**Lemma 1:** Suppose we have $n$ processes, then $\not \exists p_{j} : DATE[j]=DATE[i] \forall i \in [0, n]$ (non esistono due processi con lo stesso valore per DATE) **Lemma 1:** Suppose we have $n$ processes, then $\not \exists p_{j} : DATE[j]=DATE[i] \forall i \in [0, n]$ (non esistono due processi con lo stesso valore per DATE)
*Proof:* *Proof:*