<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 透視:Linux有待提高的七個(gè)領(lǐng)域

          透視:Linux有待提高的七個(gè)領(lǐng)域

          作者: 時(shí)間:2016-09-12 來(lái)源:網(wǎng)絡(luò) 收藏

          對(duì)Linux的商業(yè)用戶(hù)來(lái)說(shuō),Linux內(nèi)核的開(kāi)發(fā)可能非常復(fù)雜神秘,因?yàn)橛蓭资畟€(gè)人維護(hù)著不同的部分,有幾百名志愿者提交代碼,你很難判斷新功能的走向。

          本文引用地址:http://www.ex-cimer.com/article/201609/304785.htm

          從本質(zhì)上來(lái)說(shuō)Linux的開(kāi)發(fā)也沒(méi)有線路圖。要一窺全豹,以下是7個(gè)值得關(guān)注的開(kāi)發(fā)熱點(diǎn),基于對(duì)開(kāi)發(fā)人員和內(nèi)核維護(hù)人員的采訪。不是所有的新功能都進(jìn)展順利,下文展現(xiàn)了各新功能進(jìn)入內(nèi)核的崎嶇之道。

          1 虛擬化

          認(rèn)識(shí)到虛擬化在這十年里日益成為“大趨勢(shì)”,Linux內(nèi)核維護(hù)者把它作為優(yōu)先考慮的功能,加快了虛擬化技術(shù)添加到內(nèi)核的進(jìn)程。由初創(chuàng)公司Qumranet的Avi Kivity提供的KVM虛擬管理程序,就包含在2006年末發(fā)布的內(nèi)核中并在上個(gè)月的發(fā)布中繼續(xù)升級(jí)。這個(gè)例子很好地展現(xiàn)了快速內(nèi)核發(fā)布和緩慢企業(yè)版進(jìn)展之間矛盾。

          Novell公司的副總裁霍爾格•杜爾夫(Holger Dryoff)表示“我們認(rèn)為KVM還不適合企業(yè)使用。”他補(bǔ)充說(shuō),在KVM能被加到SUSE Linux之前,它需要在內(nèi)核子系統(tǒng)包括調(diào)度器的交互上經(jīng)過(guò)更多的測(cè)試。

          最近被Citrix Systems耗費(fèi)5千萬(wàn)美元收購(gòu)的商業(yè)開(kāi)源虛擬化公司XenSource,一直在游說(shuō)想把自己架構(gòu)的Xen虛擬機(jī)管理程序(Hypervisor)加入到內(nèi)核里。內(nèi)核維護(hù)人員認(rèn)為添加這種虛擬化功能會(huì)大大增加維護(hù)工作量。最終XenSource的工程師放棄了,但仍繼續(xù)調(diào)整Xen以配合內(nèi)核的運(yùn)行。它暫時(shí)還進(jìn)不了內(nèi)核,只能先增加了一些支持,使Linux在運(yùn)行虛擬環(huán)境時(shí)可以識(shí)別它。

          其他的虛擬化功能發(fā)展迅速,包括KVM和Lguest。Lguest是由IBM工程師Rusty Russell開(kāi)發(fā)的一個(gè)只有5000行代碼的精簡(jiǎn)hypervisor(虛擬機(jī)管理程序),它已經(jīng)包括在最近版本的內(nèi)核里了。和KVM相似,它支持Intel和AMD芯片的最新虛擬化技術(shù)。但又與VMware公司的ESX Server不同,在Lguest創(chuàng)建的虛擬機(jī)里的操作系統(tǒng)知道自己是被虛擬出來(lái)的。所以在調(diào)用CPU周期時(shí)它可以直接向真正的硬件發(fā)出請(qǐng)求,而不是作為中間媒介而降低了效率,因此這種架構(gòu)大大提高了效率。

          2 實(shí)時(shí)操作

          Linux在實(shí)時(shí)操作上獲得了長(zhǎng)足的提升,因?yàn)楝F(xiàn)在它常常被用作手機(jī)和其它設(shè)備上的嵌入式系統(tǒng)。但最近發(fā)布的2.6.23內(nèi)核顯示它在實(shí)時(shí)操作上“稍有退步”,商業(yè)嵌入式Linux廠商MontaVista 的首席技術(shù)長(zhǎng)官(CTO)和創(chuàng)始人吉姆•瑞爾迪(Jim Ready)抱怨說(shuō)。這個(gè)新的進(jìn)程調(diào)度器更強(qiáng)調(diào)“公平”——這意味著要由最終用戶(hù)告訴處理器哪些待處理的任務(wù)可以獲得更高的優(yōu)先級(jí)。

          “實(shí)時(shí)用戶(hù)不需要公平,”瑞爾迪認(rèn)為,因?yàn)閷?shí)時(shí)要求無(wú)論CPU在做什么,都可以插入一個(gè)新的優(yōu)先級(jí)以中斷操作。一個(gè)簡(jiǎn)單的例子是,在醫(yī)療設(shè)備里監(jiān)控病人呼吸的軟件在發(fā)現(xiàn)病人呼吸停頓時(shí),能發(fā)送一個(gè)即時(shí)警告,軟件無(wú)論在處理什么任務(wù)都要先中斷停下來(lái)。瑞爾迪表示,除非實(shí)時(shí)性能有改善,否則MontaVista不會(huì)把新的內(nèi)核整合到自己的產(chǎn)品中來(lái)。Gartner分析師喬治•維斯(George Weiss)預(yù)測(cè)標(biāo)準(zhǔn)版的Linux要到2008年才能成為有競(jìng)爭(zhēng)力的實(shí)時(shí)系統(tǒng)

          3 中斷處理

          維斯那樣說(shuō)其中一個(gè)原因是因?yàn)閮?nèi)核開(kāi)發(fā)人員正致力于使進(jìn)程調(diào)度器具有實(shí)時(shí)功能。操作系統(tǒng)的關(guān)鍵環(huán)節(jié)是中斷的管理——它決定了哪些任務(wù)能獲得CPU的處理權(quán),如何排列不同行為之間的優(yōu)先級(jí)。如果所有的中斷處理器都可以被結(jié)合到自己的線程中去,那個(gè)線程就可以被調(diào)度并設(shè)置優(yōu)先級(jí),而不是無(wú)法預(yù)知地運(yùn)行和延遲的實(shí)時(shí)響應(yīng)。

          過(guò)去三年來(lái)這樣的努力一直沒(méi)有停歇過(guò)。MontaVista的斯文•托斯滕•迪特里奇(Sven-Thorsten Dietrich)在2004年就提交了代碼,希望防止中斷處理程序?yàn)榱顺R?guī)任務(wù)而中斷內(nèi)核,因?yàn)樗鼈兏蓴_了實(shí)時(shí)響應(yīng)。但這些代碼的破壞性太大,以致無(wú)法獲得內(nèi)核調(diào)度領(lǐng)域的專(zhuān)家Ingo Molnar的認(rèn)可。這些代碼影響了一個(gè)關(guān)鍵內(nèi)核功能自旋鎖(spinlock),當(dāng)進(jìn)程在等待需要的數(shù)據(jù)或事件時(shí),它可以鎖定CPU。許多進(jìn)程依賴(lài)于自旋鎖。Dietrich的代碼把幾百個(gè)自旋鎖減少到30個(gè);Molnar的修訂保留了90個(gè)自旋鎖,比前者破壞性要來(lái)得少些。

          把中斷處理器集合到一個(gè)統(tǒng)一的獨(dú)立線程的想法看來(lái)已開(kāi)始成熟并準(zhǔn)備進(jìn)入內(nèi)核了。“Ingo替換了我們的做法,但他做得很棒,” 瑞爾迪說(shuō)道。MontaVista并不在乎自己的努力是否能獲得更多的榮譽(yù),瑞爾迪理解這就是開(kāi)源合作的方式,因此他接受正在進(jìn)入內(nèi)核的實(shí)時(shí)功能的修改。

          4 安 全

          人人都希望有個(gè)更安全的系統(tǒng)。Novell在發(fā)布SUSE Linux Enterprise Server 10的同時(shí)一起發(fā)布了AppArmor,它是一個(gè)限定應(yīng)用程序可以訪問(wèn)操作系統(tǒng)哪些資源的軟件,這樣可以限制應(yīng)用因非法授權(quán)訪問(wèn)而造成的危害。然而在近期內(nèi)它還不太可能會(huì)被加進(jìn)內(nèi)核。

          Linux安全的權(quán)威專(zhuān)家、另一套安全機(jī)制SELinux 的開(kāi)發(fā)人員斯蒂芬•斯瑪萊(Stephen Smalley)則認(rèn)為AppArmor不能被加進(jìn)內(nèi)核是因?yàn)樗谋Wo(hù)機(jī)制是基于“路徑名稱(chēng)”的方式,它本質(zhì)上就是一個(gè)白名單設(shè)置,AppArmor只允許應(yīng)用程序訪問(wèn)在名單上的文件,所有其他的文件都不能訪問(wèn)了。根據(jù)去年喬納森•科貝特(Jonathan Corbet)的一份報(bào)告,斯瑪萊認(rèn)為一個(gè)狡猾的入侵者可以利用合法路徑名稱(chēng)而猜出其他的名字,制造不必要的暴露。

          內(nèi)核維護(hù)人員安德魯•莫頓同意是因?yàn)檫@種路徑名機(jī)造成AppArmor不能進(jìn)入內(nèi)核的根本原因。“我不是個(gè)安全程序員,”他說(shuō)。“我不知道可以怎樣解決這個(gè)問(wèn)題。”

          5 系統(tǒng)診斷

          Solaris可以使用DTrace工具檢測(cè)操作系統(tǒng)核心的運(yùn)行狀況,但Linux缺乏用戶(hù)界面友好的檢測(cè)工具。目前僅有的幾個(gè)工具之一是ptrace,該程序可以讓一個(gè)進(jìn)程跟蹤另一個(gè)進(jìn)程的行為。但ptrace使用起來(lái)非常笨拙并容易發(fā)生錯(cuò)誤,現(xiàn)在有了替代品utrace,它已經(jīng)進(jìn)入Morton的內(nèi)存管理代碼樹(shù),即將會(huì)被提交給李納斯•托沃茲。當(dāng)Utrace被一個(gè)程序執(zhí)行時(shí)它可以跟蹤該進(jìn)程的行為,卻沒(méi)有ptrace的那些問(wèn)題,但它仍然會(huì)導(dǎo)致內(nèi)核里的鎖問(wèn)題??曝愄仡A(yù)測(cè)在下一版本的內(nèi)核里仍然不可能包含該工具。

          6 文件系統(tǒng)

          Reiser4文件系統(tǒng)已被考慮額外增加到內(nèi)核里去,內(nèi)核現(xiàn)在已經(jīng)包含30多種文件系統(tǒng)。Reiser4是一個(gè)大型的文件管理系統(tǒng),根據(jù)漢斯•瑞塞爾(Hans Reiser)的文檔,它的優(yōu)勢(shì)在于只需要最少的磁盤(pán)空間,就能處理數(shù)量眾多的小文件。


          上一頁(yè) 1 2 下一頁(yè)

          關(guān)鍵詞:

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();