乙個完整的linux核心一般由5部分組成,它們分別是記憶體管理、程序管理、程序間通訊、虛擬檔案系統和網路介面。
1、記憶體管理記憶體管理主要完成的是如何合理有效地管理整個系統的物理記憶體,同時快速響應核心各個子系統對記憶體分配的請求。linux記憶體管理支援虛擬記憶體,而多餘出的這部分記憶體就是通過磁碟申請得到的,平時系統只把當前執行的程式塊保留在記憶體中,其他程式塊則保留在磁碟中。在記憶體緊缺時,記憶體管理負責在磁碟和記憶體間交換程式塊。
2、程序管理程序管理主要控制系統程序對cpu的訪問。當需要某個程序執行時,由程序排程器根據基於優先順序的排程演算法啟動新的程序。:linux支援多工執行,那麼如何在乙個單cpu上支援多工呢?這個工作就是由程序排程管理來實現的。在系統執行時,每個程序都會分得一定的時間片,然後程序排程器根據時間片的不同,選擇每個程序依次執行,例如當某個程序的時間片用完後,排程器會選擇乙個新的程序繼續執行。由於切換的時間和頻率都非常的快,由此使用者感覺是多個程式在同時執行,而實際上,cpu在同一時間內只有乙個程序在執行,這一切都是程序排程管理的結果。
3、程序間通訊程序間通訊主要用於控制不同程序之間在使用者空間的同步、資料共享和交換。由於不用的使用者程序擁有不同的程序空間,因此程序間的通訊要借助於核心的中轉來實現。一般情況下,當乙個程序等待硬體操作完成時,會被掛起。當硬體操作完成,程序被恢復執行,而協調這個過程的就是程序間的通訊機制。
4、虛擬檔案系統linux核心中的虛擬檔案系統用乙個通用的檔案模型表示了各種不同的檔案系統,這個檔案模型遮蔽了很多具體檔案系統的差異,使linux核心支援很多不同的檔案系統,這個檔案系統可以分為邏輯檔案系統和裝置驅動程式:邏輯檔案系統指linux所支援的檔案系統,例如ext2、ext3和fat等;裝置驅動程式指為每一種硬體控制器所編寫的裝置驅動程式模組。
5、網路介面網路介面提供了對各種網路標準的實現和各種網路硬體的支援。網路介面一般分為網路協議和網路驅動程式。網路協議部分負責實現每一種可能的網路傳輸協議。網路裝置驅動程式則主要負責與硬體裝置進行通訊,每一種可能的網路硬體裝置都有相應的裝置驅動程式。
Linux核心的組成部分
linux核心主要有 5個子系統組成 程序排程 sched 記憶體管理 mm 虛擬檔案系統 vfs 網路介面 net 和程序間通訊 ipc 1 程序排程 程序在程序排程子系統中微觀序列,巨集觀並行。其餘 4 個子系統都依賴於程序排程系統,因為每個子系統也需要掛起或恢復程序,當它們需要做這些工作時,都...
Linux核心組成部分(二)
裝置驅動程式 塊裝置和字元裝置 裝置驅動程式用於與系統連線的輸入 輸出裝置通訊,如硬碟 軟碟機 各種介面 音效卡等。按照經典的unix箴言 萬物皆檔案 everything is a file 對外設的訪問可利用 dev目錄下的裝置檔案來完成,程式對裝置的處理完全類似於常規的檔案 網路 網絡卡也可以...
Linux系統的組成部分
核心是系統的核心,是執行程式和管理諸如磁碟和印表機等硬體裝置的核心程式。作業系統是乙個用來和硬體打交道並為使用者程式提供有限服務集的低階支撐軟體。乙個計算機系統是乙個硬體和軟體的共生體,它們相互依賴 不可分割。外圍裝置 處理器 記憶體 硬碟和其他的電子塞河北組成了計算機的發動機,但是如果沒有軟體來操...