国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Linux > 正文

Linux內(nèi)核2.6 的來龍去脈

2024-07-26 00:34:16
字體:
供稿:網(wǎng)友

  什么是linux內(nèi)核?

  內(nèi)核是我們通常所說的“Linux技術(shù)奇跡”的最重要特征。

  在IT術(shù)語中,內(nèi)核既是操作系統(tǒng)的心臟,也是它的大腦,因為內(nèi)核控制著基本的硬件。內(nèi)核是操作系統(tǒng)的核心,具有很多最基本功能,如虛擬內(nèi)存、多任務(wù)、共享庫、需求加載、共享的寫時拷貝(copy-on-write)可執(zhí)行程序和TCP/ip網(wǎng)絡(luò)功能。

  Linux內(nèi)核的起源可追溯到1991年芬蘭大學(xué)生Linus Torvalds編寫和第一次公布Linux的日子。盡管到目前為止Linux生態(tài)系統(tǒng)早已遠遠發(fā)展到了Torvalds本人之外的范圍,但Torvalds仍保持著對Linux內(nèi)核的控制權(quán),并且是Linux名稱的唯一版權(quán)所有人。自發(fā)布Linux 0.12版起,Linux就一直依照GPL(通用公共許可協(xié)議)自由軟件許可協(xié)議進行授權(quán)。

  Linux內(nèi)核本身并不是操作系統(tǒng),它是一個完整操作系統(tǒng)的組成部分。Red Hat、Novell、Debian和Gentoo等Linux發(fā)行商都采用Linux內(nèi)核,然后加入更多的工具、庫和應(yīng)用程序來構(gòu)建一個完整的操作系統(tǒng)。

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

  內(nèi)核的發(fā)展

  Linux操作系統(tǒng)隨每一個版本升級而變得更加穩(wěn)定。

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

  到2004年12月,即第一個2.6.x內(nèi)核發(fā)布一年后,隨著“Woozy Numbat” 2.6.10 Linux內(nèi)核的推出,表明一年中已經(jīng)發(fā)布了10個版本,聽起來數(shù)量很多,但仍少于2.4.x內(nèi)核發(fā)布頭一年的數(shù)量。

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

  2005年2月發(fā)布的2.6.11內(nèi)核開始支持InfiniBand。

  到2005年6月,Torvalds 用來幫助管理Linux內(nèi)核開發(fā)的BitKeeper工具引發(fā)了一次影響很廣的爭論,并引發(fā)了一場開發(fā)工具的變化。2.6.12內(nèi)核是第一個利用Torvald的Git程序取代BitKeeper的內(nèi)核。

  2005年8月,2.6.x Linux內(nèi)核中代碼質(zhì)量得到極大的改進。代碼分析機構(gòu)Coverity公司當(dāng)時所做的一次調(diào)查發(fā)現(xiàn),2004年12月到2005年7月間,Linux內(nèi)核中的“缺陷密度”下降了。雖然在此期間,Linux內(nèi)核代碼本身由2004年12月的576萬行增加到了2005年7月的603萬行,但缺陷密度卻下降了2.2%。2.6.13內(nèi)核在2005年8月底亮相,包含“Kexec”。Kexec提供無需經(jīng)過引導(dǎo)加載程序(bootloader)的快速重新引導(dǎo)。它還包含Inotify文件系統(tǒng)事件監(jiān)測機制,這種機制采用一種比其前任dnotify效率更高的API。

  2.6.15內(nèi)核是在2006年頭幾天發(fā)布的。對IPv6的支持在這個內(nèi)核中有了很大的改進。PowerPC用戶現(xiàn)在有了一個用于64位和32位PowerPC的泛型樹(generic tree),它使這兩種架構(gòu)上的內(nèi)核編輯成為可能。

  2.6.16版本引進了對Cell處理器和Oracle的 OCFS2集群文件系統(tǒng)的支持。2.6.16版還包含大量修補利用Coverity代碼分析工具發(fā)現(xiàn)隱患的補丁。

  兩個挑戰(zhàn)

  2.6.x Linux內(nèi)核目前面臨著安全和法律上的挑戰(zhàn)。

  在法律方面,Unix廠商SCO在一場復(fù)雜的訴訟中宣稱Linux在一些方面侵犯了SCO的知識產(chǎn)權(quán)。

  Torvalds 率領(lǐng)的Linux社區(qū)在2004年5月采取了一系列行動,以更好地記錄Linux內(nèi)核的提交過程,其目標(biāo)是幫助減少SCO或其他公司未來提出知識產(chǎn)權(quán)要求的可能。

  無論如何,這起宣稱Linux內(nèi)核中包含剽竊自SCO Unix代碼的案例,清楚地表明企業(yè)對使用開源代碼所懷有的一些擔(dān)心。

  在安全方面,Linux開發(fā)人員繼續(xù)在安全問題出現(xiàn)時迅速修補內(nèi)核。不過,我們經(jīng)常看到的現(xiàn)象是:在每一個三位數(shù)的版本正式發(fā)布不久后很快就推出一個修補隱患或潛在安全問題的帶有次小數(shù)點的四位數(shù)字的版本。例如,2.6.16.1版在2.6.16版發(fā)布一周后發(fā)布,它修補了一個潛在的安全漏洞。而2.6.15內(nèi)核僅僅在發(fā)布后兩周就進行了修補,修補了3個潛在的安全漏洞。

  下一個內(nèi)核

  2.6.17 Linux內(nèi)核將引進對Sun 最新的T1處理器系列的支持。它包括驅(qū)動程序升級、性能改進以及漏洞修補補丁。

  Sun的UltraspARC T1 處理器是在去年年底上市的。它包含多達8個處理內(nèi)核,每個處理器內(nèi)核支持4個線程,總共支持32個線程。

  來自kernel.org的正式2.6.17內(nèi)核并不是第一個支持Sun的Niagara架構(gòu)的Linux內(nèi)核。5月底推出的Ubuntu “Dapper Drake”是第一種支持Niagara的主流Linux版本。

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

  新內(nèi)核還包含很多其他的新特性和支持,包括Linux VoIP H.323協(xié)議的iptable特性中對防火墻的支持。

  新內(nèi)核中還增加了名為splice 的新I/O機制。Linus Torvalds解釋說,splice背后的真正概念是暴露給用戶空間的“隨機內(nèi)核緩沖區(qū)”的概念。“也就是說,splice和tee運行在用戶控制的內(nèi)核緩沖區(qū)上,在這個緩沖區(qū)中,splice將來自任意文件描述符的數(shù)據(jù)傳送到緩沖區(qū)中(或從緩沖區(qū)傳送到文件描述符),而tee將一個緩沖區(qū)中的數(shù)據(jù)復(fù)制到另一個緩沖區(qū)中。因此,從一個很真實(而抽象)的意義上講,splice相當(dāng)于內(nèi)核緩沖區(qū)的read/write,而tee相當(dāng)于從內(nèi)核緩沖區(qū)到另一個內(nèi)核緩沖區(qū)的memcpy。”

  2.6.17內(nèi)核能夠滿足業(yè)界的最新需求,而它也改進了對老技術(shù)的支持,例如對老DECnet協(xié)議的支持。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 仙居县| 左权县| 大连市| 溆浦县| 固镇县| 兴义市| 牙克石市| 永福县| 西和县| 紫云| 开远市| 电白县| 万年县| 阿荣旗| 宣化县| 达日县| 夏津县| 馆陶县| 仁化县| 滦平县| 龙川县| 西宁市| 靖宇县| 同江市| 邓州市| 桂林市| 梁河县| 富平县| 拉孜县| 大渡口区| 财经| 镶黄旗| 镇原县| 霍城县| 天全县| 东宁县| 三门峡市| 景东| 绍兴市| 贺州市| 永川市|