各組件的主要功能介紹如下:
1.進程管理
負責創建,結束進程,管理內核的活動,如軟件中斷、tasklet等,管理進程通信,如消息(message)、管道(pipe)等,實現進程調度(schedule)。進程調度是進程管理的重要任務,它處理所有活動的、等待被執行的和被阻塞(blocking)的進程調度,使所有應用和進程合理的共享處理器的運行時間。
2.內存管理
內存是系統最主要的資源之一,計算機的性能在很大程度上與其所配備的內存有關。linux內核內存管理的主要功能就是給進程分配地址空間,該地址指允許本進程自己訪問。
3.文件系統
在linux操作系統中,文件系統是整個系統的中樞。linux與其他操作系統不同,幾乎所有的操作都基於文件系統接口的處理,如設備驅動程序可以按文件方式訪問設備,通過/proc文件系統可以訪問linux內核的數據和參數,這兩個功能在調試時非常有效。
4.設備驅動程序
在所有的操作系統中,設備驅動程序都是硬件的抽象,同故宮它可以訪問硬件。linux可以用模塊的方式實現設備驅動成,提供了在系統運行時動態加載和卸載設備驅動程序的途徑。
5.網絡子系統
在linux中所有的網絡操作是由操作系統管理的。這事因為網絡操作不能分配給某個進程完成。在處理受到的網絡數據包時,數據包得接受是異步的。接受數據包任務必須是在進程處理這些數據包前先收集齊所有的網絡包、標識數據,然后向上層傳遞,這就是為什么由內核的網絡子系統負責處理數據包,而不是由某個進程和網絡接口來處理。
在內核中還定義了大量的接口,目的是為了更方便的拓展內核功能,如虛擬文件系統接口(Virtual filesystem Interface),課用於增加新的文件系統,現在linux中能支持十多種不同的文件系統;課件linux的開發人員定義這種接口所帶來的優勢。在linux的網絡體系結構中也定義了很多接口,用以支持動態增加網絡協議和網絡設備驅動程序。
