Linux內(nèi)核7個值得關(guān)注的開發(fā)熱點 |
發(fā)布時間: 2012/8/11 9:19:07 |
對Vista的商業(yè)用戶來說,Linux內(nèi)核的開發(fā)可能非常復(fù)雜神秘,因為由幾十個人維護著不同的部分,有幾百名志愿者提交代碼,你很難判斷新功能的走向。
從本質(zhì)上來說Linux的開發(fā)也沒有線路圖。要一窺全豹,以下是7個值得關(guān)注的開發(fā)熱點,基于對開發(fā)人員和內(nèi)核維護人員的采訪。不是所有的新功能都進展順利,下文展現(xiàn)了各新功能進入內(nèi)核的崎嶇之道。 1、虛擬化 認識到虛擬化在這十年里日益成為“大趨勢”,Linux內(nèi)核維護者把它作為優(yōu)先考慮的功能,加快了虛擬化技術(shù)添加到內(nèi)核的進程。由初創(chuàng)公司 Qumranet的Avi Kivity提供的KVM虛擬管理程序,就包含在2006年末發(fā)布的內(nèi)核中并在上個月的發(fā)布中繼續(xù)升級。這個例子很好地展現(xiàn)了快速內(nèi)核發(fā)布和緩慢企業(yè)版進展之間矛盾。 Novell公司的副總裁霍爾格•杜爾夫(Holger Dryoff)表示“我們認為KVM還不適合企業(yè)使用。”他補充說,在KVM能被加到SUSE Linux之前,它需要在內(nèi)核子系統(tǒng)包括調(diào)度器的交互上經(jīng)過更多的測試。 最近被Citrix Systems耗費5千萬美元收購的商業(yè)開源虛擬化公司XenSource,一直在游說想把自己架構(gòu)的Xen虛擬機管理程序(Hypervisor)加入到內(nèi)核里。內(nèi)核維護人員認為添加這種虛擬化功能會大大增加維護工作量。最終XenSource的工程師放棄了,但仍繼續(xù)調(diào)整Xen以配合內(nèi)核的運行。它暫時還進不了內(nèi)核,只能先增加了一些支持,使Linux在運行虛擬環(huán)境時可以識別它。 其他的虛擬化功能發(fā)展迅速,包括KVM和Lguest。Lguest是由IBM工程師Rusty Russell開發(fā)的一個只有5000行代碼的精簡hypervisor(虛擬機管理程序),它已經(jīng)包括在最近版本的內(nèi)核里了。和KVM相似,它支持Intel和AMD芯片的最新虛擬化技術(shù)。但又與VMware公司的ESX Server不同,在Lguest創(chuàng)建的虛擬機里的操作系統(tǒng)知道自己是被虛擬出來的。所以在調(diào)用CPU周期時它可以直接向真正的硬件發(fā)出請求,而不是作為中間媒介而降低了效率,因此這種架構(gòu)大大提高了效率。 2、實時操作 Linux在實時操作上獲得了長足的提升,因為現(xiàn)在它常常被用作手機和其它設(shè)備上的嵌入式系統(tǒng)。但最近發(fā)布的2.6.23內(nèi)核顯示它在實時操作上“稍有退步”,商業(yè)嵌入式Linux廠商MontaVista 的首席技術(shù)長官(CTO)和創(chuàng)始人吉姆•瑞爾迪(Jim Ready)抱怨說。這個新的進程調(diào)度器更強調(diào)“公平”——這意味著要由最終用戶告訴處理器哪些待處理的任務(wù)可以獲得更高的優(yōu)先級。 “實時用戶不需要公平,”瑞爾迪認為,因為實時要求無論CPU在做什么,都可以插入一個新的優(yōu)先級以中斷操作。一個簡單的例子是,在醫(yī)療設(shè)備里監(jiān)控病人呼吸的軟件在發(fā)現(xiàn)病人呼吸停頓時,能發(fā)送一個即時警告,軟件無論在處理什么任務(wù)都要先中斷停下來。瑞爾迪表示,除非實時性能有改善,否則 MontaVista不會把新的內(nèi)核整合到自己的產(chǎn)品中來。Gartner分析師喬治•維斯(George Weiss)預(yù)測標準版的Linux要到2008年才能成為有競爭力的實時系統(tǒng)。 3、中斷處理 維斯那樣說其中一個原因是因為內(nèi)核開發(fā)人員正致力于使進程調(diào)度器具有實時功能。操作系統(tǒng)的關(guān)鍵環(huán)節(jié)是中斷的管理——它決定了哪些任務(wù)能獲得 CPU的處理權(quán),如何排列不同行為之間的優(yōu)先級。如果所有的中斷處理器都可以被結(jié)合到自己的線程中去,那個線程就可以被調(diào)度并設(shè)置優(yōu)先級,而不是無法預(yù)知地運行和延遲的實時響應(yīng)。 過去三年來這樣的努力一直沒有停歇過。MontaVista的斯文•托斯滕•迪特里奇(Sven-Thorsten Dietrich) 在2004年就提交了代碼,希望防止中斷處理程序為了常規(guī)任務(wù)而中斷內(nèi)核,因為它們干擾了實時響應(yīng)。但這些代碼的破壞性太大,以致無法獲得內(nèi)核調(diào)度領(lǐng)域的專家Ingo Molnar的認可。這些代碼影響了一個關(guān)鍵內(nèi)核功能自旋鎖(spinlock),當進程在等待需要的數(shù)據(jù)或事件時,它可以鎖定CPU。許多進程依賴于自旋鎖。Dietrich的代碼把幾百個自旋鎖減少到30個;Molnar的修訂保留了90個自旋鎖,比前者破壞性要來得少些。 把中斷處理器集合到一個統(tǒng)一的獨立線程的想法看來已開始成熟并準備進入內(nèi)核了。“Ingo替換了我們的做法,但他做得很棒,” 瑞爾迪說道。MontaVista并不在乎自己的努力是否能獲得更多的榮譽,瑞爾迪理解這就是開源合作的方式,因此他接受正在進入內(nèi)核的實時功能的修改。 本文出自:億恩科技【mszdt.com】 服務(wù)器租用/服務(wù)器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |