轉載:Linux源文件的組織結構

http://www.dzsc.com/data/html/2008-12-31/75611.htmlhtml

爲了不之後連接出現404,特地複製全文以下:程序員

Linux是一套無償使用和自由傳播的操做系統,它主要用於基於Intel系列CPU的計算機上。這個系統是由全世界各地的成千上萬的程序員設計和實現的,其目的是創建不受任何商品化軟件的版權制約的、全世界都能自由使用的Unix兼容產品。編程

源文件的樹形目錄如圖所示。

下面詳細介紹內核源文件的結構,之內核2.4.x爲例。內核源程序的文件按樹形結構進行組織,Linux-2.4.x最上層會看到這樣一些目錄:網絡

(1)arch:arch子目錄包括了全部和體系結構相關的核心代碼。它的每個子目錄都表明一種被支持的體系結構,如ARMNOMMU/下就是關於ARM的內核代碼。
ide

Linux源文件的樹形

圖 Linux源文件的樹形目錄函數

(2)include:include子目錄包括編譯核心所須要的大部分頭文件。與平臺無關的頭文件在include/Linux子目錄下,與ARM CPU什麼是CPU?spa

CPU也稱爲中央處理器,是電子計算機的主要設備之一。其功能主要是解釋計算機指令以及處理計算機軟件中的數據。所謂的計算機的可編程性主要是指對CPU的編程。CPU是計算機中的核心配件,只有火柴盒那麼大,幾十張紙那麼厚,但它倒是一臺計算機的運算核心和控制核心。計算機中全部操做都由CPU負責讀取指令,對指令譯碼並執行指令的核心部件。CPU、內部存儲器和輸入/輸出設備是電子計算機的三大核心部件。 [全文]操作系統

相關的頭文件在include/asm-ammommu子目錄下。

(3)init:這個目錄包含核心的初始化代碼(注:不是嵌入式系統什麼是嵌入式系統?設計

嵌入式系統源於微型計算機,是嵌入到對象體系中,實現嵌入對象智能化的計算機。因爲微型計算機沒法知足絕大多數對象體系嵌入式要求的體積,價位與可靠性,因此嵌入式系統迅速走上了獨立發展的道路。首先是將計算機芯片化,集成爲單片微型計算機,其後爲知足對象體系的控制要求,單片機不斷從單片微型計算機向微控制與片上系統發展。htm

的引導代碼,而是kernel內核的啓動代碼),包含malns和versiONs兩個文件,這是研究初始化和內核如何工做的起點。

(4)mm:這個目錄包括全部獨立於CPU什麼是CPU?

CPU也稱爲中央處理器,是電子計算機的主要設備之一。其功能主要是解釋計算機指令以及處理計算機軟件中的數據。所謂的計算機的可編程性主要是指對CPU的編程。CPU是計算機中的核心配件,只有火柴盒那麼大,幾十張紙那麼厚,但它倒是一臺計算機的運算核心和控制核心。計算機中全部操做都由CPU負責讀取指令,對指令譯碼並執行指令的核心部件。CPU、內部存儲器和輸入/輸出設備是電子計算機的三大核心部件。

體系結構的內存什麼是內存?管理代碼,如頁式存儲管理內存什麼是內存?的分配和釋放等,而和體系結構相關的內存管理代碼則位於arch/$(ARCH)/mm/,例如arch/armnoΠunu/mmlfault.c。

(5)kernel:主要的核心代碼,此目錄下的文件實現了大多數Linux系統的內核函數,其中最重要的文件當屬sched.c,和體系結構相關的代碼在arch/$(ARCH)Acernel中。

(6)drivers:系統全部的設各驅動程序,每種驅動程序又各佔用一個子目錄,如block/目錄下爲塊設各驅動程序,好比IDE(ide.c)。若是但願查看全部可能包含文件系統的設備是如何初始化的,能夠查看drivers/block/genhd.c中的device setup()。它不只初始化硬盤什麼是硬盤?

電腦主要的存儲媒介之一,由一個或者多個鋁製或者玻璃制的碟片組成。

,也初始化網絡,由於安裝此文件系統時須要網絡。

(7)其餘如lib放置核心的庫代碼;net放置核心與網絡相關的代碼;lpc這個目錄包含核心的進程間通訊的代碼;fs爲全部的文件系統代碼和各類類型的文件操做代碼,它的每個子目錄支持一個文件系統,例如fat和ext2;scnpts目錄包含用於配置核心的腳本文件等。

相關文章
相關標籤/搜索