From 900d972834de251a832dec99a8796171f697c166 Mon Sep 17 00:00:00 2001 From: Marco Realacci Date: Mon, 24 Mar 2025 09:19:23 +0100 Subject: [PATCH] vault backup: 2025-03-24 09:19:23 --- .obsidian/workspace.json | 4 ++-- .../notes/7- MUTEX-free concurrency.md | 9 ++++++++- Pasted image 20250324091452.png | Bin 0 -> 52080 bytes 3 files changed, 10 insertions(+), 3 deletions(-) create mode 100644 Pasted image 20250324091452.png 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 0000000000000000000000000000000000000000..eb8ef8484c57a520ccf4778a9dfa7952bb80cd06 GIT binary patch literal 52080 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 literal 0 HcmV?d00001