vault backup: 2025-03-21 18:50:08
This commit is contained in:
parent
ce675887ed
commit
962eedf000
2 changed files with 20 additions and 3 deletions
20
.obsidian/workspace.json
vendored
20
.obsidian/workspace.json
vendored
|
@ -21,6 +21,22 @@
|
|||
"title": "4b - Monitors"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "cb0eda06ef87cab2",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "pdf",
|
||||
"state": {
|
||||
"file": "Concurrent Systems/slides/class 4.pdf",
|
||||
"page": 14,
|
||||
"left": -227,
|
||||
"top": 577,
|
||||
"zoom": 0.9
|
||||
},
|
||||
"icon": "lucide-file-text",
|
||||
"title": "class 4"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "16a4a3f7d00f9524",
|
||||
"type": "leaf",
|
||||
|
@ -225,8 +241,9 @@
|
|||
},
|
||||
"active": "51157f32453cba69",
|
||||
"lastOpenFiles": [
|
||||
"Concurrent Systems/notes/4 - Semaphores.md",
|
||||
"Concurrent Systems/slides/class 4.pdf",
|
||||
"Concurrent Systems/notes/4b - Monitors.md",
|
||||
"Concurrent Systems/notes/4 - Semaphores.md",
|
||||
"Concurrent Systems/notes/5 - Software Transactional Memory.md",
|
||||
"Concurrent Systems/notes/2b - Round Robin algorithm.md",
|
||||
"Concurrent Systems/notes/4c - Dining Philosophers.md",
|
||||
|
@ -247,7 +264,6 @@
|
|||
"Pasted image 20250318090733.png",
|
||||
"Concurrent Systems/slides/class 5.pdf",
|
||||
"Concurrent Systems/notes/images/Pasted image 20250317105355.png",
|
||||
"Concurrent Systems/slides/class 4.pdf",
|
||||
"Concurrent Systems/notes/images/Pasted image 20250317100456.png",
|
||||
"HCIW/slides/4 HUI2016-6-forcefeedback.pdf",
|
||||
"HCIW/slides/3b Haptic slides.pdf",
|
||||
|
|
|
@ -34,7 +34,8 @@ Of course, `signal()` will have no effect on the last process who calls it.
|
|||
- For every condition C, a semaphore SEMC init at 0 and an integer $N_{C}$ init at 0 (to store and count the number of suspended processes on the given condition)
|
||||
- A semaphore PRIO init at 0 and an integer $N_{PR}$ init at 0 (to store and count the number of processes that have performed a signal, and so have priority to re-enter the monitor)
|
||||
|
||||
Every monitor operation starts with `MUTEX.down()` and ends with `if NPR > 0 then PRIO.up() else MUTEX.up()`
|
||||
>[!note]Operations
|
||||
>Every monitor operation starts with `MUTEX.down()` and ends with `if NPR > 0 then PRIO.up() else MUTEX.up()`
|
||||
|
||||
```
|
||||
C.wait() :=
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue