轉自:http://blog.csdn.net/yming0221/article/details/6195456
Linux 核心主要由 5 個模組構成,它們分別是:進程調度模組、記憶體管理模組、檔案系統模組、進
程間通訊模組和網路介面模組。
進程調度模組用來負責控制進程對 CPU 資源的使用。
所採取的調度策略是各進程能夠公平合理地訪
問 CPU,同時保證核心能及時地執行硬體操作。記憶體管理模組用於確保所有進程能夠安全地共用機器主
記憶體區,同時,記憶體管理模組還支援虛擬記憶體管理方式,使得 Linux 支援進程使用比實際記憶體空間更多
的記憶體容量。並可以利用檔案系統把暫時不用的記憶體資料區塊會被交換到外部存放裝置上去,當需要時再
交換回來。檔案系統模組用於支援對外部裝置的驅動和儲存。虛擬檔案系統模組通過向所有的外部儲存
裝置提供一個通用的檔案介面,隱藏了各種硬體裝置的不同細節。從而提供並支援與其它作業系統相容
的多種檔案系統格式。處理序間通訊模組子系統用於支援多種進程間的資訊交換方式。網路介面模組提供
對多種網路通訊標準的訪問並支援許多網路硬體。
這幾個模組之間的依賴關係見圖 2-3 所示。其中的連線代表它們之間的依賴關係,虛線和虛框部分
表示 Linux 0.11 中還未實現的部分(從 Linux 0.95 版才開始逐步實現虛擬檔案系統,而網路介面的支援
到 0.96 版才有)。 由圖可以看出,所有的模組都與進程調度模組存在依賴關係。因為它們都需要依靠進程發送器來 掛起(暫停)或重新運行它們的進程。通常,一個模組會在等待硬體操作期間被掛起,而在操作完成後 才可繼續運行。例如,當一個進程試圖將一資料區塊寫到磁碟片上去時,磁碟片驅動程式就可能在啟動磁碟片旋 轉期間將該進程置為掛起等待狀態,而在磁碟片進入到正常轉速後再使得該進程能繼續運行。另外 3 個模 塊也是由於類似的原因而與進程調度模組存在依賴關係。 其它幾個依賴關係有些不太明顯,但同樣也很重要。進程調度子系統需要使用記憶體管理器來調整一 特定進程所使用的實體記憶體空間。處理序間通訊子系統則需要依靠記憶體管理器來支援共用記憶體通訊機制。 這種通訊機制允許兩個進程訪問記憶體的同一個地區以進行進程間資訊的交換。虛擬檔案系統也會使用網 絡介面來支援網路檔案系統(NFS) ,同樣也能使用記憶體管理子系統來提供記憶體虛擬盤(ramdisk)裝置。 而記憶體管理子系統也會使用檔案系統來支援記憶體資料區塊的交換操作。 若從單核心模式結構模型出發,我們還可以根據 Linux 0.11 核心原始碼的結構將核心主要模組繪製 成圖 2-4 所示的框圖結構。 其中核心級中的幾個方框,除了硬體控制方框以外,其它粗線方框分別對應核心原始碼的目錄組織 結構。 除了這些圖中已經給出的依賴關係以外,所有這些模組還會依賴於核心中的通用資源。這些資源套件 括核心所有子系統都會調用的記憶體配置和收回函數、列印警告或出錯資訊函數以及一些系統調試函數。
Linux-0.11檔案系統介紹