Linux內核
| 英文名 | Linux kernel[1] |
|---|---|
| 開發者 | 林納斯·托瓦茲(Linus Torvalds)及全球社區貢獻者[1][2] |
| 首次發布 | 0.02版 / 1991年10月5日[1][3] |
| 當前版本 | 穩定版:7.1.1(2026年6月19日)[4] 長期支持版(LTS):6.18.21(2026年4月2日)[4] |
| 程式語言 | C語言、彙編語言、Rust[4][5] |
| 內核類別 | 整塊性核心(Monolithic kernel)[6][7] |
| 許可證 | GNU通用公共許可證第二版(GPL-2.0-only)[8][9] |
| 官方網站 | www.kernel.org |
Linux內核(英語:Linux kernel)是一個自由及開放原始碼的類Unix作業系統內核[1][2]。該內核由芬蘭開發者林納斯·托瓦茲(Linus Torvalds)於1991年創建,最初是為在英特爾x86架構上提供自由免費的類Unix作業系統而開發[6][10]。Linux內核是Linux作業系統家族的核心組件,被廣泛應用於個人計算機、伺服器、行動裝置(如Android)及各類嵌入式系統[1][2]。內核採用C語言編寫,遵循GNU通用公共許可證第二版(GPL-2.0)發布[8][9],由全球數千名開發者共同維護[2]。Linux內核是一個整塊性核心(monolithic kernel)系統,其核心功能包括內存管理、進程調度、文件系統操作及設備驅動等[6][7]。
1991年,林納斯·托瓦茲在赫爾辛基大學學習期間開始開發一個自由的類Unix作業系統內核[1][2]。該項目的靈感來源於Minix作業系統,但托瓦茲希望創建一個可以在英特爾80386處理器上充分利用其32位特性的內核[6][7]。1991年9月17日,托瓦茲在comp.os.minix新聞組上發布了Linux內核的0.01版本[6][7]。同年10月5日,0.02版本公開發布,這是第一個可用的版本[1][3]。1991年12月,0.11版本發布,成為第一個可以自行編譯(self-hosted)的內核版本[3]。
1992年2月,0.12版本發布,托瓦茲在此版本中將許可證切換為GNU通用公共許可證(GPL)[3][11]。這一決定使得Linux內核能夠與GNU計劃的工具鏈結合,形成完整的GNU/Linux作業系統[1]。1994年3月14日,Linux 1.0.0版本正式發布,標誌著內核的第一個穩定版本[6][7]。1996年6月9日,Linux 2.0版本發布,引入了對多處理器(SMP)架構的支持[6][3]。
2003年12月,Linux 2.6版本發布,帶來了對64位計算、本機POSIX線程庫(NPTL)等多項重大改進[3]。2011年,Linux 3.0版本發布,恰逢內核誕生20周年[3]。此後內核採用更快的發布周期,約每2至3個月發布一個新版本[3]。2015年,Linux 4.0版本發布,引入了內核熱補丁(live patching)功能[3]。2019年,Linux 5.0版本發布[3]。2026年4月14日,Linux 7.0內核正式發布,版本號由6.19變更為7.0,主要因托瓦茲認為6.19版本號過長[10]。Linux 7.0正式結束了Rust語言的「試驗期」,確立了其在內核中的長期支持地位[10]。
Linux內核採用整塊性核心(monolithic kernel)架構,即整個作業系統內核運行在單一的地址空間中[6][7]。所有內核模塊(如設備驅動程序、文件系統、網絡協議棧等)共享同一內存空間,模塊之間通過直接調用函數進行通信[7]。這種設計簡化了內核內部的交互,提高了運行效率[7]。
儘管是整塊性核心,Linux內核支持動態加載和卸載內核模塊(Loadable Kernel Modules,LKM)[1][2]。設備驅動程序可以以模塊化的形式設置,並在系統運行期間直接裝載或卸載,無需重新編譯整個內核或重啟系統[6][7]。
Linux內核支持多種指令集架構,包括x86、ARM、RISC-V、PowerPC、SPARC等[5][10]。內核通過架構抽象層(Arch abstraction layer)抹去不同硬體架構之間的差異,提供統一的接口[9]。
Linux內核由多個子系統組成,主要包括[6][9][7]:
- 系統調用接口(System Call Interface,SCI):提供從用戶空間到內核空間的函數調用機制,是應用程式與內核交互的入口[9]。
- 進程管理(Process Management):負責進程的創建、調度、終止以及進程間通信(IPC)。進程調度器(Process Scheduler)管理CPU資源,確保各進程以公平的方式訪問CPU[9][5]。
- 內存管理(Memory Management):管理系統的物理內存和虛擬內存,提供內存分配、回收、分頁及交換等功能[6][9]。
- 虛擬文件系統(Virtual File System,VFS):為不同的文件系統(如ext4、XFS、Btrfs等)提供統一的抽象接口[9][6]。
- 網絡堆棧(Network Stack):實現各種網絡協議(如TCP/IP),管理網絡設備的通信[6][9]。
- 設備驅動程序(Device Drivers):控制和管理硬體設備,是內核與硬體交互的橋梁[6][7]。
Linux內核使用語義化版本號,格式為A.B.C[3][7]。主版本號A在內核發生重大變化時遞增(歷史上僅發生過數次)[7]。次版本號B為偶數時代表穩定版本(stable),適合生產環境使用;為奇數時代表開發版本(development),包含實驗性功能[3][7]。補丁版本號C用於修復bug和安全問題[7]。
內核同時維護多個版本的發布渠道[4]:
- 主線版本(Mainline):由托瓦茲維護,每2至3個月發布一個新版本[4]。
- 穩定版本(Stable):在主線版本發布後,繼續修復關鍵bug和安全問題[4]。
- 長期支持版本(Long-Term Support,LTS):為特定版本提供長達數年的維護支持,適用於需要長期穩定的生產環境[4][8]。
Linux內核根據GNU通用公共許可證第二版(GPL-2.0-only)的條款發布[8][9]。內核原始碼在COPYING文件中明確指定了許可證條款,並包含Linux系統調用例外(Linux-syscall-note),允許用戶空間程序通過系統調用接口與內核交互而不受GPL的「傳染性」約束[8][9]。單個源文件可以擁有不同的許可證,但必須與GPL-2.0兼容[9]。
Linux內核是全球使用最廣泛的作業系統內核之一[1]。基於Linux內核的作業系統(即Linux發行版)被部署在個人計算機、伺服器、超級計算機、行動裝置(Android)及各類嵌入式設備(如路由器、智能電視、網絡附加存儲等)中[1][2]。Android作為基於Linux內核的作業系統,運行在全球數十億行動裝置上[1]。
Linux內核的開發由Linux基金會協調,全球數千名開發者參與貢獻[10]。內核的開發模式對開源軟體運動產生了深遠影響,被視為大規模分布式協作開發的典範[1]。
- ↑ 1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.10 1.11 1.12 Linux kernel — Wikipedia
- ↑ 2.0 2.1 2.2 2.3 2.4 2.5 2.6 Linux內核 — 百度百科
- ↑ 3.00 3.01 3.02 3.03 3.04 3.05 3.06 3.07 3.08 3.09 3.10 3.11 Linux內核 — 維基百科(繁體中文)
- ↑ 4.0 4.1 4.2 4.3 4.4 4.5 4.6 Linux內核 — 維基百科(繁體中文)
- ↑ 5.0 5.1 5.2 Linux內核 — 百度百科(移動版)
- ↑ 6.00 6.01 6.02 6.03 6.04 6.05 6.06 6.07 6.08 6.09 6.10 6.11 6.12 6.13 Linux Kernel — 百度百科
- ↑ 7.00 7.01 7.02 7.03 7.04 7.05 7.06 7.07 7.08 7.09 7.10 7.11 7.12 7.13 7.14 單內核 — 百度百科
- ↑ 8.0 8.1 8.2 8.3 8.4 Linux內核官方網站 — kernel.org
- ↑ 9.00 9.01 9.02 9.03 9.04 9.05 9.06 9.07 9.08 9.09 9.10 9.11 Linux內核許可規則 — kernel.org
- ↑ 10.0 10.1 10.2 10.3 10.4 Linux內核 — 百度百科
- ↑ GNU許可證 — GNU工程