內(nèi)核源碼預(yù)覽
目錄結(jié)構(gòu)與說明:
- Documentation一些文檔缤底,主要用來描述模塊功能和協(xié)議規(guī)范神馬的
- arch不同平臺體系結(jié)構(gòu)的相關(guān)代碼:每種體系結(jié)構(gòu)對應(yīng)一個(gè)子目錄,子目錄中主要包含了
- kernel,lib,mm目錄分別對應(yīng)了信號量處理實(shí)現(xiàn)、通用函數(shù)庫實(shí)現(xiàn)、內(nèi)存管理功能實(shí)現(xiàn)朵逝。
- blockBlock子系統(tǒng)代碼,2.6.15的內(nèi)核開始乡范,從drivers和fs目錄中抽取獨(dú)立出來配名。
- crypto內(nèi)核常用加密啤咽、散列和壓縮算法代碼。
- drivers各類驅(qū)動程序的實(shí)現(xiàn)渠脉,如USB總線宇整、藍(lán)牙、PCI總線芋膘、顯卡驅(qū)動等等鳞青。
- firmware
- fs虛擬文件系統(tǒng)(VFS)代碼,內(nèi)核中支持的所有原生文件系統(tǒng)各自為一個(gè)子目錄为朋,如ext3臂拓、ntfs、fat等习寸。
- include內(nèi)核源碼依賴的絕大部分頭文件胶惰。
- init內(nèi)核初始化代碼,聯(lián)系內(nèi)核各組件的入口霞溪。
- ipc進(jìn)程間通信實(shí)現(xiàn)孵滞,如共享內(nèi)存、信號量鸯匹、匿名管道等坊饶。
- kernel內(nèi)核核心代碼,包含進(jìn)程管理殴蓬、IRQ幼东、時(shí)間等。
- libC標(biāo)準(zhǔn)庫的子集科雳,方便內(nèi)核代碼使用根蟹。
- mm內(nèi)存管理相關(guān)實(shí)現(xiàn)。
- net網(wǎng)絡(luò)協(xié)議代碼糟秘,如TCP简逮、IPv6、WiFi尿赚、以太網(wǎng)實(shí)現(xiàn)等散庶。
- samples內(nèi)核實(shí)例代碼,里面有尚未納入內(nèi)核代碼的新功能凌净,供內(nèi)核開發(fā)新手參考入門使用悲龟。
- scripts編譯和配置內(nèi)核所需腳本”埃基于Perl和Bash的腳本居多须教。
- security內(nèi)核安全模型相關(guān)的代碼,例如最有名的SELINUX。
- sound聲卡驅(qū)動源碼轻腺。
- tools與內(nèi)核交互乐疆,以便在用戶態(tài)時(shí)測試相關(guān)內(nèi)核功能。
- usr用戶打包和壓縮內(nèi)核的實(shí)現(xiàn)源碼贬养。
- virt/kvm虛擬化相關(guān)支持實(shí)現(xiàn)挤土。
- Kbuild配置內(nèi)核設(shè)定,如選擇指定體系架構(gòu)類型误算。
- Kconfig配置內(nèi)核時(shí)腳本仰美,里面包含了可選項(xiàng)和菜單功能。