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

This commit is contained in:
Marco Realacci 2025-03-17 09:24:23 +01:00
parent 61629042e1
commit ff8c0d0409
2 changed files with 41 additions and 11 deletions

View file

@ -10,17 +10,37 @@
{
"id": "6edd4157a160e462",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "Concurrent Systems/notes/4b -.md",
"mode": "source",
"source": false
},
"icon": "lucide-file",
"title": "4b -"
}
}
]
},
{
"id": "647a2273c79e129b",
"type": "tabs",
"children": [
{
"id": "071b6cd23e4b1e9d",
"type": "leaf",
"state": {
"type": "pdf",
"state": {
"file": "Concurrent Systems/slides/class 5.pdf",
"page": 1,
"left": -16,
"top": 599,
"zoom": 0.9236935866983375
"file": "Concurrent Systems/slides/class 4.pdf",
"page": 11,
"left": -27,
"top": 7,
"zoom": 0.5754156769596199
},
"icon": "lucide-file-text",
"title": "class 5"
"title": "class 4"
}
}
]
@ -80,7 +100,8 @@
}
],
"direction": "horizontal",
"width": 307.5
"width": 307.5,
"collapsed": true
},
"right": {
"id": "bc4b945ded1926e3",
@ -197,8 +218,10 @@
},
"active": "6edd4157a160e462",
"lastOpenFiles": [
"HCIW/slides/4 HUI2016-6-forcefeedback.pdf",
"Concurrent Systems/slides/class 4.pdf",
"Concurrent Systems/notes/4b -.md",
"Concurrent Systems/slides/class 5.pdf",
"HCIW/slides/4 HUI2016-6-forcefeedback.pdf",
"HCIW/slides/3b Haptic slides.pdf",
"HCIW/slides/3Haptic interaction.pdf",
"HCIW/slides/2 Beacon based interfaces.pdf",
@ -208,7 +231,6 @@
"HCIW/notes/3 - Beacons.md",
"Concurrent Systems/notes/4 - Semaphores.md",
"Concurrent Systems/notes/images/Pasted image 20250312121828.png",
"Concurrent Systems/slides/class 4.pdf",
"Concurrent Systems/notes/3a - Hardware primitives & Lamport Bakery algorithm.md",
"Concurrent Systems/notes/3b - Aravind's algorithm and improvements.md",
"Concurrent Systems/notes/images/Pasted image 20250310172134.png",
@ -223,7 +245,6 @@
"HCIW/notes/1 - UX for IoT.md",
"HCIW/exercises/Exercise.md",
"HCIW/exercises",
"HCIW/notes",
"Concurrent Systems/notes/images/Pasted image 20250304082459.png",
"Concurrent Systems/notes/images/Pasted image 20250304093223.png",
"Concurrent Systems/notes/images/Pasted image 20250304090219.png",
@ -242,7 +263,6 @@
"Foundation of data science/notes/2 Linear Regression.md",
"Biometric Systems/notes/6. Face recognition 2D.md",
"Biometric Systems/notes/7. Face recognition 3D.md",
"Biometric Systems/frequently asked questions/BS_questions.txt.md",
"Senza nome.canvas"
]
}

View file

@ -0,0 +1,10 @@
### Monitors
Semaphores are hard to use in practice because quite low level Monitors provide an easier definition of concurrent objects at the level of Prog. Lang.
It guarantees mutual exclusion.
Inter-process synchronization is done through *conditions*, which are objects that provide the following operations:
- ***wait*:** the invoking process suspends, enters into the condition's queue, and releases the mutex on the monitor
- ***signal*:** if no process is in the condition's queue, the nothing happens. Otherwise
- it reactivates the first suspended process, suspends the signaling process that however has a priority to re-enter the monitor (*Hoare semantics*)
-