Linux內(nèi)核有哪些版本號(hào)?大佬分享Linux內(nèi)核學(xué)習(xí)心得
Linux內(nèi)核是Linux操作系統(tǒng)的核心,除此以外,很多其它系統(tǒng)都基于Linux內(nèi)核構(gòu)建,比如Android系統(tǒng)。為增進(jìn)大家對(duì)Linux內(nèi)核的認(rèn)識(shí),本文將對(duì)Linux內(nèi)核的版本號(hào)予以介紹,并給出一些學(xué)習(xí)Linux內(nèi)核的建議。如果你對(duì)Linux內(nèi)核具有興趣,不妨繼續(xù)往下閱讀哦。
一、Linux內(nèi)核版本號(hào)
Linux內(nèi)核使用三種不同的版本編號(hào)方式。
第一種方式用于1.0版本之前(包括1.0)。第一個(gè)版本是0.01,緊接著是0.02、0.03、0.10、0.11、0.12、0.95、0.96、0.97、0.98、0.99和之后的1.0。
第二種方式用于1.0之后到2.6,數(shù)字由三部分“A.B.C”,A代表主版本號(hào),B代表次版本號(hào),C代表較小的末版本號(hào)。只有在內(nèi)核發(fā)生很大變化時(shí)(歷史上只發(fā)生過(guò)兩次,1994年的1.0,1996年的2.0),A才變化??梢酝ㄟ^(guò)數(shù)字B來(lái)判斷Linux是否穩(wěn)定,偶數(shù)的B代表穩(wěn)定版,奇數(shù)的B代表開發(fā)版。C代表一些bug修復(fù),安全更新,新特性和驅(qū)動(dòng)的次數(shù)。以版本2.4.0為例,2代表主版本號(hào),4代表次版本號(hào),0代表改動(dòng)較小的末版本號(hào)。在版本號(hào)中,序號(hào)的第二位為偶數(shù)的版本表明這是一個(gè)可以使用的穩(wěn)定版本,如2.2.5,而序號(hào)的第二位為奇數(shù)的版本一般有一些新的東西加入,是個(gè)不一定很穩(wěn)定的測(cè)試版本,如2.3.1。這樣穩(wěn)定版本來(lái)源于上一個(gè)測(cè)試版升級(jí)版本號(hào),而一個(gè)穩(wěn)定版本發(fā)展到完全成熟后就不再發(fā)展。
第三種方式從2004年2.6.0版本開始,使用一種“time-based”的方式。3.0版本之前,是一種“A.B.C.D”的格式。七年里,前兩個(gè)數(shù)字A.B即“2.6”保持不變,C隨著新版本的發(fā)布而增加,D代表一些bug修復(fù),安全更新,添加新特性和驅(qū)動(dòng)的次數(shù)。3.0版本之后是“A.B.C”格式,B隨著新版本的發(fā)布而增加,C代表一些bug修復(fù),安全更新,新特性和驅(qū)動(dòng)的次數(shù)。第三種方式中不再使用偶數(shù)代表穩(wěn)定版,奇數(shù)代表開發(fā)版這樣的命名方式。舉個(gè)例子:3.7.0代表的不是開發(fā)版,而是穩(wěn)定版。
二、學(xué)習(xí)linux內(nèi)核的建議
學(xué)習(xí)linux內(nèi)核,這個(gè)可不像學(xué)一門語(yǔ)言,c或者java一個(gè)月或者3月你就能精通掌握。學(xué)習(xí)linux內(nèi)核是需要一步一步循序漸進(jìn),掌握正確的linux內(nèi)核學(xué)習(xí)路線對(duì)學(xué)習(xí)至關(guān)重要,本篇文章就來(lái)分享學(xué)習(xí)linux內(nèi)核的一些建議吧。
1. 了解操作系統(tǒng)基本概念。如果不會(huì),可以學(xué)習(xí)《操作系統(tǒng):設(shè)計(jì)與實(shí)現(xiàn)》Andrew S.Tanenbaum 寫的那本。以MINIX為例子講解操作系統(tǒng)的概念。非常推薦。
2. 有了操作系統(tǒng)的基本概念以后,可以了解Linux的機(jī)制了。推薦《Linux內(nèi)核設(shè)計(jì)與實(shí)現(xiàn)》Robert Love 寫的。這本書從概念上講解了Linux有什么,他們是怎么運(yùn)行的。這本書要反復(fù)認(rèn)真看透。
3. 有了Linux內(nèi)核的了解,還需要具體研究Linux內(nèi)核源碼。經(jīng)典的就是《深入理解Linux內(nèi)核》Daniel P. Bovet 寫的。學(xué)習(xí)這本書的時(shí)候,要對(duì)著內(nèi)核代碼看著學(xué)。這本書學(xué)起來(lái)相當(dāng)費(fèi)力了,那么多多代碼要研究。不過(guò)這本書如果學(xué)明白了,恭喜你,Linux內(nèi)核你已經(jīng)很熟悉了。
4. 如果要開發(fā)設(shè)備驅(qū)動(dòng),可以學(xué)習(xí)《linux設(shè)備驅(qū)動(dòng)程序》O‘Reilly出版社的。這本作為驅(qū)動(dòng)的入門是很好的資料。另外還有一本《精通Linux 驅(qū)動(dòng)程序開發(fā)》也是不錯(cuò)的教材,可以參考著看。學(xué)習(xí)驅(qū)動(dòng),免不了要學(xué)習(xí)一些硬件的協(xié)議和資料,研究哪個(gè)就找到相應(yīng)的硬件文檔,把硬件的工作原理搞明白。這些就不細(xì)說(shuō)了。
5. 網(wǎng)絡(luò)部分,學(xué)些Linux網(wǎng)絡(luò)部分就學(xué)習(xí)《深入理解LINUX網(wǎng)絡(luò)技術(shù)內(nèi)幕》。這本書把Linux的網(wǎng)絡(luò)部分講的非常清晰透徹。但是通常不做這方面的工作研究,也不用研究這么深,畢竟現(xiàn)在相關(guān)職位較少。
6. 現(xiàn)在Linux相關(guān)的工作,多集中在一些嵌入式開發(fā)領(lǐng)域,arm,mips等,要學(xué)習(xí)以下這些體系架構(gòu)的的資料,了解CPU的設(shè)計(jì)和工作方式。ARM就看對(duì)應(yīng)的芯片手冊(cè),講的很細(xì)致。MIPS就看 《see mips run》,有一二兩版,兩版內(nèi)容有些差異,推薦都看。
7. 補(bǔ)充一點(diǎn)經(jīng)驗(yàn)。不要認(rèn)為L(zhǎng)inux很龐大,很復(fù)雜,就覺的很難學(xué)。任何東西認(rèn)真學(xué)下來(lái)都是能學(xué)會(huì)的,看你都恒心和毅力了。另外,不要走彎路,不要看市面上講什么Linux0.11的那些書,直接學(xué)你要學(xué)的東西。就像學(xué)C語(yǔ)言看什么譚浩強(qiáng)一樣,彎路走了,力氣沒少花,還嚴(yán)重影響學(xué)習(xí)效果。
以上便是此次小編帶來(lái)的Linux內(nèi)核相關(guān)內(nèi)容,通過(guò)本文,希望大家對(duì)Linux內(nèi)核版本號(hào)以及學(xué)習(xí)Linux內(nèi)核的建議具備一定的了解。如果你喜歡本文,不妨持續(xù)關(guān)注我們網(wǎng)站哦,小編將于后期帶來(lái)更多精彩內(nèi)容。最后,十分感謝大家的閱讀,have a nice day!