對於源**的閱讀,要想比較順利,事先最好對源**的知識背景有一定的了解。對於linux核心源**來講,我認為,基本要求是:1、作業系統的基本知識;2、對c語言比較熟悉,最好要有組合語言的知識和gnu c對標準c的擴充套件的知識的了解。另外在閱讀之前,還應該知道linux核心源**的整體分布情況。我們知道現代的作業系統一般由程序管理、記憶體管理、檔案系統、驅動程式、網路等組成。看一下linux核心源**就可看出,各個目錄大致對應了這些方面。linux核心源**的組成如下(假設相對於linux目錄):
arch 這個子目錄包含了此核心源**所支援的硬體體系結構相關的核心**。如對於x86平台就是i386。
include 這個目錄包括了核心的大多數include檔案。另外對於每種支援的體系結構分別有乙個子目錄。
init 此目錄包含核心啟動**。
mm 此目錄包含了所有的記憶體管理**。與具體硬體體系結構相關的記憶體管理**位於arch/*/mm目錄下,如對應於x86的就是arch/i386/mm/fault.c 。
drivers 系統中所有的裝置驅動都位於此目錄中。它又進一步劃分成幾類裝置驅動,每一種也有對應的子目錄,如音效卡的驅動對應於drivers/sound。
ipc 此目錄包含了核心的程序間通訊**。
modules 此目錄包含已建好可動態載入的模組。
fs linux支援的檔案系統**。不同的檔案系統有不同的子目錄對應,如ext2檔案系統對應的就是ext2子目錄。
kernel 主要核心**。同時與處理器結構相關**都放在arch/*/kernel目錄下。
net 核心的網路部分**。裡面的每個子目錄對應於網路的乙個方面。
lib 此目錄包含了核心的庫**。與處理器結構相關庫**被放在arch/*/lib/目錄下。
scripts此目錄包含用於配置核心的指令碼檔案。
documentation 此目錄是一些文件,起參考作用。
Linux核心原始碼目錄
linux核心原始碼目錄 1 arch architecture的縮寫,意思是架構,九鼎在做移植的時候就刪掉了。其他的目錄都跟你沒有任何的關係,所以你完全可以把他們刪除。2 block 英文是塊的意思,表示是塊裝置。以塊 多個位元組組成的整體,以塊為單位來整體訪問 比如說我們的sd卡,inand n...
Linux核心原始碼樹目錄
arch 包含和硬體體系結構相關的 每種平台佔乙個相應的目錄。和32位pc相關的 存放在i386目錄下,其中比較重要的包括kernel 核心核心部分 mm 記憶體管理 math emu 浮點單元 lib 硬體相關工具函式 boot 引導程式 pci pci匯流排 和power cpu相關狀態 blo...
Linux核心原始碼目錄結構
在對linux核心學習的同時,我們首先應該對linux核心原始碼的目錄有一定的了解,下面是核心原始碼目錄的大概結構說明,根據核心版本的不同略有差異,不過不影響學習。以2.6.28.6核心原始碼為例 arch目錄包括了所有和體系結構相關的核心 它下面的每乙個子目錄都代表一種linux支援的體系結構,例...