linux kernel construction overview
linux kernel 大致分爲上圖五大部分。
1、進程管理
負責進程的創建和銷燬,進程的調度。
2、內存管理
負責內存的分配和回收,記錄哪些內存被哪些進程使用,管理虛擬內存,將內存的物理地址和邏輯地址做一個映射,主要由MMU進行轉換,頁表的方式。
3、文件系統
這裏的文件系統不僅僅只是硬盤的抽象管理,它也可以是某些io口的抽象;文件系統屏蔽了底層的細節,爲上層提供統一的接口;linux中一切皆文件。
4、設備管理
設備管理功能主要由驅動程序提供,主要任務是控制設備完成輸入或輸出操作;linux把設備看作是特殊的文件,系統通過處理文件的接口(虛擬文件系統VFS)來管理和控制各種設備。
5、網絡功能
網絡功能值的是除了驅動程序提供的基本硬件操作外,還有系統提供的機制和功能,比如TCP協議,地址解析等。