成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linux 3.0:內(nèi)核開發(fā)的模式與現(xiàn)狀

原創(chuàng)
系統(tǒng) Linux
2011年7月22日,Linus親自發(fā)布了Linux Kernel 3.0版本。雖然從內(nèi)核的更新內(nèi)容上跟普通的2.6.40沒什么兩樣,不過版本號的修改,無疑在Linux內(nèi)核20周年之際,被賦予了特殊的意義。本文中,我們將以Linux Kernel 3.0為例,介紹一下現(xiàn)在的Linux內(nèi)核是如何開發(fā)的。

【51CTO獨家特稿】2011年7月22日,Linus親自發(fā)布了Linux Kernel 3.0版本。雖然從內(nèi)核的更新內(nèi)容上跟普通的2.6.40沒什么兩樣,不過版本號的修改,無疑在Linux內(nèi)核20周年之際,被賦予了特殊的意義。

20年走來,Linux內(nèi)核早已不是一開始Linus單打獨斗開發(fā)的模式。各個Linux相關(guān)企業(yè)的開發(fā)者和很多單獨的、因為愛好而參與的開發(fā)者都被有序的組織在一起。

下面,我們將以Linux Kernel 3.0為例,介紹一下現(xiàn)在的Linux內(nèi)核是如何開發(fā)的。

主干負(fù)責(zé)人:Linus Torvalds

當(dāng)下,Linux內(nèi)核版本眾多,每個主版本都有一個專人負(fù)責(zé)維護(hù),叫做Maintainer。比如Kernel 2.6.32的負(fù)責(zé)人是Greg Kroah-Hartman(目前在Novell任職),Kernel 2.6.35的負(fù)責(zé)人是Andi Kleen(曾在Novell任職,目前在Intel開源技術(shù)中心)。而按照慣例,每一個***的主分支,都是由Linus本人進(jìn)行維護(hù)和發(fā)布。Linux 3.0也不例外。

Maintainer的主要工作是將其他開發(fā)者提供的代碼和補(bǔ)丁集成到一起,并在發(fā)布前測試修改各種bug。

其他分支負(fù)責(zé)人

其實Linux內(nèi)核的開發(fā)模式就是一個樹狀模式,使用過Git的開發(fā)者們應(yīng)該會比較了解。一般來說,開發(fā)者們?nèi)绻獙inux內(nèi)核做一些修改,那么他首先會在Git上將Linus的主干代碼復(fù)制一份,形成自己的分支。在Git系統(tǒng)上,每個開發(fā)者在建立的分支上進(jìn)行的每一個變更都有一個單獨的ID,當(dāng)開發(fā)者認(rèn)為自己進(jìn)行的變更沒有問題的時候,可以申請讓主要分支的負(fù)責(zé)人將自己的變更“拉”入其負(fù)責(zé)的分支當(dāng)中。

說到這里就要說一下Linux內(nèi)核目前的幾個分支。***的分支mainline里面包含***的特性,但是由于缺乏測試,并不建議在生產(chǎn)環(huán)境中使用;標(biāo)注stable的分支則是每一個之前發(fā)布的版本都有,進(jìn)入stable之后的版本只會進(jìn)行安全補(bǔ)丁和bug更新,不會再添加任何新特性。另外還有snapshot、linux-next等分支,里面包含了很多比較新的變更。大部分Linux發(fā)行版包含的內(nèi)核都是來自stable分支,而有些發(fā)行版則會在這些分支上進(jìn)行一些定制(比如紅帽和Debian),當(dāng)然也會有自己的負(fù)責(zé)人。

可以說,Linux內(nèi)核開發(fā)的分工模式就像一棵樹一樣,每一個開發(fā)者都有一條自己的分支,而且每一條分支都和主干有直接的聯(lián)系。

所以,Linux內(nèi)核的開發(fā)者社區(qū)其實是一個扁平的結(jié)構(gòu),除了幾條主干的負(fù)責(zé)人之外,其他上千開發(fā)者并沒有什么明確的分工,大家主要以“為Linux內(nèi)核貢獻(xiàn)了多少代碼”作為貢獻(xiàn)多少的判定——也就是說,你有多少代碼被接受并入了mainline或stable分支當(dāng)中,你就是更加重量級的開發(fā)者。無論你的代碼是關(guān)于CPU、顯卡、網(wǎng)卡、虛擬化還是別的什么,全部一視同仁(當(dāng)然,在主干維護(hù)者那里會有自己的優(yōu)先級)。

就Linux 3.0而言,在負(fù)責(zé)人Linus之下,開發(fā)者們以代碼貢獻(xiàn)情況的排名列表是:

Linux 3.0開發(fā)者們以代碼貢獻(xiàn)情況的排名列表
圖片來源

左側(cè)列表以提交變更的個數(shù)排名,右側(cè)列表以提交變更的代碼行數(shù)排名。簡單的介紹一下名單里部分開發(fā)者的背景:

K.Y.Srinivasan

目前就職微軟,貢獻(xiàn)的變更主要針對Hyper-V虛擬驅(qū)動。雖然總共提交的變更數(shù)高居榜首(343個),但更改的代碼數(shù)量只有11564行,因此在右側(cè)列表當(dāng)中排名靠后。

David Miller

目前就職紅帽,貢獻(xiàn)的變更主要針對網(wǎng)絡(luò)子系統(tǒng)。

Dan Williams

目前就職于紅帽,貢獻(xiàn)的變更主要針對英特爾isci存儲驅(qū)動,總共82466行代碼。

Jonathan Cameron

目前在英國劍橋大學(xué)從事研究,貢獻(xiàn)的變更主要針對工業(yè)化I/O(iio)子系統(tǒng)。

Takashi Iwai

目前就職于Novell SUSE部門,貢獻(xiàn)的變更主要針對ALSA聲卡驅(qū)動子系統(tǒng)。

Larry Finger

目前就職于Web托管網(wǎng)站Lwfinger.net,貢獻(xiàn)的變更主要在于精簡了rt2860sta和rt2870sta驅(qū)動的大量代碼。

Dmitry Kravkov

目前就職于Broadcom,貢獻(xiàn)的變更主要在于bnx2x驅(qū)動固件的更新。

Vasanthakumar Thiagarajan

目前就職于Atheros,貢獻(xiàn)的變更主要在于精簡了Atheros無線驅(qū)動的大量代碼。

Mauro Carvalho Chehab

目前就職于紅帽,貢獻(xiàn)的變更主要在于移除了古老的Micronas drx397xD驅(qū)動的代碼。

這樣一看,好像主要參與的開發(fā)者都來自Linux相關(guān)的公司;事實上也的確如此。在參與Linux 3.0開發(fā)的184名開發(fā)者當(dāng)中,大多數(shù)來自下面列表中的幾家公司:

參與Linux 3.0開發(fā)的企業(yè)
圖片來源) 

相比之前版本的開發(fā)者參與情況,微軟貢獻(xiàn)代碼數(shù)量攀升令很多人感到驚奇,不過考慮到Hyper-V應(yīng)該沒有那么多的變更需求,這種情況可能以后不會多見;來自非企業(yè)的開發(fā)者比重則在繼續(xù)減少。

好事還是壞事?

站在商業(yè)化社會的角度看來,更多的企業(yè)雇員因為工作相關(guān)的原因參與Linux內(nèi)核開發(fā)并非是一件壞事,這表示Linux內(nèi)核作為商品的價值和可持續(xù)性。

然而這樣的后果就是,主分支對于變更的傾向性會越來越嚴(yán)重。這一點可以從最近退出Linux內(nèi)核開發(fā)的愛好者Con Kolivas的專訪內(nèi)容看出來。

Con Kolivas是一個典型的Linux愛好者,其本職工作在醫(yī)院,和Linux開發(fā)沒有任何關(guān)系。根據(jù)Con Kolivas的描述,他因為一開始使用Linux桌面遇到很大的性能問題而參與到社區(qū)當(dāng)中,并開始自己學(xué)習(xí)內(nèi)核開發(fā);他編寫的很多補(bǔ)?。?biāo)注為ck的patch)都是針對Linux桌面性能優(yōu)化的,而且在Linux桌面用戶當(dāng)中有很多受眾;但是,這些補(bǔ)丁很少被并入到主分支當(dāng)中去,因為分支維護(hù)者總是說有其他更加緊急重要的補(bǔ)丁需要拉入。Con Kolivas感覺終端用戶在Linux內(nèi)核開發(fā)的社區(qū)里面根本不受到重視,最終由于這份失落感而決定退出。

從宏觀的角度來看,Linux的主要應(yīng)用領(lǐng)域在服務(wù)器,因此分支維護(hù)者將網(wǎng)絡(luò)、存儲、虛擬化驅(qū)動等補(bǔ)丁排在較高的優(yōu)先級自然是無可厚非。不過從Linux桌面的角度來看,這樣的發(fā)展方向無疑是很不利的,而發(fā)行版的開發(fā)者不得不自己想辦法解決終端用戶在桌面系統(tǒng)上的一些底層問題。

這就引申到了另一個方向:在Linux桌面領(lǐng)域,我們需要一個與Linux內(nèi)核領(lǐng)域不一樣的貢獻(xiàn)體系。在這條路上,已經(jīng)有先行者進(jìn)行了嘗試,具體情況請看下文分解——《跳出Linux內(nèi)核的圈子:看Ubuntu的另類之路》。

【編輯推薦】

  1. Linux桌面應(yīng)用的未來在哪里?(問題篇)
  2. Linux社區(qū)面面觀:Debian社區(qū)的那些事兒
  3. 首款3.0新內(nèi)核Linux發(fā)行版迅速誕生
  4. 微軟: Linux 第五大企業(yè)支持者
  5. 2010年度報告:是誰在編寫Linux內(nèi)核?
責(zé)任編輯:yangsai 來源: 51CTO.com
相關(guān)推薦

2018-12-27 10:56:04

Linux內(nèi)核現(xiàn)狀

2012-04-11 09:26:13

內(nèi)核Linux 開發(fā)

2017-03-27 18:05:49

Linux內(nèi)核編譯與開發(fā)

2009-12-14 14:43:50

Linux內(nèi)核

2011-02-21 09:10:42

WebHTML 5JavaScript

2009-07-07 09:25:08

Linux開發(fā)FOSS開發(fā)項目

2011-08-01 09:40:31

Linux 3.0 Fedora 15

2010-04-21 12:54:46

Unix內(nèi)核

2011-01-14 13:50:37

2018-11-13 12:52:50

Linux內(nèi)核棧回溯

2018-05-18 09:07:43

Linux內(nèi)核內(nèi)存

2017-01-05 14:28:43

Linux內(nèi)核代碼源碼

2011-07-28 09:38:49

Linux 3.0

2012-02-07 16:01:35

Linux內(nèi)核Android

2010-01-06 16:47:53

Linux內(nèi)核

2009-09-14 09:42:55

LinuxR600內(nèi)核

2011-01-20 09:41:49

Linux 2.6.3

2010-02-26 10:17:15

Linux uClin

2011-07-05 15:27:41

LinusLinux內(nèi)核

2010-01-12 18:05:56

Linux Redha
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 成人亚洲网站 | 狠狠干在线 | 中文字幕亚洲一区 | 日韩在线一区二区 | 久久精品国产亚洲 | 国产精品一卡二卡三卡 | 天天操天天干天天爽 | 中文字幕在线二区 | 国产精品久久久久久一区二区三区 | 成人午夜精品一区二区三区 | 国产.com| 欧美一级免费片 | 亚洲va在线va天堂va狼色在线 | 一级毛片观看 | 羞羞网站免费 | 国产精品视频免费播放 | 国产欧美一区二区三区在线看 | 日韩中文字幕一区 | 午夜久久久久久久久久一区二区 | 亚洲 中文 欧美 日韩 在线观看 | 99re6在线视频精品免费 | 日韩成人在线观看 | 成人在线视频免费观看 | 日韩在线观看精品 | 亚洲欧美男人天堂 | 国产aa| 综合中文字幕 | 久久大陆 | 91毛片在线看 | 日本黄色高清视频 | 久久精品国产99国产精品 | 亚洲精品白浆高清久久久久久 | 中文字幕av一区 | 亚洲一区二区三区四区五区午夜 | 国产亚洲一区在线 | 韩三级在线观看 | 日本视频中文字幕 | 孰女乱色一区二区三区 | 国产91亚洲精品一区二区三区 | 日韩一区二区三区在线观看 | 一区二区三区四区在线视频 |