內(nèi)核是操作系統(tǒng)最基本的部分。它是為眾多應(yīng)用程序提供對計算機硬件的安全訪問的一部分軟件,這種訪問是有限的,并且內(nèi)核決定一個程序在什么時候?qū)δ巢糠钟布僮鞫嚅L時間。內(nèi)核的分類可分為單內(nèi)核和雙內(nèi)核以及微內(nèi)核。嚴格地說,內(nèi)核并不是計算機系統(tǒng)中必要的組成部分。
內(nèi)核,是一個操作系統(tǒng)的核心。是基于硬件的第一層軟件擴充,提供操作系統(tǒng)的最基本的功能,是操作系統(tǒng)工作的基礎(chǔ),它負責(zé)管理系統(tǒng)的進程、內(nèi)存、設(shè)備驅(qū)動程序、文件和網(wǎng)絡(luò)系統(tǒng),決定著系統(tǒng)的性能和穩(wěn)定性。
現(xiàn)代操作系統(tǒng)設(shè)計中,為減少系統(tǒng)本身的開銷,往往將一些與硬件緊密相關(guān)的(如中斷處理程序、設(shè)備驅(qū)動程序等)、基本的、公共的、運行頻率較高的模塊(如時鐘管理、進程調(diào)度等)以及關(guān)鍵性數(shù)據(jù)結(jié)構(gòu)獨立開來,使之常駐內(nèi)存,并對他們進行保護。通常把這一部分稱之為操作系統(tǒng)的內(nèi)核。
程序可以直接地被調(diào)入計算機中執(zhí)行,這樣的設(shè)計說明了設(shè)計者不希望提供任何硬件抽象和操作系統(tǒng)的支持,它常見于早期計算機系統(tǒng)的設(shè)計中。最終,一些輔助性程序,例如程序加載器和調(diào)試器,被設(shè)計到機器核心當中,或者固化在只讀存儲器里。這些變化發(fā)生時,操作系統(tǒng)內(nèi)核的概念就漸漸明晰起來了。
Linux的第一個公開版本是1991年10月的0.02版本,兩個月以后,在1991年12月,Linux發(fā)布了0.11版本,這是第一個可以不依賴于Minix就可以使用的獨立內(nèi)核。0.12版本發(fā)布一個月以后,在3月,版本號跳到了0.95,反映出系統(tǒng)正變得成熟,不僅如此,直到兩年后,也就是1994年3月,具有里程碑意義的1.0.0才完成。
大約從這時起開始使用兩“路”編號方法標注內(nèi)核的開發(fā),偶數(shù)號的內(nèi)核(比如1.0、2.2、2.4、2.6)是穩(wěn)定的,“產(chǎn)品”型號,同時,奇數(shù)號的內(nèi)核版本(1.1、2.3)是前沿的或者“發(fā)展中的”內(nèi)核。一個穩(wěn)定的內(nèi)核發(fā)布以后幾個月就開始新內(nèi)核的開發(fā)工作。然而,2.5的開發(fā)工作是在2.4完成后幾十個月以后才開始的。 [6] post-halloween文檔的大部分討論內(nèi)容是用戶需要注意的主要改變,以及需要更新的系統(tǒng)工具(為了利用它們)。關(guān)心這一信息人的主要是那些期望提前了解2.6內(nèi)核中有哪些內(nèi)容的Linux發(fā)行商,還有終端用戶,這可以讓他們確定為了能利用新部件是否有需要升級的程序。KernelJanitors項目保持了一個列表,內(nèi)容是需要修復(fù)的較小缺陷和解決方法。這些缺陷解決方法中大部分是由于向內(nèi)核打較大的補丁時需要改動很多部分代碼而導(dǎo)致的,比如有些地方會影響設(shè)備驅(qū)動程序。那些新近從事內(nèi)核開發(fā)的人開始時的工作可以選擇列表中的條目,這樣讓他們可以通過小項目學(xué)習(xí)如何編寫內(nèi)核代碼,同時有機會為社區(qū)做出貢獻。還有,在另一個預(yù)發(fā)布的項目中,JohnCherry追蹤了在對每個已經(jīng)發(fā)布的內(nèi)核版本進行編譯時發(fā)現(xiàn)的錯誤和警告。這些編譯統(tǒng)計數(shù)字隨著時間的流逝一直持續(xù)下降,而且,以系統(tǒng)的形式來發(fā)布這些結(jié)果使得所取得的進展一目了然。在很多情況下,可以像使用KernelJanitors列表一樣來利用這些警告和錯誤消息中的一部分,因為編譯錯誤通常是由小的缺陷引起的,需要一些努力去修復(fù)。最后,還有AndrewMorton的“must-fix”列表。由于他已經(jīng)被選定為2.6內(nèi)核發(fā)布后的維護者,他運用他的特權(quán)概括地列出了那些他認為在最終的2.6內(nèi)核發(fā)布前最迫切需要解決方案的問題。must-fix列表中包含了內(nèi)核Bugzilla系統(tǒng)中的缺陷,需要完成的部件,以及其他已知的問題,這些問題如不解決將阻礙2.6發(fā)布。這一信息可以幫助指明在新內(nèi)核發(fā)布前還需要哪些步驟;對那些關(guān)心這一萬眾期待的2.6內(nèi)核發(fā)布何時能完成的人來說,它還可以提供有價值的信息。