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

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

開源社區(qū)正在挑戰(zhàn)Linux內(nèi)核開發(fā)的極限速度

2024-08-27 23:55:45
字體:
供稿:網(wǎng)友
  開源社區(qū)正以極快的速度向Linux內(nèi)核中添加新功能,同時又在努力讓修補(bǔ)bug的步伐跟上去。放慢開發(fā)速度看上去是不太可能的……
 
  Linux內(nèi)核的最新版本已于本月發(fā)布,它展現(xiàn)了一系列令人眼花繚亂的變化。2.6.23版內(nèi)核的發(fā)布距離上一次內(nèi)核更新只有三個月,它添加了適合商用的新功能,包括對虛擬化技術(shù)更好的支持、對極其重要的調(diào)度器(scheduler)的更新以及新的設(shè)備驅(qū)動程序和bug補(bǔ)丁。
 
  每隔兩三個月就能從Linux Torvalds負(fù)責(zé)維護(hù)的“代碼樹”上看到大量的變化,這顯示出Linux內(nèi)核的開發(fā)速度在不斷加快。到目前為止,這個開發(fā)過程產(chǎn)生了不可否認(rèn)的高質(zhì)量可靠代碼。
 
  但你也許沒想到,Torvalds正在把開源開發(fā)的速度推向新的極限。隨著Linux內(nèi)核的規(guī)模和復(fù)雜度不斷增大,這種快速迭代的更新對負(fù)責(zé)測試和修改bug的志愿者社區(qū)帶來了極大壓力。
 
  Linux平均每天增加2000行代碼,盡管Trovalds的目標(biāo)是限制加入內(nèi)核的代碼數(shù)量,以便讓它盡可能高效。Linux的模塊化內(nèi)核是這個操作系統(tǒng)的核心,負(fù)責(zé)處理所有的通用任務(wù),例如內(nèi)存管理、CPU調(diào)度請求和輸入輸出。它的周圍是數(shù)百個附加軟件包,用來完成更具體的任務(wù),例如在 Linux和Windows系統(tǒng)之間傳輸文件,或是對文件進(jìn)行配置以便通過Apache Web服務(wù)器顯示出來。但是內(nèi)核必須不斷發(fā)展,以便處理更多的功能和硬件,滿足更多用戶的需求。Linux在1991年剛誕生時只是操作系統(tǒng)愛好者寫出的 10250行代碼,目前的代碼則超過了八百萬行。
 
  有人認(rèn)為,Linux內(nèi)核平均每小時增加86行代碼的速度正在超越軟件開發(fā)的極限。Linux的一位關(guān)鍵維護(hù)者Alan Cox已經(jīng)警告說,一些設(shè)備驅(qū)動程序的修改在加入內(nèi)核之前應(yīng)該經(jīng)過更多的測試。Andrew Morton是一位杰出的Linux開發(fā)人員,在被Torvalds任命為Linux內(nèi)核的負(fù)責(zé)人之后有了“內(nèi)核上校”的綽號。他對Linux未經(jīng)修改的 bug問題也發(fā)表了坦率的看法。“我希望開發(fā)者能用更多的時間去修補(bǔ)bug,而用更少的時間去添加新功能,”Morton說,“這是我的個人意見”。
 
  然而在最近于英國劍橋舉辦的Linux內(nèi)核峰會上,Torvalds說自己在過去犯了過于謹(jǐn)慎的錯誤。他認(rèn)為緩慢的內(nèi)核發(fā)布將導(dǎo)致Linux的發(fā)展受阻,因?yàn)楦鞣N新功能都等著被添加到內(nèi)核中。如果沒有及時獲得內(nèi)核維護(hù)者和受信任的開發(fā)高手的反饋,社區(qū)的貢獻(xiàn)者們就會失去繼續(xù)提交代碼的興趣。 (Torvalds沒有對我們的采訪要求做出回應(yīng)。)
 
  在加快Linux內(nèi)核的開發(fā)速度上,Torvalds有些做過了頭。他依賴于一個基本的開源思想:相對于更有組織的軟件測試,大量用戶對頻繁發(fā)布的代碼進(jìn)行測試更有可能發(fā)現(xiàn)軟件的缺陷。添加到內(nèi)核中的新代碼一旦在某些硬件上無法運(yùn)行,或跟其它程序——不論是內(nèi)核中的還是內(nèi)核外的——發(fā)生沖突,就會導(dǎo)致Linux出錯。當(dāng)新代碼出現(xiàn)bug的時候,人們都指望當(dāng)初提交這些代碼的開發(fā)者去解決bug,但他們通常沒去解決。
 
  “在快速的開發(fā)過程與完備的代碼審閱之間,正在形成一種極其微妙的平衡,”Intel公司負(fù)責(zé)Linux和開源技術(shù)的主管Dirk Hohndel說。即使在目前這種飛快的開發(fā)進(jìn)度中,開發(fā)者想添加或用戶有需求的功能也不是樣樣都能加進(jìn)內(nèi)核。
 
  Linux的商業(yè)用戶對這個過程可能感到沮喪。對于歐洲的旅行服務(wù)商Amadeus公司來說,Linux是其減少IT基礎(chǔ)設(shè)施成本的戰(zhàn)略關(guān)鍵。該公司負(fù)責(zé)技術(shù)和戰(zhàn)略規(guī)劃的副總裁Fred Bessis說,通過淘汰大型機(jī)系統(tǒng),然后在“廉價的硬件”上運(yùn)行Linux,該公司減少了大約10%的設(shè)備開支。該公司采用Linux已有超過十年的經(jīng)驗(yàn),它了解Linux目前的狀況,也目睹了潛在有用的新功能通往Linux商業(yè)版本的漫長過程。
 
  Amadeus公司的高級系統(tǒng)程序員Holger Weisbrodt說,新的硬件和驅(qū)動很快就能在內(nèi)核中使用,但新的bug診斷和調(diào)試工具“需要很長時間才能被加進(jìn)內(nèi)核”。他希望Linux內(nèi)核開發(fā)者能對常用的bug調(diào)試工具更加關(guān)注。
 
  Linux新版內(nèi)核的開發(fā)過程就展示了這種不可預(yù)測性,具體表現(xiàn)在它所包含的兩個新功能上:新的調(diào)度器和改善了的虛擬化支持。這兩個功能與內(nèi)核完全沿著不同的開發(fā)路線,分別都有自己的風(fēng)險和復(fù)雜性。
 
  快速發(fā)展的虛擬化技術(shù)
 
  與圍繞調(diào)度器所發(fā)生的長期爭論相比,Avi Kivity的經(jīng)歷就簡單多了。這位來自以色列的開發(fā)者提交了一個稱作KVM的虛擬化引擎,其中包含了12000行的龐大代碼包。代碼貢獻(xiàn)者在提交一個補(bǔ)丁的時候,如果能讓內(nèi)核開發(fā)人員和維護(hù)者知道自己的名字,會對自己更有利。但是“KVM的到來非常突然,”Morton說,“此前我從來沒有聽說過 Kivity本人或他的Qumranet公司”。
 
  Kivity把自己描述為內(nèi)核郵件列表上的“長期潛水員”,非常喜歡讀上面的內(nèi)容,也熟悉高手之間的攻擊和爭論,但自己并沒有提交過太多代碼。他按照自己領(lǐng)會到的Linux內(nèi)核標(biāo)準(zhǔn)去設(shè)計(jì)KVM,讓熟悉內(nèi)核文件系統(tǒng)的Linux高手們及時了解代碼的最新進(jìn)展,并及時答復(fù)內(nèi)核維護(hù)者提出的問題和評論。KVM滿足了Linux的一個重要需求,因?yàn)殡S著虛擬化技術(shù)受到越來越多的關(guān)注,Linux內(nèi)核終于具有了相應(yīng)的功能,可以利用Intel和AMD公司的芯片提供的虛擬化接口。KVM還巧妙地利用了內(nèi)核調(diào)度器和內(nèi)存管理器,對操作系統(tǒng)中的其它模塊幾乎沒有影響。結(jié)果在去年秋天,KVM提交不到三個月就被加進(jìn)了Linux內(nèi)核。
 
  Morton說,添加的代碼如果來自一位不知名的開發(fā)者和一個剛創(chuàng)立的公司,就會帶來一定的風(fēng)險,因?yàn)閮烧叨伎赡芟ВM(jìn)而導(dǎo)致沒人對這些代碼非常熟悉。但考慮到這些代碼的獨(dú)立性,即使它們的開發(fā)被終止,其它開發(fā)者也能很方便地把它們從內(nèi)核中移除。
 
  即使像KVM這樣的代碼被放進(jìn)了內(nèi)核,它們要想被添加到紅帽企業(yè)級Linux和SUSE企業(yè)服務(wù)器這兩個最主要的企業(yè)版Linux,也要延后一兩年時間。(像紅帽的Fedora和Novell的OpenSUSE這類“社區(qū)發(fā)行版”,其內(nèi)核就更新得比較快。)這主要是為了進(jìn)行廣泛的測試和為技術(shù)支持做準(zhǔn)備。許多企業(yè)級用戶都對企業(yè)版Linux的穩(wěn)定性感到滿意,而不愿意使用功能最多的最新內(nèi)核。
 
  不論如何,Linux在各種操作系統(tǒng)的競爭中跑在了前列,因?yàn)橛幸淮笈_發(fā)者正把各種新功能加進(jìn)內(nèi)核。這些代碼貢獻(xiàn)者可能是為了獲取名聲或滿足好奇,有時則是為了得到薪水。在最近的28個月里,共有11個新內(nèi)核被發(fā)布,其中可以識別的個人貢獻(xiàn)者從479人增加到了838人。按照一般估計(jì),每個在代碼中留名的開發(fā)者平均獲得了大約三到四個人的幫助。這意味著大約有三千人參與了Linux內(nèi)核的每一次迭代更新。
 
  Linux的發(fā)展就是依賴于這個志愿者社區(qū),盡管內(nèi)核的維護(hù)者、也就是領(lǐng)導(dǎo)Linux各個子系統(tǒng)開發(fā)的高手們是由一些公司支付薪水,比如 Google、惠普、IBM、Novell和紅帽。正是因?yàn)榇嬖谶@個社區(qū),Morton才會說在開發(fā)速度和可靠性之間沒有一種“絕對的折衷”,因?yàn)橹挥凶屝鹿δ鼙M快加入內(nèi)核,才能在添加到商業(yè)發(fā)行版之前得到更好的測試。
 
  然而與來自商業(yè)公司的代碼相比,這樣的開發(fā)還是存在缺陷。“我不想把這種情況叫做‘不可預(yù)測’,但它確實(shí)無法保證一個交付日期,”Intel公司的Hohndel說,“因?yàn)長inux的代碼一旦編寫好就會被提交。”
 
  在接下來的兩到三個月內(nèi),Torvalds將發(fā)布2.6.24版內(nèi)核。這個版本包含的許多新功能是由數(shù)百名全新面孔的人員開發(fā)和測試的,他們沒有參與過這個月發(fā)布的2.6.23版內(nèi)核的開發(fā)。無法預(yù)知在新版本內(nèi)核的諸多功能中,最后有多少會加入經(jīng)過商業(yè)測試的Linux發(fā)行版。這實(shí)在不能算作人們通常所指的產(chǎn)品“路線圖”。但起碼到目前,這種開發(fā)方式還沒有駛向錯誤的方向。
 
 

(編輯:武林網(wǎng))

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 临武县| 上饶县| 怀仁县| 香港 | 柞水县| 怀宁县| 台中县| 宜昌市| 盐津县| 兴山县| 梁平县| 云安县| 墨江| 得荣县| 尖扎县| 崇州市| 泸溪县| 山阳县| 常德市| 池州市| 东乡| 柏乡县| 阆中市| 同德县| 离岛区| 土默特右旗| 旺苍县| 绵阳市| 赣州市| 清原| 东丰县| 德江县| 汝州市| 汉阴县| 太和县| 乐亭县| 缙云县| 英德市| 修武县| 临高县| 莱州市|