vault backup: 2025-04-05 00:07:51

This commit is contained in:
Marco Realacci 2025-04-05 00:07:51 +02:00
parent 47b74f3eec
commit 1c82ee3d9d
11 changed files with 30 additions and 30 deletions

View file

@ -64,7 +64,7 @@ this implementation satisfies the three requirements for the splitter
- let us consider the last process that writes into LAST (this is an atomic register, so this is meaningful)
- if the door is closed, it receives R and √
3. let $p_i$ be the first process that receives $S \to LAST=i$ in its second if
![](Concurrent%20Systems/notes/images/Pasted%20image%2020250324091452.png)
![](images/Pasted%20image%2020250324091452.png)
### An Obstruction-free Timestamp Generator
A **timestamp generator** is a concurrent object that provides a single operation get_ts such that:
@ -98,7 +98,7 @@ this implementation satisfies the three properties of the timestamp generator
- every process that starts after its termination will find NEXT to a greater value (NEXT never decreases!)
3. Obstruction freedom is trivial
**REMARK:** this implementation doesnt satisfy the non-blocking property:![](Concurrent%20Systems/notes/images/Pasted%20image%2020250324092633.png)
**REMARK:** this implementation doesnt satisfy the non-blocking property:![](images/Pasted%20image%2020250324092633.png)
### A Wait-free Stack
REG is an unbounded array of atomic registers (the stack)
@ -149,7 +149,7 @@ This is needed for the so called ABA problem with compare&set:
- with the compare&set you mainly test that the sequence_number has not changed
TOP : a register that can be read or compare&setted
![](Concurrent%20Systems/notes/images/Pasted%20image%2020250324100652.png)
![](images/Pasted%20image%2020250324100652.png)
```
push(w) :=