diff --git a/.obsidian/workspace-mobile.json b/.obsidian/workspace-mobile.json new file mode 100644 index 0000000..b4f473f --- /dev/null +++ b/.obsidian/workspace-mobile.json @@ -0,0 +1,167 @@ +{ + "main": { + "id": "e07838d6ea54323c", + "type": "split", + "children": [ + { + "id": "a3e98ffcfd73caa6", + "type": "tabs", + "children": [ + { + "id": "496559fb3bcdd333", + "type": "leaf", + "state": { + "type": "markdown", + "state": { + "file": "Concurrent Systems/notes/5 - Software Transactional Memory.md", + "mode": "source", + "source": false + }, + "icon": "lucide-file", + "title": "5 - Software Transactional Memory" + } + } + ] + } + ], + "direction": "vertical" + }, + "left": { + "id": "8396ebe3c8ee8908", + "type": "mobile-drawer", + "children": [ + { + "id": "1af93c9f33149d84", + "type": "leaf", + "state": { + "type": "file-explorer", + "state": { + "sortOrder": "alphabetical", + "autoReveal": false + }, + "icon": "lucide-folder-closed", + "title": "Files" + } + }, + { + "id": "de92538896f1f048", + "type": "leaf", + "state": { + "type": "search", + "state": { + "query": "", + "matchingCase": false, + "explainSearch": false, + "collapseAll": false, + "extraContext": false, + "sortOrder": "alphabetical" + }, + "icon": "lucide-search", + "title": "Search" + } + }, + { + "id": "3dbc0295dc4a98e8", + "type": "leaf", + "state": { + "type": "tag", + "state": { + "sortOrder": "frequency", + "useHierarchy": true, + "showSearch": false, + "searchQuery": "" + }, + "icon": "lucide-tags", + "title": "Tags" + } + }, + { + "id": "cb9c625dae707aab", + "type": "leaf", + "state": { + "type": "bookmarks", + "state": {}, + "icon": "lucide-bookmark", + "title": "Bookmarks" + } + } + ], + "currentTab": 0 + }, + "right": { + "id": "de8a9e5ec695e7e6", + "type": "mobile-drawer", + "children": [ + { + "id": "0b5dc041cabcc580", + "type": "leaf", + "state": { + "type": "backlink", + "state": { + "collapseAll": false, + "extraContext": false, + "sortOrder": "alphabetical", + "showSearch": false, + "searchQuery": "", + "backlinkCollapsed": false, + "unlinkedCollapsed": true + }, + "icon": "links-coming-in", + "title": "Backlinks" + } + }, + { + "id": "bf2bc873db163f4c", + "type": "leaf", + "state": { + "type": "outgoing-link", + "state": { + "linksCollapsed": false, + "unlinkedCollapsed": true + }, + "icon": "links-going-out", + "title": "Outgoing links" + } + }, + { + "id": "cd927721a7be8394", + "type": "leaf", + "state": { + "type": "outline", + "state": { + "followCursor": false, + "showSearch": false, + "searchQuery": "" + }, + "icon": "lucide-list", + "title": "Outline" + } + }, + { + "id": "e108a8eae4cda88f", + "type": "leaf", + "state": { + "type": "git-view", + "state": {}, + "icon": "git-pull-request", + "title": "Source Control" + } + } + ], + "currentTab": 3 + }, + "left-ribbon": { + "hiddenItems": { + "switcher:Open quick switcher": false, + "graph:Open graph view": false, + "canvas:Create new canvas": false, + "daily-notes:Open today's daily note": false, + "templates:Insert template": false, + "command-palette:Open command palette": false, + "obsidian-git:Open Git source control": false, + "companion:Toggle completion": false + } + }, + "active": "496559fb3bcdd333", + "lastOpenFiles": [] +} \ No newline at end of file diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index 83d30c8..1c84c4b 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -197,8 +197,7 @@ } ], "direction": "horizontal", - "width": 364.5, - "collapsed": true + "width": 364.5 }, "left-ribbon": { "hiddenItems": { @@ -216,9 +215,10 @@ }, "active": "383fb8ddbc7a9dc8", "lastOpenFiles": [ + "conflict-files-obsidian-git.md", + "Concurrent Systems/notes/2b - Round Robin algorithm.md", "Concurrent Systems/notes/2 - Fast mutex by Lamport.md", "Concurrent Systems/notes/8 - Enhancing Liveness Properties.md", - "Concurrent Systems/notes/2b - Round Robin algorithm.md", "Concurrent Systems/notes/3b - Aravind's algorithm and improvements.md", "Concurrent Systems/notes/3a - Hardware primitives & Lamport Bakery algorithm.md", "Concurrent Systems/notes/7- MUTEX-free concurrency.md", @@ -244,7 +244,6 @@ "Concurrent Systems/notes/4 - Semaphores.md", "Concurrent Systems/slides/class 2.pdf", "Concurrent Systems/notes/Untitled.pdf", - "conflict-files-obsidian-git.md", "Concurrent Systems/notes/images/Pasted image 20250318090909.png", "Concurrent Systems/notes/images/Pasted image 20250318090733.png", "Pasted image 20250318090909.png", diff --git a/Concurrent Systems/notes/4c - Dining Philosophers.md b/Concurrent Systems/notes/4c - Dining Philosophers.md index 9e11dae..c443b46 100644 --- a/Concurrent Systems/notes/4c - Dining Philosophers.md +++ b/Concurrent Systems/notes/4c - Dining Philosophers.md @@ -20,7 +20,7 @@ Philosopher(i) := chopstick[(i+1)%N].up() chopstick[i].up() ``` -No two neighbors can eat simultaneously, but we can have a deadlock if all philosophers grab their right chopstick simultaneously. +No two neighbours can eat simultaneously, but we can have a deadlock if all philosophers grab their right chopstick simultaneously. #### Solution 1 Give a number to all forks and always try with the smaller.