Linux內核淺入淺出
01 前言
擁有超過1300萬行的代碼,Linux內核是世界上最大的開源項目之一,但是Linux內核是什么,它用于什么?且聽我們慢慢道來。
02 什么是Linux內核?
Linux內核是Linux操作系統的核心,指的是一個由 Linus Torvalds 負責維護,提供硬件抽象層、硬盤及文件系統控制及多任務功能的系統核心程序。
Linux操作系統就是由Linux內核與各種常用軟件的集合產品。
03 Linux內核版本命名規則
Linux內核版本有兩種:穩定版和開發版 。
Linux內核版本號由3個數字組成:r.x.y
- r:目前發布的內核主版本。
- x:偶數表示穩定版本;奇數表示開發中版本。
- y:錯誤修補的次數。
我們在主機上執行uname -a,
uname -a :顯示系統名、節點名稱、操作系統的發行版號、內核版本等等。
- 系統名:
Linux
- 節點名稱:
qll
- 操作系統的發行版號:
3.10.0-1127.el7.x86_64
命名規則:
主版本號:3
次版本號:10【奇數為開發版本,偶數為穩定版本】
修訂版本號:0【修改的次數】
此次版本的第N次修改:1127
el7:redhat enterprise linux 7
x86_64:編譯框架(64位)
- 內核版本:
#1 SMP Tue Mar 31 23:36:51 UTC 2020
- 硬件平臺:
x86_64
- 機器硬件名:
x86_64
- 系統處理器的體系結構:
x86_64
- 操作系統:
GNU/Linux
Linux 內核版本命名在不同時期有不同的命名規范,其中在2.X版本中,X如果為奇數表示開發版、X如果為偶數表示穩定版,從2.6.X以及3.X,內核版本命名就沒有嚴格的約定規范了。
04 Linux內核的主要功能
Linux內核是整個Linux功能體現的核心,它是用C語言編寫的,符合Posix標準。
Linux內核主要功能包括進程管理、內存管理、文件管理、設備管理、網絡管理等。
- 進程管理:
進程是在計算機系統中資源分配的最小單元。內核負責創建和銷毀進程,而且由調度程序采取合適的調度策略,實現進程間的合理且實時的處理器資源的共享。從而內核的進程管理活動實現了多個進程在一個或多個處理器上的抽象。內核還負責實現不同進程間、進程和其他部件之間的通信。
- 內存管理:
內存是計算機系統中主要的資源。內核使得多個進程安全而合理地共享內存資源,為每個進程在有限的物理資源上建立一個虛擬地址空間。內存管理部分代碼可分為硬件無關部分和硬件有關部分:硬件無關部分實現進程和內存之間的地址映射等功能;硬件有關部分實現不同體系結構上的內存管理相關功能并為內存管理提供與硬件無關的虛擬接口。
- 文件管理:
在Linux系統中的任何一個概念幾乎都可以看做一個文件。內核在非結構化的硬件上建立了一個結構化的虛擬文件系統,隱藏了各種硬件的具體細節,從而在整個系統的幾乎所有機制中使用文件的抽象。Linux在不同物理介質或虛擬結構上支持數十種文件系統。例如,Linux支持磁盤的標準文件系統ext3和虛擬的特殊文件系統。
- 設備管理:
Linux系統中幾乎每個系統操作終都映射到一個或多個物理設備上。除了處理器、內存等少數的硬件資源之外,任何一種設備控制操作都由設備特定的驅動代碼來進行。內核中必須提供系統中可能要操作的每一種外設的驅動。
- 網絡管理:
內核支持各種網絡標準協議和網絡設備。網絡管理部分可分為網絡協議棧和網絡設備驅動程序。網絡協議棧負責實現每種可能的網絡傳輸協議(TCP/IP協議等);網絡設備驅動程序負責與各種網絡硬件設備或虛擬設備進行通信。
本文轉載自微信公眾號「開源Linux」,可以通過以下二維碼關注。轉載本文請聯系開源Linux公眾號。




























