Linux核心2.6簡介(轉)

Rounders發表於2007-08-11
Linux核心2.6簡介[@more@]什麼是Linux核心?

  核心是我們通常所說的“Linux技術奇蹟”的最重要特徵。在IT術語中,核心既是作業系統的心臟,也是它的大腦,因為核心控制著基本的硬體。核心是作業系統的核心,具有很多最基本功能,如虛擬記憶體、多工、共享庫、需求載入、共享的寫時複製(copy-on-write)可執行程式和TCP/IP網路功能。

  Linux核心的起源可追溯到1991年芬蘭大學生 Linus Torvalds編寫和第一次公佈Linux的日子。儘管到目前為止Linux生態系統早已遠遠發展到了Torvalds本人之外的範圍,但 Torvalds仍保持著對Linux核心的控制權,並且是Linux名稱的唯一版權所有人。自發布Linux 0.12版起,Linux就一直依照GPL(通用公共許可協議)自由軟體許可協議進行授權。

  Linux核心本身並不是作業系統,它是一個完整作業系統的組成部分。Red Hat、Novell、Debian和Gentoo等Linux發行商都採用Linux核心,然後加入更多的工具、庫和應用程式來構建一個完整的作業系統。

  Linux 發行商一般會根據自己的需要對基本核心進行定製,在一些情況下,不同的Linux版本會在自己的核心中加入主核心中沒有的特性和支援,如Red Hat將部分2.6核心的特性向前移植到它自己的2.4.x核心中;再如Ubuntu Linux版本最近在Ubuntu的2.6.15 Linux核心中增加了對Sun T1處理器的支援,而這種支援目前還沒有出現在主核心中。

  核心的發展

  Linux作業系統隨每一個版本升級而變得更加穩定。

  以2003 年12月進入開源世界的第一個2.6核心版本為例,與其前任2.4核心相比,它在很多方面進行了改進,如支援多處理器配置和64位計算;它還支援實現高效率執行緒處理的本機POSIX執行緒庫(NPTL)。實際上,效能、安全性和驅動程式的改進是整個2.6.x核心的關鍵。

  到2004年12月,即第一個2.6.x核心釋出一年後,隨著“Woozy Numbat” 2.6.10 Linux核心的推出,表明一年中已經發布了10個版本,聽起來數量很多,但仍少於2.4.x核心釋出頭一年的數量。

  在2.4.0 核心釋出的2001年1月到這一年的12月間,共釋出了這一核心的17個版本。不過,2.4.x系列中沒有帶有次小數點的版本號,即沒有四個數字組成的版本號,而在2.6.x系列中,從2.6.8.1核心開始,一直持續到2.6.11,較小的核心隱患和安全補丁被賦予了次小數點版本號(例如 2.6.11.1)。

  2005年2月釋出的2.6.11核心開始支援InfiniBand。

  到2005年6月,Torvalds 用來幫助管理Linux核心開發的BitKeeper工具引發了一次影響很廣的爭論,並引發了一場開發工具的變化。2.6.12核心是第一個利用Torvald的Git程式取代BitKeeper的核心。

  2005 年8月,2.6.x Linux核心中程式碼質量得到極大的改進。程式碼分析機構Coverity公司當時所做的一次調查發現,2004年12月到2005年7月間,Linux核心中的“缺陷密度”下降了。雖然在此期間,Linux核心程式碼本身由2004年12月的576萬行增加到了2005年7月的603萬行,但缺陷密度卻下降了2.2%。2.6.13核心在2005年8月底亮相,包含“Kexec”。Kexec提供無需經過引導載入程式(bootloader)的快速重新引導。它還包含Inotify檔案系統事件監測機制,這種機制採用一種比其前任dnotify效率更高的API。

  2.6.15核心是在 2006年頭幾天釋出的。對IPv6的支援在這個核心中有了很大的改進。PowerPC使用者現在有了一個用於64位和32位PowerPC的泛型樹(generic tree),它使這兩種架構上的核心編輯成為可能。2.6.16版本引進了對Cell處理器和Oracle的 OCFS2叢集檔案系統的支援。2.6.16版還包含大量修補利用Coverity程式碼分析工具發現隱患的補丁。

  兩個挑戰

  2.6.x Linux核心目前面臨著安全和法律上的挑戰。

  在法律方面,Unix廠商SCO在一場複雜的訴訟中宣稱Linux在一些方面侵犯了SCO的智慧財產權。

  Torvalds 率領的Linux社群在2004年5月採取了一系列行動,以更好地記錄Linux核心的提交過程,其目標是幫助減少SCO或其他公司未來提出智慧財產權要求的可能。

  無論如何,這起宣稱Linux核心中包含剽竊自SCO Unix程式碼的案例,清楚地表明企業對使用開原始碼所懷有的一些擔心。

  在安全方面,Linux開發人員繼續在安全問題出現時迅速修補核心。不過,我們經常看到的現象是:在每一個三位數的版本正式釋出不久後很快就推出一個修補隱患或潛在安全問題的帶有次小數點的四位數字的版本。例如,2.6.16.1版在2.6.16版釋出一週後釋出,它修補了一個潛在的安全漏洞。而 2.6.15核心僅僅在釋出後兩週就進行了修補,修補了3個潛在的安全漏洞。

  下一個核心

  2.6.17 Linux核心將引進對Sun 最新的T1處理器系列的支援。它包括驅動程式升級、效能改進以及漏洞修補補丁。

  Sun的UltraSPARC T1 處理器是在去年年底上市的。它包含多達8個處理核心,每個處理器核心支援4個執行緒,總共支援32個執行緒。

  來自kernel.org的正式2.6.17核心並不是第一個支援Sun的Niagara架構的Linux核心。5月底推出的Ubuntu “Dapper Drake”是第一種支援Niagara的主流Linux版本。

  新2.6.17 核心使Linux可以更容易地處理斷開/重新連線事件。Linux核心開發員Stefan Rompf解釋說,2.6.17核心將使使用者空間(userspace)可以影響連線事件訊號,這樣DHCP客戶程式可以得到連線終止的通知,因此客戶程式可以嘗試獲得一個新IP地址。

  新核心還包含很多其他的新特性和支援,包括Linux VoIP H.323協議的iptable特性中對防火牆的支援。

  新核心中還增加了名為splice 的新I/O機制。Linus Torvalds解釋說,splice背後的真正概念是暴露給使用者空間的“隨機核心緩衝區”的概念。“也就是說,splice和tee執行在使用者控制的核心緩衝區上,在這個緩衝區中,splice將來自任意檔案描述符的資料傳送到緩衝區中(或從緩衝區傳送到檔案描述符),而tee將一個緩衝區中的資料複製到另一個緩衝區中。因此,從一個很真實(而抽象)的意義上講,splice相當於核心緩衝區的read/write,而tee相當於從核心緩衝區到另一個核心緩衝區的memcpy。”

  2.6.17核心能夠滿足業界的最新需求,而它也改進了對老技術的支援,例如對老DECnet協議的支援

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9417382/viewspace-944645/,如需轉載,請註明出處,否則將追究法律責任。

相關文章