1. 程式人生 > >Linux 核心系統結構及主要組成部分

Linux 核心系統結構及主要組成部分

一、Linux核心系統體系結構

   Linux核心主要有5個子系統組成:程序排程、記憶體管理、虛擬檔案系統、網路介面和程序間通訊。

1. 程序排程(SCHED)。控制程序對CPU的訪問。當需要選擇下一個程序執行時,由排程程式選擇最值得執行的程序。可執行程序實際上是指那些僅等待CPU資源的程序,如果某個程序在等待其他資源,則該程序是不可執行程序。Linux使用了比較簡單的基於優先順序的程序排程演算法選擇新的程序。
2. 記憶體管理 (MM)。允許多個程序共享主記憶體區域。Linux的記憶體管理支援虛擬記憶體,即在計算機中執行的程式,其程式碼、資料、堆疊的總量可以超過實際記憶體的大小,作業系統只是把當前使用的程式塊保留在記憶體中,其餘的程式塊則保留在磁碟中。必要時,作業系統只是把當前使用的程式塊保留在記憶體中,其餘的程式塊則保留在磁碟中。必要時,作業系統負責在磁碟和記憶體間交換程式塊。
3. 虛擬檔案系統 (Virtual File System, VFS)。隱藏了各種硬體的具體細節,為所有的裝置提供了同意的介面,VFS提供了多達數十種不同的檔案系統。虛擬檔案可以分為邏輯檔案系統和裝置驅動程式。邏輯檔案系統指的是 Linux所支援的檔案系統,如EXT2,FAT等,裝置驅動程式指為每一種硬體控制器所編寫的裝置驅動程式模組。
4. 網路介面 (NET)。提供了對各種網路標準的存取和各種網路硬體的支援。網路介面可分為網路協議和網路驅動程式。網路協議負責實現每一種可能的網路傳輸協議。網路裝置驅動程式負責與硬體裝置通訊,每一種可能的硬體裝置都有相應的裝置驅動程式。
5. 程序間通訊 (IPC)。支援程序間各種通訊機制。