Linux kernel 文件夾說明


Linux 內核代碼的目錄結構

arch:  包含和硬件體系相關的的代碼,每種硬件平台占一個相應的目錄,如i386,arm, arm64, powerpc,mips等。
block: 塊設備驅動程序I/O調度。
crypto: 常用的加密和散列算法,還有一些壓縮和CRC校驗算法。
documentation:內核各部分的通用解釋和注釋。
drivers:設備驅動程序,各個不同的驅動占用一個子目錄。
fs: 所支持的各種文件系統。
include:頭文件,與系統相關的頭文件位置放在include/linux子目錄下。
init:內核初始化代碼,著名的start_kernel()就位於init/main.c文件中。
ipc: 進程間通信的代碼。
kernel:內核最核心的部分,包括進程調度,定時器等,和平台相關的一部分代碼放在arch/*/kernel 下。
lib: 庫文件代碼。
mm: 內存管理代碼,和平台相關的一部分代碼放在arch/*/mm目錄下。
net:網絡相關的代碼,實現各種常見的網絡協議。
scripts:用於配置內核的腳本文件。
security: 主要是一個SELLinux模塊。
sound: ALSA.OSS  音頻設備的驅動核心代碼和常用驅動設備。
usr: 實現用於打包和壓縮的cpio等。
include: 內核API級別頭文件。

內核一般要做到drivers和arch的軟件架構分離,驅動中不包含扳級信息,讓驅動跨平台,同時kernel中通用的部分(如kernel,fs,net,ipc等)則與具體的硬件(arch和drivers)剝離。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM