vault backup: 2025-03-31 08:25:43

This commit is contained in:
Marco Realacci 2025-03-31 08:25:43 +02:00
parent f0c473b4ae
commit 1f7f6b76bf
3 changed files with 41 additions and 9 deletions

View file

@ -6,19 +6,39 @@
{
"id": "e20232f4bbe0efa1",
"type": "tabs",
"dimension": 43.69627507163324,
"children": [
{
"id": "464a79fc1e9b69c9",
"id": "aa7ed62f1bcd712a",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "Concurrent Systems/notes/3b - Aravind's algorithm and improvements.md",
"file": "Concurrent Systems/notes/9 - Universal Object.md",
"mode": "source",
"source": false
},
"icon": "lucide-file",
"title": "3b - Aravind's algorithm and improvements"
"title": "9 - Universal Object"
}
}
]
},
{
"id": "a1beaf9777f9958a",
"type": "tabs",
"dimension": 56.30372492836676,
"children": [
{
"id": "3aaacd443fbaa72c",
"type": "leaf",
"state": {
"type": "pdf",
"state": {
"file": "Concurrent Systems/slides/class 9.pdf"
},
"icon": "lucide-file-text",
"title": "class 9"
}
}
]
@ -78,7 +98,8 @@
}
],
"direction": "horizontal",
"width": 307.5
"width": 307.5,
"collapsed": true
},
"right": {
"id": "bc4b945ded1926e3",
@ -190,8 +211,12 @@
"companion:Toggle completion": false
}
},
"active": "464a79fc1e9b69c9",
"active": "aa7ed62f1bcd712a",
"lastOpenFiles": [
"Concurrent Systems/slides/class 9.pdf",
"Concurrent Systems/notes/9 - Universal Object.md",
"Concurrent Systems/notes/8 - Enhancing Liveness Properties.md",
"Concurrent Systems/notes/3b - Aravind's algorithm and improvements.md",
"Concurrent Systems/notes/4 - Semaphores.md",
"Concurrent Systems/notes/3a - Hardware primitives & Lamport Bakery algorithm.md",
"Concurrent Systems/notes/2b - Round Robin algorithm.md",
@ -202,8 +227,6 @@
"Concurrent Systems/notes/images/Pasted image 20250325090735.png",
"Concurrent Systems/notes/4b - Monitors.md",
"conflict-files-obsidian-git.md",
"Concurrent Systems/notes/8 - Enhancing Liveness Properties.md",
"Concurrent Systems/notes/3b - Aravind's algorithm and improvements.md",
"Concurrent Systems/notes/7- MUTEX-free concurrency.md",
"Concurrent Systems/notes/6a - Alternatives to Atomicity.md",
"Concurrent Systems/notes/6 - Atomicity.md",
@ -226,7 +249,6 @@
"Pasted image 20250318090909.png",
"Pasted image 20250318090733.png",
"HCIW/slides/4 HUI2016-6-forcefeedback.pdf",
"HCIW/slides/3b Haptic slides.pdf",
"HCIW/notes/2 - Interface and Interaction for IoT.md",
"HCIW/notes/3 - Beacons.md",
"Concurrent Systems/notes/1 - CS Basics2.md",
@ -236,7 +258,6 @@
"Foundation of data science/notes/7 Autoencoders.md",
"Foundation of data science/notes/6 PCA.md",
"Foundation of data science/notes/5 Neural Networks.md",
"Foundation of data science/notes/8 Variational Autoencoders.md",
"Senza nome.canvas"
]
}

View file

@ -0,0 +1,11 @@
Given objects of type T and an object of type Z, is it possible to wait-free implement Z by using only objects of type T and atomic R/W registers?
If yes, then Z is not as essential as T (T can do everything Z can do).
But what is the **type** of an object?
1. the set of all the possible *values for states* of objects of that type
2. a set of *operations* for manipulating the object, each provided with a *specification*: a description of the conditions under which the operation can be invoked and the effect of the invocation
We focus on types whose operations are:
- **Total:** all operations can be invoked in any state of the object
- **Sequentially specified:** given the initial state, the behavior depends only by the sequence of operations, where the output to every operation invocation only depends on the input arguments and the invocations preceding it.

Binary file not shown.