一般系統的組成由:核心,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) 支援程序間各種通訊機制。