1. 程式人生 > >Linux核心原始碼樹目錄

Linux核心原始碼樹目錄

arch:包含和硬體體系結構相關的程式碼,每種平臺佔一個相應的目錄。和32位PC相關的程式碼存放在i386目錄下,其中比較重要的包括kernel(核心核心部分)、mm(記憶體管理)、math-emu(浮點單元模擬)、lib(硬體相關工具函式)、boot(載入程式)、pci(PCI匯流排)和power(CPU相關狀態)。
block:部分塊裝置驅動程式。
crypto:常用加密和雜湊演算法(如AES、SHA等),還有一些壓縮和CRC校驗演算法。
Documentation:關於核心各部分的通用解釋和註釋。
drivers:裝置驅動程式,每個不同的驅動佔用一個子目錄。
fs:各種支援的檔案系統,如ext、fat、ntfs等。
include:標頭檔案。其中,和系統相關的標頭檔案被放置在linux子目錄下。
init:核心初始化程式碼(注意不是系統引導程式碼)。
ipc:程序間通訊的程式碼。
kernel:核心的最核心部分,包括程序排程、定時器等,和平臺相關的一部分程式碼放在arch/*/kernel目錄下。
lib:庫檔案程式碼。
mm:記憶體管理程式碼,和平臺相關的一部分程式碼放在arch/*/mm目錄下。
net:網路相關程式碼,實現了各種常見的網路協議。
scripts:用於配置核心檔案的指令碼檔案。
security:主要是一個SELinux的模組。
sound:常用音訊裝置的驅動程式等。
usr:實現了一個cpio。
在i386體系下,系統引導將從arch/i386/kernel/head.s開始執行,並進而轉移到init/main.c中的main()函式初始化核心。