歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux服務器 >> 於Linux 內核中五個主要子系統的介紹

於Linux 內核中五個主要子系統的介紹

日期:2017/3/2 16:55:32   编辑:Linux服務器
1.進程調度(SCHED):控制進程對CPU的訪問。當需要選擇下一個進程運行時,由調度程序選擇最值得運行的進程。可運行進程實際上是僅等待CPU資源的進程,如果某個進程在等待其它資源,則該進程是不可運行進程。Linux使用了比較簡單的基於優先級的進程調度算法選擇新的進程。
 
  2.內存管理(MM)允許多個進程安全的共享主內存區域。Linux的內存管理支持虛擬內存,即在計算機中運行的程序,其代碼,數據,堆棧的總量可以超過實際內存的大小,操作系統只是把當前使用的程序塊保留在內存中,其余的程序塊則保留在磁盤中。必要時,操作系統負責在磁盤和內存間交換程序塊。內存管理從邏輯上分為硬件無關部分和硬件有關部分。硬件無關部分提供了進程的映射和邏輯內存的對換;硬件相關的部分為內存管理硬件提供了虛擬接口。
 
  3.虛擬文件系統(VirtualFileSystem,VFS)隱藏了各種硬件的具體細節,為所有的設備提供了統一的接口,VFS提供了多達數十種不同的文件系統。虛擬文件系統可以分為邏輯文件系統和設備驅動程序。邏輯文件系統指Linux所支持的文件系統,如ext2,fat等,設備驅動程序指為每一種硬件控制器所編寫的設備驅動程序模塊。
 
  4.網絡接口(NET)提供了對各種網絡標准的存取和各種網絡硬件的支持。網絡接口可分為網絡協議和網絡驅動程序。網絡協議部分負責實現每一種可能的網絡傳輸協議。網絡設備驅動程序負責與硬件設備通訊,每一種可能的硬件設備都有相應的設備驅動程序。
 
  5.進程間通訊(IPC) 支持進程間各種通信機制。處於中心位置的進程調度,所有其它的子系統都依賴它,因為每個子系統都需要掛起或恢復進程。一般情況下,當一個進程等待硬件操作完成時,它被掛起;當操作真正完成時,進程被恢復執行。例如,當一個進程通過網絡發送一條消息時,網絡接口需要掛起發送進程,直到硬件成功地完成消息的發送,當消息被成功的發送出去以後,網絡接口給進程返回一個代碼,表示操作的成功或失敗。其他子系統以相似的理由依賴於進程調度

Copyright © Linux教程網 All Rights Reserved