vault backup: 2025-03-24 09:14:23

This commit is contained in:
Marco Realacci 2025-03-24 09:14:23 +01:00
parent 952b65725b
commit 6aaec7e4e6
2 changed files with 15 additions and 4 deletions

View file

@ -51,9 +51,9 @@
"type": "pdf", "type": "pdf",
"state": { "state": {
"file": "Concurrent Systems/slides/class 7.pdf", "file": "Concurrent Systems/slides/class 7.pdf",
"page": 1, "page": 5,
"left": -23, "left": -23,
"top": 56, "top": 593,
"zoom": 0.680522565320665 "zoom": 0.680522565320665
}, },
"icon": "lucide-file-text", "icon": "lucide-file-text",

View file

@ -41,7 +41,7 @@ We have:
dir(i) := dir(i) :=
LAST <- i LAST <- i
if DOOR = 0 then if DOOR = 0 then
retunr R return R
else else
DOOR <- 0 DOOR <- 0
if LAST = i then if LAST = i then
@ -52,4 +52,15 @@ dir(i) :=
With 2 processes, we can have: With 2 processes, we can have:
- one goes left and one goes right - one goes left and one goes right
- one goes left and the other stops - one goes left and the other stops
- one goes right and the other stops - one goes right and the other stops
#### Soundness theorem
this implementation satisfies the three requirements for the splitter
*Proof:*
1. Not all processes can obtain R
- the door must have been closed and who closed the door cannot obtain R
2. not all processes can obtain L
- 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