本系列將以作業系統為核心,從程式執行的角度逐步拆解 Process、Thread、System Call、Context Switch、Concurrency、Synchronization、Deadlock、CPU Scheduling、Virtual Memory、Paging、File System 等重要機制。
除了整理基本概念,也會進一步探討各項機制背後的設計原因、實際運作流程與彼此之間的關聯,並透過案例、圖解及簡單實驗輔助理解。
希望藉由 30 天的連續整理,建立對作業系統更完整且深入的系統性理解。
但現在換一個問題。假設系統裡不是只有「一份」資源,而是:Database Connection PoolConnection 1Connection 2Conn...
前兩天我們已經認識了兩種 Synchronization Mechanism:Mutex / Semaphore但是還有另一種 Lock,它的想法完全不同:Th...
這幾天的核心想法幾乎都是:多個 Thread 會碰到 Shared State,那就建立 Synchronization Rule,避免大家毫無限制地同時操作。...
前面我們花了很多天處理 Concurrency:Race Condition↓Atomicity↓Mutex↓Semaphore↓Spinlock↓Deadlo...
上一篇 CPU Scheduling 提到,Scheduler 不一定把所有 Thread 完全平等看待。系統會存在:PriorityHigh Priority...
如果把每個 Process 看到的 Memory 全部加起來,甚至可能遠超過實際 RAM。Process A 可能使用:0x400000Process B 也可...
Virtual Page 0 → Physical Frame 18Virtual Page 1 → Physical Frame 52Virtual Page...
現代 Page Table 可能是: Virtual Address↓L4↓L3↓L2↓L1↓Physical Frame CPU 執行:x = a + b ;...
先看一個很普通的程式: int *p = malloc(4096); p[0] = 100; 從 Programmer 的角度:malloc()↓拿到 Mem...