From 6da967969445f331f199ac5c32677f6bb917bd1a Mon Sep 17 00:00:00 2001 From: Marco Realacci Date: Tue, 18 Mar 2025 08:54:12 +0100 Subject: [PATCH] vault backup: 2025-03-18 08:54:12 --- .obsidian/workspace.json | 40 ++++++++--------------- Concurrent Systems/notes/6 - Atomicity.md | 5 +++ 2 files changed, 18 insertions(+), 27 deletions(-) create mode 100644 Concurrent Systems/notes/6 - Atomicity.md diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index 251b9bb..2723d4f 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -6,19 +6,20 @@ { "id": "4c1f5b7a6abb1339", "type": "tabs", + "dimension": 44.412607449856736, "children": [ { - "id": "6edd4157a160e462", + "id": "51157f32453cba69", "type": "leaf", "state": { "type": "markdown", "state": { - "file": "Concurrent Systems/notes/5 - Software Transactional Memory.md", + "file": "Concurrent Systems/notes/6 - Atomicity.md", "mode": "source", "source": false }, "icon": "lucide-file", - "title": "5 - Software Transactional Memory" + "title": "6 - Atomicity" } } ] @@ -26,34 +27,19 @@ { "id": "e12a3c14771a10e5", "type": "tabs", + "dimension": 55.587392550143264, "children": [ { - "id": "e8fbc9b0750d5e3b", - "type": "leaf", - "state": { - "type": "pdf", - "state": { - "file": "Concurrent Systems/slides/class 5.pdf", - "page": 6, - "left": -27, - "top": 162, - "zoom": 0.5754156769596199 - }, - "icon": "lucide-file-text", - "title": "class 5" - } - }, - { - "id": "51157f32453cba69", + "id": "f04931d588bd12d2", "type": "leaf", "state": { "type": "pdf", "state": { "file": "Concurrent Systems/slides/class 6.pdf", "page": 1, - "left": -34, - "top": 598, - "zoom": 0.4382422802850357 + "left": -24, + "top": 51, + "zoom": 0.6448931116389548 }, "icon": "lucide-file-text", "title": "class 6" @@ -232,11 +218,12 @@ "companion:Toggle completion": false } }, - "active": "e8fbc9b0750d5e3b", + "active": "51157f32453cba69", "lastOpenFiles": [ - "Concurrent Systems/notes/5 - Software Transactional Memory.md", - "Concurrent Systems/slides/class 5.pdf", "Concurrent Systems/slides/class 6.pdf", + "Concurrent Systems/notes/6 - Atomicity.md", + "Concurrent Systems/slides/class 5.pdf", + "Concurrent Systems/notes/5 - Software Transactional Memory.md", "Concurrent Systems/notes/4c - Dining Philosophers.md", "Concurrent Systems/notes/4 - Semaphores.md", "Concurrent Systems/notes/4b - Monitors.md", @@ -278,7 +265,6 @@ "Foundation of data science/notes/3.1 Multi Class Logistic Regression.md", "Foundation of data science/notes/4 L1 and L2 normalization - Lasso and Ridge.md", "Foundation of data science/notes/3.2 LLM generated from notes.md", - "Foundation of data science/notes/2 Linear Regression.md", "Senza nome.canvas" ] } \ No newline at end of file diff --git a/Concurrent Systems/notes/6 - Atomicity.md b/Concurrent Systems/notes/6 - Atomicity.md new file mode 100644 index 0000000..e34d29c --- /dev/null +++ b/Concurrent Systems/notes/6 - Atomicity.md @@ -0,0 +1,5 @@ +We have a set of n sequential processes $p_{1},...,p_n$ , that access $m$ concurrent objects $X_1,...,X_m$ by invoking operations on the form `Xi.op(args)(ret)`. + +When invoked by $p_j$, the invocation `Xi.op(args)(ret)` is modeled by two events: `inv[Xi.op(args) by pj]` and `res[Xi.op(ret) to pj]`. + +A **history** (or **trace**) is a pair $\hat{H}=(H, <_{H})$ where H is a set of events and $<_{H}$ is a total order on them. \ No newline at end of file