linux核心主要由五個子系統組成:程序排程,記憶體管理,虛擬檔案系統,網路介面,程序間通訊。
1.程序排程(sched):控制程序對cpu的訪問。當需要選擇下乙個程序執行時,由排程程式選擇最值得執行的程序。可執行程序實際上是僅等待cpu資源的程序,如果某個程序在等待其它資源,則該程序是不可執行程序。linux使用了比較簡單的基於優先順序的程序排程演算法選擇新的程序。
2.記憶體管理(mm)允許多個程序安全的共享主記憶體區域。linux 的記憶體管理支援虛擬記憶體,即在計算機中執行的程式,其**,資料,堆疊的總量可以超過實際記憶體的大小,作業系統只是把當前使用的程式塊保留在記憶體中,其餘的程式塊則保留在磁碟中。必要時,作業系統負責在磁碟和記憶體間交換程式塊。記憶體管理從邏輯上分為硬體無關部分和硬體有關部分。硬體無關部分提供了程序的對映和邏輯記憶體的對換;硬體相關的部分為記憶體管理硬體提供了虛擬介面。
3.虛擬檔案系統(virtual file system,vfs)隱藏了各種硬體的具體細節,為所有的裝置提供了統一的介面,vfs提供了多達數十種不同的檔案系統。虛擬檔案系統可以分為邏輯檔案系統和裝置驅動程式。邏輯檔案系統指linux所支援的檔案系統,如ext2,fat等,裝置驅動程式指為每一種硬體控制器所編寫的裝置驅動程式模組。
5.程序間通訊(ipc) 支援程序間各種通訊機制。
Linux核心結構
linux核心主要由五個子系統組成 程序排程,記憶體管理,虛擬檔案系統,網路介面,程序間通訊。1.程序排程 sched 控制程序對cpu的訪問。當需要選擇下乙個程序執行時,由排程程式選擇最值得執行的程序。可執行程序實際上是僅等待cpu資源的程序,如果某個程序在等待其它資源,則該程序是不可執行程序。l...
linux核心結構
1.程序排程 sched 控制程序對cpu的訪問。當需要選擇下乙個程序執行時,由排程程式選擇最值得執行的程序。可執行程序實際上是僅等待cpu資源的程序,如果某個程序在等待其它資源,則該程序是不可執行程序。linux使用了比較簡單的基於優先順序的程序排程演算法選擇新的程序。2.記憶體管理 mm 允許多...
linux核心結構
分別是 程序排程 sched 程序間通訊 ipc 虛擬檔案系統 vfs 記憶體管理 mm 網路通訊 net 程序排程與記憶體管理之間的關係 這兩個子系統互相依賴。在多道程式環境下,必須為程式建立程序,而建立程序的第一件事情就是將程式和資料裝入記憶體。程序間通訊與記憶體管理的關係 程序間通訊子系統要依...