【轉(zhuǎn)】Linux內(nèi)核簡(jiǎn)介、版本號(hào)與發(fā)布?xì)v史
Linux內(nèi)核簡(jiǎn)介、版本號(hào)與發(fā)布?xì)v史
說(shuō)明:
????這篇文件來(lái)源與網(wǎng)絡(luò)上,至于作者是誰(shuí)就不知道了,不過(guò)確實(shí)是非常精簡(jiǎn),所以這里就再發(fā)布,以作為自己收藏,同時(shí)也希望可以幫助到大家。
一.Linux 內(nèi)核簡(jiǎn)介
????Linux 是最受歡迎的自由電腦操作系統(tǒng)內(nèi)核。它是一個(gè)用C 語(yǔ)言寫成,符合POSIX標(biāo)準(zhǔn)的類Unix 操作系統(tǒng)。Linux 最早是由芬蘭黑客Linus Torvalds 為嘗試在英特爾x86架構(gòu)上提供自由免費(fèi)的類Unix 操作系統(tǒng)而開(kāi)發(fā)的。該計(jì)劃開(kāi)始于1991年,這里有一份Linus Torvalds 當(dāng)時(shí)在Usenet 新聞組comp.os.minix 所登載的貼子,這份著名的貼子標(biāo)志著Linux 計(jì)劃的正式開(kāi)始。
????在計(jì)劃的早期有一些Minix 黑客提供了協(xié)助,而今天全球無(wú)數(shù)程序員正在為該計(jì)
劃無(wú)償提供幫助。
????技術(shù)上說(shuō)Linux 是一個(gè)內(nèi)核?!皟?nèi)核”指的是一個(gè)提供硬件抽象層、磁盤及文件系統(tǒng)控制、多任務(wù)等功能的系統(tǒng)軟件。一個(gè)內(nèi)核不是一套完整的操作系統(tǒng)。一套基于Linux 內(nèi)核的完整操作系統(tǒng)叫作Linux 操作系統(tǒng),或是GNU/Linux。
????Linux 是一個(gè)宏內(nèi)核(monolithic kernel)系統(tǒng)。設(shè)備驅(qū)動(dòng)程序可以完全訪問(wèn)硬件。Linux 內(nèi)的設(shè)備驅(qū)動(dòng)程序可以方便地以模塊化(modularize)的形式設(shè)置,并在系統(tǒng)運(yùn)行期間可直接裝載或卸載。
Linux 內(nèi)核組成部分:
進(jìn)程管理(process management)、定時(shí)器(timer)、中斷管理(interrupt management)、內(nèi)存管理(memory management)、模塊管理(module management)、虛擬文件系統(tǒng)接口(VFS layer)、文件系統(tǒng)(file system)、設(shè)備驅(qū)動(dòng)程序(device driver)、進(jìn)程間通信(inter-process communication)、網(wǎng)絡(luò)管理(network management)、系統(tǒng)啟動(dòng)(system init)等操作系統(tǒng)功能的實(shí)現(xiàn)。
二.Linux 內(nèi)核版本號(hào)
1.第一種方式
????
????內(nèi)核是一個(gè)用來(lái)和硬件打交道并為用戶程序提供一個(gè)有限服務(wù)集的低級(jí)支撐軟件。一個(gè)計(jì)算機(jī)系統(tǒng)是一個(gè)硬件和軟件的共生體,它們互相依賴,不可分割。
????Linux 的版本號(hào)分為兩部分,即內(nèi)核版本與發(fā)行版本。內(nèi)核版本號(hào)由3個(gè)數(shù)字組成:r.x.y。各數(shù)字含義如下:
r:目前發(fā)布的內(nèi)核主版本。
x:偶數(shù)表示穩(wěn)定版本;奇數(shù)表示開(kāi)發(fā)中版本。
y:錯(cuò)誤修補(bǔ)的次數(shù)。
????一般來(lái)說(shuō),x 位為偶數(shù)的版本是一個(gè)可以使用的穩(wěn)定版本,如2.4.4;x 位為奇數(shù)的版本一般加入了一些新的內(nèi)容,不一定很穩(wěn)定,是測(cè)試版本,如2.1.111。
2.第二種方式
????major.minor.patch-build.desc
????2.26.35-rc5
說(shuō)明如下:
major
minor
patchbuilddesc表示主版本號(hào),有結(jié)構(gòu)性變化時(shí)才變更
表示次版本號(hào),新增功能時(shí)才發(fā)生變化;一般奇數(shù)表示測(cè)試版,偶數(shù)
表示生產(chǎn)版
表示對(duì)次版本的修訂次數(shù)或補(bǔ)丁包數(shù)
表示編譯(或構(gòu)建)的次數(shù),每次編譯可能對(duì)少量程序做優(yōu)化或修改,但一般沒(méi)有大的(可控的)功能變化
用來(lái)描述當(dāng)前的版本特殊信息;其信息由編譯時(shí)指定,具有較大的隨意性,但也有一些描述標(biāo)識(shí)是常用的
對(duì)于desc的說(shuō)明如下:
rcsmp
ppEL
mm
fc
(有時(shí)也用一個(gè)字母r),表示候選版本(release candidate),rc 后的數(shù)字表示該正式版本的第幾個(gè)候選版本,多數(shù)情況下,各候選版本之間數(shù)字越大越接近
正式版
表示對(duì)稱多處理器(Symmetric MultiProcessing)在Red Hat Linux 中常用來(lái)表示測(cè)試版本(pre-patch)在Red Hat Linux 中用來(lái)表示企業(yè)版Linux(Enterprise Linux)表示專門用來(lái)測(cè)試新的技術(shù)或新功能的版本在Red Hat Linux 中表示Fedora Core
????如果在生產(chǎn)機(jī)上,最好不要安裝小版本號(hào)是奇數(shù)的內(nèi)核。同樣,pre-patch 的內(nèi)核
版本也不建議安裝在生產(chǎn)機(jī)上。
三、Linux內(nèi)核的發(fā)布?xì)v史
????內(nèi)核是Linux 系統(tǒng)的重要組成部分,每一次內(nèi)核新版本的發(fā)布都受到Linux 愛(ài)好
者的關(guān)注,下面表格中列出了Linux 內(nèi)核的重要發(fā)展事件。
內(nèi)核版本號(hào)時(shí)間
內(nèi)核發(fā)展史
0.00
1991.2-4兩個(gè)進(jìn)程分別顯示AAA BBB0.01
1991.9第一個(gè)正式向外公布的Linux 內(nèi)核版本0.021991.10.5
Linus Torvalds 將當(dāng)時(shí)最初的0.02內(nèi)核版本發(fā)布到了Minix 新
聞組,很快就得到了反應(yīng)。Linus Torvalds 在這種簡(jiǎn)單的任務(wù)
切換機(jī)制上進(jìn)行擴(kuò)展,并在很多熱心支持者的幫助下開(kāi)發(fā)和推出了Linux 的第一個(gè)穩(wěn)定的工作版本。
0.031991.10.5
0.101991.10Linux0.10版本內(nèi)核發(fā)布,0.11版本隨后在1991年12月推出,當(dāng)
時(shí)它被發(fā)布在Internet 上,供人們免費(fèi)使用。
0.11
1991.12.8基本可以正常運(yùn)行的內(nèi)核版本0.121992.1.15主要加入對(duì)數(shù)學(xué)協(xié)處理器的軟件模擬程序0.95(0.13)1992.3.8開(kāi)始加入虛擬文件系統(tǒng)思想的內(nèi)核版本0.961992.5.12開(kāi)始加入網(wǎng)絡(luò)支持和虛擬文件系統(tǒng)0.971992.8.1
0.981992.9.29
0.991992.12.13
1.0
1994.3.14
Linux1.0版本內(nèi)核發(fā)布,使用它的用戶越來(lái)越多,而且Linux 系統(tǒng)的核心開(kāi)發(fā)隊(duì)伍也建起來(lái)了。
1.21995.3.7
2.0
1996.2.9
2.21991.1.26
2.42001.1.4Linux2.4.0版本內(nèi)核發(fā)布。2.6
2003.12.17
Linux2.6版本內(nèi)核發(fā)布,與2.4內(nèi)核版本相比,它在很多方面進(jìn)
行了改進(jìn),如支持多處理器配置和64位計(jì)算,它還支持實(shí)現(xiàn)高效率線和處理的本機(jī)POSIX 線程庫(kù)(NPTL)。實(shí)際上,性能、安全性和驅(qū)動(dòng)程序的改進(jìn)是整個(gè)2.6.x 內(nèi)核的關(guān)鍵。
2.6.152006Linux2.6.15版本內(nèi)核發(fā)布。它對(duì)IPv6的支持在這個(gè)內(nèi)核中有了
很大的改進(jìn)。PowerPC 用戶現(xiàn)在有了一個(gè)用于64 位和32 位
PowerPC 的泛型樹,它使這兩種架構(gòu)上的內(nèi)核編輯成為可能。
2.6.30
2009.6改善了文件系統(tǒng)、加入了完整性檢驗(yàn)補(bǔ)丁、TOMOYO Linux 安全
模塊、可靠的數(shù)據(jù)報(bào)套接字(datagram socket)協(xié)議支持、對(duì)象存儲(chǔ)設(shè)備支持、FS-Cache 文件系統(tǒng)緩存層、nilfs 文件系統(tǒng)、線程中斷處理支持等等。
2.6.32
2009.12增添了虛擬化內(nèi)存de-duplicacion、重寫了writeback 代碼、
改進(jìn)了Btrfs 文件系統(tǒng)、添加了ATI R600/R700 3D 和KMS 支持、CFQ 低傳輸延遲時(shí)間模式、perf timechart 工具、內(nèi)存控制器支持soft limits、支持S+Core 架構(gòu)、支持Intel Moorestown 及其新的固件接口、支持運(yùn)行時(shí)電源管理、以及新的驅(qū)動(dòng)。
2.6.342010.5
添加了Ceph 和LogFS 兩個(gè)新的文件系統(tǒng),其中前者為分布式的
文件系統(tǒng),后者是適用于Flash 設(shè)備的文件系統(tǒng)。Linux Kernel 2.6.34的其他特性包括新的Vhost net、改進(jìn)了Btrfs 文件系統(tǒng)、對(duì)Kprobes jump 進(jìn)行了優(yōu)化、新的perf 功能、RCU lockdep、Generalized TTL Security Mechanism (RFC 5082)及privateVLAN proxy arp (RFC 3069)支持、asynchronous 掛起恢復(fù)等等。
2.6.36
2010.10
Tilera 處理器架構(gòu)支持、新的文件通知接口fanotify、Intel
顯卡上實(shí)現(xiàn)KMS 和KDB 的整合、并行管理工作隊(duì)列、Intel i3/5平臺(tái)上內(nèi)置顯卡和CPU 的智能電源管理、CIFS 文件系統(tǒng)本地緩存、改善虛擬內(nèi)存的層級(jí)結(jié)構(gòu),提升桌面操作響應(yīng)速度、改善虛擬內(nèi)存溢出終結(jié)器的算法、整合了AppArmor 安全模型(注:與SELinux 基于文件的標(biāo)注不同,AppArmor 是基于路徑的)。
從2.x到4.x,Linux內(nèi)核這十年經(jīng)歷了哪些重要變革

嵌入式Linux
學(xué)習(xí)C語(yǔ)言請(qǐng)關(guān)注【嵌入式Linux】
前言
Linux內(nèi)核網(wǎng)站:
https://www.kernel.org/
Linux各種升級(jí)更改:
https://en.wikipedia.org/wiki/Linux_kernel#Feature_history
https://kernelnewbies.org/LinuxChanges
各種Linux版本介紹:
https://kernelnewbies.org/LinuxVersions
在過(guò)去,2.0.x 2.2.x和2.4.x(偶數(shù)次要部分)是發(fā)布的穩(wěn)定內(nèi)核版本(所以我們項(xiàng)目中用到的內(nèi)核版本大部分是偶數(shù)的),2.1.x,2.3.x和2.5.x是發(fā)生重大變化的開(kāi)發(fā)系列。當(dāng)2.1的開(kāi)發(fā)完成時(shí),它變?yōu)?.2,2.3變?yōu)?.4,2.5變?yōu)?.6。當(dāng)2.6發(fā)布時(shí),決定不創(chuàng)建新系列,而是繼續(xù)開(kāi)發(fā)2.6系列。在某些時(shí)候,決定在每個(gè)2.6.x版本上創(chuàng)建穩(wěn)定的分支,然后會(huì)發(fā)布2.6.xy版本。其中一些成為長(zhǎng)期版本。3.x和4.x是2.6系列的直接延續(xù)。
Linux現(xiàn)在發(fā)展越來(lái)越快,它在安全性方面得到增強(qiáng),并在發(fā)布之后經(jīng)歷了一系列自動(dòng)化測(cè)試。在今天的文章中,我們將了解在Linux高度普及的當(dāng)下,IT專業(yè)人士應(yīng)如何利用其支持從移動(dòng)設(shè)備到服務(wù)器再到超級(jí)計(jì)算機(jī)的各類硬件。
Linux無(wú)處不在-從Android智能手機(jī)與平板電腦還有智能路由器(高通,MTK,rockchip,全志等等),,到企業(yè)服務(wù)器再到超級(jí)計(jì)算機(jī)。事實(shí)上,大多數(shù)IT專業(yè)人士都與Linux有著不解之緣。而隨著28周歲的來(lái)臨,Linux這款開(kāi)源操作系統(tǒng)也迎來(lái)了新的發(fā)展階段。
根據(jù)Linux基金會(huì)發(fā)布的聲明,自2005年以來(lái)超過(guò)1300家企業(yè)為L(zhǎng)inux內(nèi)核作出過(guò)貢獻(xiàn)。而企業(yè)雇主對(duì)于具備Linux技能的人員也相當(dāng)青睞。
在2016年開(kāi)源職位報(bào)告當(dāng)中,87%的經(jīng)理人表示很難找到優(yōu)秀的開(kāi)源人才,而79%表示自己正努力留存現(xiàn)有開(kāi)源人才。根據(jù)求職網(wǎng)站Dice的統(tǒng)計(jì)結(jié)果,有400名招聘經(jīng)理表示他們?cè)谶^(guò)去一年中吸納過(guò)開(kāi)源專業(yè)人才,或者有計(jì)劃在2016年年內(nèi)雇用開(kāi)源專家。
那么在Linux高度普及的今天,我們?cè)撊绾伟盐誏inux內(nèi)核的未來(lái)發(fā)展方向?下面來(lái)看以下六條基本思路:
1.查看Linux內(nèi)核版本
命令行查看
cat /proc/version
uname -a
下面網(wǎng)址列舉了幾種查看Linux版本的方法
http://www.linfo.org/find_kernel_version.html
2.Linux內(nèi)核每小時(shí)迎來(lái)7.8次更新
自2015年2月8號(hào)到2016年7月24號(hào),Linux內(nèi)核進(jìn)行了九次更新。在此期間,每個(gè)版本在九到十周之內(nèi)會(huì)對(duì)Linux內(nèi)核開(kāi)發(fā)流程每小時(shí)平均進(jìn)行7.8次更新。這意味著Linux能夠在保持穩(wěn)定性與實(shí)用性之余,繼續(xù)提供持續(xù)的系統(tǒng)變更。
Linux已經(jīng)成為過(guò)去25年當(dāng)中變化規(guī)模最大的軟件項(xiàng)目。它能夠持續(xù)實(shí)現(xiàn)與時(shí)俱進(jìn),并同時(shí)提升功能、鞏固安全并支持更多新設(shè)備,其中一項(xiàng)非常重要的新功能在于能夠在系統(tǒng)運(yùn)行時(shí)對(duì)內(nèi)核進(jìn)行補(bǔ)丁更新。
3.在持續(xù)變更之下長(zhǎng)期保持穩(wěn)定
面對(duì)如此可觀的變化規(guī)模,保持內(nèi)核長(zhǎng)期穩(wěn)定自然是件大難題,而Linux內(nèi)核進(jìn)程團(tuán)隊(duì)對(duì)其進(jìn)行了極大完善。各內(nèi)核版本必須在準(zhǔn)備就緒之前盡可能找到其中的各類錯(cuò)誤。因此,在九到十周的新內(nèi)核發(fā)布周期當(dāng)中,更新會(huì)以每周一個(gè)的節(jié)奏進(jìn)行添加。當(dāng)下一版本發(fā)布之后,此流程即告終止,并將注意力集中在當(dāng)前版本當(dāng)中。
在更新進(jìn)行時(shí),前后兩套內(nèi)核都將保持固定——這部分工作由Linux社區(qū)執(zhí)行——而內(nèi)核各發(fā)布版本的修復(fù)工作也同時(shí)執(zhí)行。SUSE、Ubuntu、CentOS、紅帽以及其他發(fā)行版皆處于主內(nèi)核或者其他版本之狀態(tài)下。這些內(nèi)核會(huì)在更新過(guò)程中自然保持同步。
4.哪些版本擁有擴(kuò)展更新?
每12到20個(gè)月之間,更新流程都會(huì)選擇納入一套版本并為其提供9到10周的調(diào)整時(shí)間。選擇這套版本,即意味著該Linux版本會(huì)在未來(lái)兩年當(dāng)中獲得更新。3.14版本即屬于此類內(nèi)核之一,它發(fā)布于2014年3月30號(hào)。下一套此類版本為4.4,發(fā)布于2016年1月10號(hào)。此內(nèi)核目前已經(jīng)更新至4.7。在接下來(lái)的兩年當(dāng)中,它將被逐步升級(jí)為4.9。
5.升級(jí)至 4.0版本的重要意義
2015年4月12日,內(nèi)核由3.19升級(jí)至4.0。那么,此次大型更新給Linux內(nèi)核帶來(lái)了怎樣的變化?我們又該如何了解這些具體調(diào)整?答案非常簡(jiǎn)單,4.0版本與之前的幾個(gè)版本相比并沒(méi)有什么重大變化。
作為內(nèi)核開(kāi)發(fā)流程團(tuán)隊(duì)的負(fù)責(zé)人,Linus Torvalds表示他早就希望避免出現(xiàn)2.6.39中曾經(jīng)出現(xiàn)過(guò)的命名錯(cuò)誤,因?yàn)樵摼幪?hào)在用戶的快速瀏覽中可能引發(fā)誤解。因此在3.19版本發(fā)布時(shí),他就將版本號(hào)調(diào)整為4.0詢問(wèn)了社區(qū)意見(jiàn),并得到了積極的反饋?!彼?.0版本“并不代表什么特別的含義,而只是為了避免次級(jí)數(shù)字越來(lái)越大,”2016年的Linux內(nèi)核報(bào)告中提到。
6.新版本高度強(qiáng)調(diào)安全性
安全性已經(jīng)成為L(zhǎng)inux內(nèi)核開(kāi)發(fā)的優(yōu)先性焦點(diǎn)。英特爾方面還在它最新x86芯片當(dāng)中內(nèi)置有保護(hù)擴(kuò)展機(jī)制,并受到現(xiàn)有Linux內(nèi)核的支持。在此基礎(chǔ)上,它的硬件會(huì)在特定內(nèi)存空間中執(zhí)行外部代碼。這項(xiàng)機(jī)制能夠避免惡意人士進(jìn)行的緩沖區(qū)溢出攻擊。ARM芯片還擁有一項(xiàng)“永不特權(quán)執(zhí)行”機(jī)制,能夠在該體系當(dāng)中實(shí)現(xiàn)類似的功能。
現(xiàn)在的Linux增加了SElinux也是為了增加安全性能
7.測(cè)試,測(cè)試,更多測(cè)試
內(nèi)核開(kāi)發(fā)進(jìn)程團(tuán)隊(duì)的管理者們會(huì)在全面發(fā)布之前,以自動(dòng)化手段對(duì)它進(jìn)行更為全面的測(cè)試。舉例來(lái)說(shuō),自初始build與引導(dǎo)之時(shí)起,即有一套自動(dòng)化系統(tǒng)審查該潛在版本,并在4.7版本為期10周的開(kāi)發(fā)當(dāng)中發(fā)現(xiàn)了400項(xiàng)bug——這一切都在最終發(fā)布前得到修復(fù)。“內(nèi)核當(dāng)中包含一套不斷發(fā)展的自我測(cè)試框架,其正在廣度與功能方面實(shí)現(xiàn)快速演進(jìn),”2016年Linux內(nèi)核報(bào)告解釋稱。
8.Linux內(nèi)核在這幾方面做了更多的更新
driver updates 驅(qū)動(dòng)更新
support for more hardware 支持更多的硬件
bug fixes 修復(fù)Bug
security upgrades安全方面升級(jí)
new features 新的特性,比如加了dts替代原來(lái)的板級(jí)文件
better performance 更牛逼的性能
更多特性請(qǐng)查看
https://kernelnewbies.org/LinuxChanges
Linux重要人物
1、Ken Thompson:C語(yǔ)言之父和Unix之父

2.Dennis Ritchie:C語(yǔ)言之父和Unix之父

3.Stallman:著名黑客,GNU創(chuàng)始人,開(kāi)發(fā)了Emacs、gcc、bash shell

9.參考
https://www.zhihu.com/question/35484429
https://blog.csdn.net/zengxiantao1994/article/details/53141747
轉(zhuǎn)載自:
http://os.51cto.com/art/201609/518308.htm
并做了一些修改和更正