分層架構
- Linux Kernel:管理硬體資源,以 C 函式形式提供系統呼叫 API(如
open、read、fork)。
- C Standard Library (glibc):封裝系統呼叫,提供更高階、可移植的函式(
malloc、printf、fopen)。部分函式純用戶態實作(如 strcpy、qsort),不陷入核心。
- 應用程式:呼叫標準庫或直接使用系統呼叫。
關鍵觀念
- 用戶態 vs 核心態:系統呼叫觸發軟中斷(
int 0x80 或 syscall 指令)切換至核心態執行。
- POSIX 標準:保證跨 Unix-like 系統的原始碼相容性。
- 工具鏈永續性:C/C++、Unix/Linux 歷經數十年仍為基礎設施核心,投資學習報酬率極高。
後續規劃
進程控制 → I/O 多工 → 訊號與執行緒 → 進程間通訊 (IPC) → 網路程式設計 → 效能調優與除錯工具。