diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index bec7fe3..b39b803 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -53,7 +53,7 @@ "file": "Concurrent Systems/slides/class 7.pdf", "page": 5, "left": -23, - "top": 593, + "top": 149, "zoom": 0.680522565320665 }, "icon": "lucide-file-text", @@ -237,6 +237,7 @@ "lastOpenFiles": [ "Concurrent Systems/slides/class 7.pdf", "Concurrent Systems/notes/7- MUTEX-free concurrency.md", + "Pasted image 20250324091452.png", "Concurrent Systems/notes/Pasted image 20250324082534.png", "Concurrent Systems/notes/6a - Alternatives to Atomicity.md", "Concurrent Systems/slides/class 6.pdf", @@ -270,7 +271,6 @@ "HCIW/notes/2 - Interface and Interaction for IoT.md", "HCIW/notes/3 - Beacons.md", "Concurrent Systems/notes/images/Pasted image 20250312121828.png", - "Concurrent Systems/notes/images/Pasted image 20250310172134.png", "Concurrent Systems/notes/1 - CS Basics2.md", "HCIW/notes/1 - UX for IoT.md", "HCIW/exercises/Exercise.md", diff --git a/Concurrent Systems/notes/7- MUTEX-free concurrency.md b/Concurrent Systems/notes/7- MUTEX-free concurrency.md index 8749839..3eafc60 100644 --- a/Concurrent Systems/notes/7- MUTEX-free concurrency.md +++ b/Concurrent Systems/notes/7- MUTEX-free concurrency.md @@ -63,4 +63,11 @@ this implementation satisfies the three requirements for the splitter 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 \ No newline at end of file +3. let $p_i$ be the first process that receives $S \to LAST=i$ in its second if + ![[Pasted image 20250324091452.png]] + +### An Obstruction-free Timestamp Generator +A **timestamp generator** is a concurrent object that provides a single operation get_ts such that: +1. (*validity*) not two invocations of get_ts return the same value +2. (*consistency*) if one process terminates its invocation of get_ts before another one starts, the first receives a timestamp that is smaller than the one received by the second one +3. (*obstruction freedom*) if run in isolation diff --git a/Pasted image 20250324091452.png b/Pasted image 20250324091452.png new file mode 100644 index 0000000..eb8ef84 Binary files /dev/null and b/Pasted image 20250324091452.png differ