核心地位:作業系統的心臟與大腦
Linux 核心負責虛擬記憶體、多任務排程、共享程式庫、按需載入、寫時複製 (COW)、TCP/IP 協議棧等核心功能。1991 年 Linus Torvalds 釋出 0.12 版起採用 GPL 授權,雖生態系龐大,核心控制權仍掌握在 Linus 手中。各發行商 (Red Hat、Debian、Ubuntu 等) 基於主線核心定製發布。
2.6.x 系列演進時間軸與關鍵突破
2003-12: 2.6.0 — 奠基之作
- 支援多處理器 (SMP)、64 位元架構。
- 原生 NPTL (Native POSIX Thread Library),1:1 線程模型,高效線程處理。
- 效能、安全性、驅動程式全面改進。
2004-12: 2.6.10 "Woozy Numbat" — 首年 10 版釋出
較 2.4 系列首年 17 版較少,但品質更穩。引入四位數版本號 (2.6.8.1 起) 表示小修補/安全性更新。
2005-02: 2.6.11 — InfiniBand 支援
支援高效能運算叢集常用的 InfiniBand 架構。
2005-06: 2.6.12 — Git 取代 BitKeeper
BitKeeper 授權爭議爆發,Linus 兩週內開發 Git 版本控制系統,2.6.12 成為首個用 Git 管理的核心版本,徹底改變開源協作模式。
2005-08: 2.6.13 — 程式碼品質躍升與新機制
- Coverity 掃描:程式碼從 576 萬行增至 603 萬行,缺陷密度下降 2.2%。
- Kexec:無需 Bootloader 直接載入新核心,實現快速重啟 (kdump 基礎)。
- Inotify:取代 dnotify,高效檔案系統事件通知 API。
2006-01: 2.6.15 — IPv6 大幅增強、PowerPC 通用樹
- IPv6 協議棧成熟度大幅提升。
- PowerPC 32/64 位元合併通用樹,簡化編譯維護。
2006-03: 2.6.16 — Cell 處理器、OCFS2、Coverity 修補潮
- 支援 Sony/IBM/Toshiba Cell 處理器 (PS3 核心)。
- Oracle OCFS2 叢集檔案系統 進入主線。
- 大量 Coverity 靜態分析發現的缺陷修補補丁合併。
2.6.17 (即將釋出) — Sun Niagara (T1) 支援、Splice I/O、斷線重連改進
- 支援 Sun UltraSPARC T1 (8 核心 x 4 執行緒 = 32 執行緒)。
- Splice/tee:零複製 I/O 新機制,用戶空間操作核心緩衝區,
splice 移動資料、tee 複製緩衡區資料,大幅提升網路/檔案傳輸效能。
- 用戶空間影響連線事件信號,DHCP 客戶端可感知斷線並重新取得 IP。
- IPtables 新增 H.323 VoIP 協議支援。
- 改進舊技術支援 (DECnet 等)。
兩大外部挑戰
法律:SCO 訴訟與程式碼溯源機制
SCO 聲稱 Linux 侵犯 Unix 智財。2004-05 Linux 社區建立程式碼提交溯源機制 (SCM、簽署提交),降低未來智財風險,強化企業採用信心。
安全:頻繁的四位數安全更新
幾乎每個三位數版本釋出後短期內即推出 .1/.2 修補潛在漏洞 (如 2.6.16.1 一週後釋出、2.6.15 兩週內修補三漏洞)。反映核心複雜度與安全審查機制的常態化。
核心開發模式的範式轉移
| 面向 | 2.4 時代 | 2.6 時代 |
| 版本控制 | BitKeeper (專有) | Git (分散式開源) |
| 釋出節奏 | 較長週期 | 固定 2-3 個月一版 |
| 穩定分支 | 較不明確 | 長期支援 (LTS) 分支機制建立 |
| 開發流程 | 郵件列表為主 | Git + 郵件列表 + KernelCI 自動化測試 |
對嵌入式與企業級應用的影響
- 嵌入式:無 MMU 支援、ALSA/V4L2、USB/藍牙、可裁剪子系統,Linux 2.6 成為嵌入式首選 (Android 基於 2.6 衍生)。
- 企業級:SMP 擴展性、NUMA、OCFS2、Kexec/kdump、高效網路堆疊,支撐關鍵任務伺服器。
- 虛擬化:KVM (核心模組) 於 2.6.20 合併,奠定 Linux 虛擬化霸主地位基礎。
結語
Linux 2.6 系列見證了核心從「駭客專案」蛻變為「產業基礎設施」的關鍵十年。Git 誕生、NPTL 成熟、零複製 I/O、虛擬化萌芽、嵌入式全面支援,每項創新皆深刻影響今日計算格局。理解這段演進史,有助於把握核心設計哲學,更從容應對現代雲原生、邊緣運算、AI 基礎設施的挑戰。