Linux系統體系機構

Linux基本體系結構

1、用戶空間(也叫應用程序)

用戶空間是用戶操作應用程序執行的地方,簡明說就是解析用戶的操作。所以這裏主要提供兩種服務,①從用戶空間應用程序轉換到內核空間的機制(通過C庫的函數(C語言的函數)連接系統調用接口),②連接內核的系統調用接口。實際上用戶空間也可以算做每個用戶空間裏進程的虛擬空間,相對的內核則是實際的地址空間。

2、內核空間

內核是系統的核心,主要負責管理系統的進程、內存、設備驅動程序、文件、網絡系統。決定着系統的性能和穩定性。

主要組成部分有:內存管理、進程管理、設備驅動管理、文件系統、網絡管理等。

2.1系統調用接口(SCI)

用戶空間和內核空間中間層,提供一些從用戶空間到內核的函數。

2.2文件管理

Linux使用“虛擬內存”的內存管理方式,將內存劃分爲易處理的“內存頁”(一般都是4kb)。當內存頁滿了或者完全沒有使用,系統會調整對應的內存使用。爲防止內存被消耗光,一些內存會被移除內存放入磁盤中,此過程稱爲交換。

2.3進程管理

進程是某個應用程序的運行實體。Linux支持多進程,通過短時間內輪流運行這些進程實現“多任務”,這個時間間隔稱爲“時間片”,讓進程輪流運行的方法叫做“進程調度”,完成調度的程序稱爲“調度程序”。每個進程都有單獨的地址空間,且只能由這一進程訪問。進程間通過通訊機制互相訪問,常見的進程通訊機制有信號、管道、共享內存、信號量、套接字等。內核通過“系統調用接口(SCI)”爲一個應用程序創建編程接口(API)的形式來創建一個新的進程。

2.4文件系統

Linux系統將文件系統組合成一個層次化的樹形結構,由一個單獨的實體代表這一文件系統。Linux安裝文件系統稱爲“掛載”。Linux支持不同類型的文件系統。

2.5設備驅動程序

設備驅動程序可提供一組操作系統可理解的抽象接口,用來完成操作系統之間的交互,與硬件相關的操作則是由設備驅動程序來完成。一般設備驅動程序和設備的控制芯片有關。簡單說就是控制操作系統與硬件的交互。

2.6網絡接口程序

網絡接口程序提供了各種網絡標準的存取和各種網絡硬件的支持。網絡接口分爲網絡協議和網絡驅動程序。網絡協議負責實現網絡傳輸協議,Linux支持全部的TCP/IP協議,因爲Linux內核的網絡部分由BSD套接字、網絡協議層和網絡設備驅動程序組成;網絡設備驅動程序負責與硬件設備通訊,每一種硬件設備都有對應的設備驅動程序。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章