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