iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
IT Operation

解構作業系統:30 天從 Process、Concurrency 到 Virtual Memory 系列

本系列將以作業系統為核心,從程式執行的角度逐步拆解 Process、Thread、System Call、Context Switch、Concurrency、Synchronization、Deadlock、CPU Scheduling、Virtual Memory、Paging、File System 等重要機制。
除了整理基本概念,也會進一步探討各項機制背後的設計原因、實際運作流程與彼此之間的關聯,並透過案例、圖解及簡單實驗輔助理解。
希望藉由 30 天的連續整理,建立對作業系統更完整且深入的系統性理解。

參賽天數 8 天 | 共 8 篇文章 | 0 人訂閱 訂閱系列文 RSS系列文
DAY 1

Day 1|程式為什麼不能想做什麼就做什麼?從 User Mode 與 Kernel Mode 開始解構作業系統

關於我,為什麼想寫這個系列 嗨!我是目前讀數位相關科系的大三學生。而作業系統就是其中一門讓我覺得「好像懂了,但仔細想又沒有真的懂」的課。以前在寫程式的時候,我比...

2026-09-15 ‧ 由 lynn1119 分享
DAY 2

Day 2|System Call:一個 read() 是怎麼進入 Kernel 的?

上一篇提到,一般程式通常在 User Mode 下執行,不能隨意存取硬體或執行具有高權限的操作。 但問題也跟著來了: 既然 User Mode 權限受到限制,程...

2026-09-16 ‧ 由 lynn1119 分享
DAY 3

Day 3|Interrupt、Exception、Trap 到底差在哪?

上一篇談到 System Call:當 User Program 需要 Kernel 提供服務時,可以透過受控制的方式切換 Kernel Mode。今天要看的問...

2026-09-17 ‧ 由 lynn1119 分享
DAY 4

Day 4|Process 其實不只是「正在執行的程式」

前三天我們一直提到一個詞:Process。 例如 CPU 正在執行 Process A、System Call 由某個 Process 發出,甚至 Interr...

2026-09-18 ‧ 由 lynn1119 分享
DAY 5

Day 5|Context Switch:CPU 怎麼從 Process A 切換到 Process B?

上一篇提到,一個 Process 不只有程式碼。 當它正在 CPU 上執行時,還有一組很重要的 CPU Execution State,例如: Program...

2026-09-19 ‧ 由 lynn1119 分享
DAY 6

Day 6|fork() 到底複製了什麼?

上一篇談到 Context Switch 時,我們知道 OS 可以在不同 Process 之間切換。那這些 Process 到底是怎麼被建立出來的? 在 Uni...

2026-09-20 ‧ 由 lynn1119 分享
DAY 7

Day 7|Thread 到底共享什麼、不共享什麼?

前幾天我們花了很多時間理解 Process。一個 Process 有自己的 Virtual Address Space、系統資源與執行環境,而 CPU 又可以透...

2026-09-21 ‧ 由 lynn1119 分享
DAY 8

Day 8|Race Condition:為什麼 counter++ 都能出 Bug?

上一篇談 Thread 時,我們最後留下了一個問題,假設同一個 Process 裡有兩條 Thread,而且它們共享:int counter = 0;現在兩條...

2026-09-22 ‧ 由 lynn1119 分享