Linux 核心原始碼預設位於 /usr/src/linux,採用模組化目錄結構,每個子目錄代表一個功能模組,目錄間連線表示「子模組」關係。核心主要目錄如下:
| 目錄 | 功能描述 |
|---|---|
include/ | 核心編譯所需大部分頭文件,提供跨模組介面定義 |
init/ | 核心初始化代碼,系統啟動入口 |
arch/ | 硬體架構相關代碼(如 arch/i386/、arch/alpha/ 等) |
drivers/ | 所有設備驅動程式(區塊設備、SCSI、網卡等) |
fs/ | 檔案系統實作(ext2、vfat、NTFS 等) |
net/ | 網路協定棧與協定實作 |
mm/ | 記憶體管理子系統 |
ipc/ | 行程間通訊機制 |
kernel/ | 核心核心代碼(排程器、訊號、系統呼叫等) |
include/ 目錄被所有模組引用,drivers/、fs/、arch/、net/ 等模組直接編入核心映像,形成 整體式核心。系統呼叫可直接進入核心層,無微核心訊息傳遞開銷,效能較高;但修改核心需遵循嚴格編碼規範,否則易引入錯誤。
目錄結構反映 Linux 社群協作模式:Linus Torvalds 維護核心服務(init/、kernel/、mm/、ipc/),其他模組由不同開發者群組負責(如區塊檔案系統組、SCSI 子系統組等),共同推動核心演進。