![]() |
|
Linux內核主要功能介紹 |
|
Linux內核是Linux操作系統的核心,也是整個Linux功能體現的核心,它是用C語言編寫的,符合Posix準。Linux早是由芬蘭黑客Linus Torvalds為嘗試在英特爾X86架構上提供自由免費的類UNIX操作系統而開發的。該計劃開始于1991年,這里有一份Linus Torvalds當時在Usenet新聞組comp.os.minix所登載的帖子,這份著名的帖子標志著Linux計劃的正式開始。在計劃的早期有一些Minix黑客提供了協助,而今天全球無數程序員正在為該計劃無償提供幫助。 現今Linux是一個一體化內核(Monolithic Kernel)系統,設備驅動程序可以完全訪問硬件。Linux內的設備驅動程序可以方便地以模塊化(Modularize)的形式設置,并在系統運行期間可直接裝載或卸載。 Linux內核主要功能包括進程管理、內存管理、文件管理、設備管理、網絡管理等。 1、進程管理:進程是在計算機系統中資源分配的小單元。內核負責創建和銷毀進程,而且由調度程序采取合適的調度策略,實現進程間的合理且實時的處理器資源的共享。從而內核的進程管理活動實現了多個進程在一個或多個處理器上的抽象。內核還負責實現不同進程間、進程和其他部件之間的通信。 2、內存管理:內存是計算機系統中主要的資源。內核使得多個進程安全而合理地共享內存資源,為每個進程在有限的物理資源上建立一個虛擬地址空間。內存管理部分代碼可分為硬件無關部分和硬件有關部分:硬件無關部分實現進程和內存之間的地址映射等功能;硬件有關部分實現不同體系結構上的內存管理相關功能并為內存管理提供與硬件無關的虛擬接口。 3、文件管理:在Linux系統中的任何一個概念幾乎都可以看做一個文件。內核在非結構化的硬件上建立了一個結構化的虛擬文件系統,隱藏了各種硬件的具體細節,從而在整個系統的幾乎所有機制中使用文件的抽象。Linux在不同物理介質或虛擬結構上支持數十種文件系統。例如,Linux支持磁盤的標準文件系統ext3和虛擬的特殊文件系統。 4、設備管理:Linux系統中幾乎每個系統操作終都映射到一個或多個物理設備上。 除了處理器、內存等少數的硬件資源之外,任何一種設備控制操作都由設備特定的驅動代碼來進行。內核中必須提供系統中可能要操作的每一種外設的驅動。 5、網絡管理:內核支持各種網絡標準協議和網絡設備。網絡管理部分可分為網絡協議棧和網絡設備驅動程序。網絡協議棧負責實現每種可能的網絡傳輸協議(TCP/IP協議等);網絡設備驅動程序負責與各種網絡硬件設備或虛擬設備進行通信。 本文選自華清遠見嵌入式培訓教材《從實踐中學嵌入式Linux應用程序開發》 熱點鏈接:
1、Linux內核模塊程序結構 |