作者:Greg Kroah-Hartman 在Linux2.6.33發(fā)布并且刪除了Andriod內(nèi)核代碼之后,很多人問我到底發(fā)生了什么,以及接下來我們會(huì)如何對(duì)待Andriod,下面我以我的理解談一談這整件事。 首先我得說我很喜歡Andriod平臺(tái),我一直都在使用G1,直到上周每一天都在用。它對(duì)我還有像我一樣的使用者都很好用,我對(duì)此感到很高興。 從技術(shù)角度來說我也感到很高興,Google選用Linux內(nèi)核并在此基礎(chǔ)上創(chuàng)建一個(gè)跟傳統(tǒng)linux系統(tǒng)完全不同的手機(jī)操作平臺(tái)是一件很讓人吃驚的一件事,同時(shí)你還可以在Andriod設(shè)備上直接運(yùn)行“真正的”Linux系統(tǒng),并且它同Andriod系統(tǒng)都能在無需做出什么改變的情況下良好運(yùn)行。 Andriod同時(shí)解決了手機(jī)制造商多年以來就不得不面對(duì)的一個(gè)問題,即一個(gè)免費(fèi)版本的Java和一個(gè)統(tǒng)一的程序運(yùn)行平臺(tái),在這個(gè)平臺(tái)上程序員可以寫出在其他任何支持Java的系統(tǒng)都能運(yùn)行的程序,因?yàn)檫@所有現(xiàn)存的“Linux手機(jī)聯(lián)盟”都將面臨這瓦解的境地,大概再過不久它們就會(huì)悄無聲息的關(guān)上大門,假如它們還有門可以關(guān)。 發(fā)生了什么? 那么到底是什么導(dǎo)致Andriod內(nèi)核代碼被排出Linux內(nèi)核之外?簡單的說,就是因?yàn)闆]人關(guān)心代碼,所以它才會(huì)被排出Linux內(nèi)核。就像我早先聲明的那樣,在架構(gòu)樹上的所有代碼都應(yīng)該和主分支內(nèi)核相容,否則它就會(huì)被排除,但是這里有一個(gè)更大的問題是,Andriod不僅僅只是在/drivers /staging/andriod目錄里多出一些“怪異的”驅(qū)動(dòng)程序,假如你想要運(yùn)行Andriod,你就必須先了解Google在安全模塊中新寫出來的鎖類型,當(dāng)然還有鉤子類型。為了使你寫出來的驅(qū)動(dòng)程序能在Andriod中使用,你得把它恰當(dāng)?shù)耐@個(gè)鎖相容和,你有時(shí)甚至還要考慮這整個(gè)“怪異的”安全模塊,天呀,這可是同Linux系統(tǒng)完全不同的驅(qū)動(dòng)架構(gòu)。 因?yàn)檫@些驅(qū)動(dòng)只能使用在Google的內(nèi)核樹上,這就意味著為所有為Andriod硬件平臺(tái)編寫出來的驅(qū)動(dòng)都不可能進(jìn)入主內(nèi)核樹,正因?yàn)檫@,Google現(xiàn)在開始阻止這些硬件和驅(qū)動(dòng)代碼進(jìn)入Linux主驅(qū)動(dòng)樹,并且積極地建立一個(gè)很多計(jì)算機(jī)銷售商都依賴的內(nèi)核分支。 現(xiàn)在Linux發(fā)行版內(nèi)核源代碼樹的分支都被維護(hù)地很好,但假如任事態(tài)發(fā)展的話,事情也許會(huì)變得很糟糕,因?yàn)镚oogle沒有使其代碼進(jìn)入主內(nèi)核,這些編寫驅(qū)動(dòng)和平臺(tái)代碼的公司都被排除在外而不能為內(nèi)核社區(qū)做出貢獻(xiàn)。內(nèi)核社區(qū)幾年以來一直都在試圖說服這些公司把它們的代碼加入內(nèi)核,這樣它們就可以使用安全更新,并自動(dòng)處理應(yīng)用程序接口的問題,這些公司聽從了他們的建議,你可以看到越來越多的大公司出現(xiàn)在在每個(gè)內(nèi)核版本里,可現(xiàn)在這個(gè)進(jìn)程因?yàn)镚oogle停滯下來了,因?yàn)锳ndriod的周邊公司不能回報(bào)上游Linux內(nèi)核,這就導(dǎo)致了這些公司需要在維護(hù)花費(fèi)更多的資源同時(shí)增加了開發(fā)周期。 為使Andriod融入內(nèi)核需要做些什么? 在早前Andriod加入架構(gòu)樹的時(shí)候,很多內(nèi)核開發(fā)者檢查了Andriod代碼,并且指出了為了能被接受應(yīng)該清理和改變的地方,這些改變很多影響到了 Andriod內(nèi)核和用戶空間邊界,同時(shí)如果Andriod內(nèi)核發(fā)生變動(dòng),Andriod用戶空間邏輯也需要做出相應(yīng)改變,所以就不要指望Google員工去做這件事了。 那么,該怎么辦? 我真的不知道該怎么辦,Google再也沒有表現(xiàn)出希望把它的代碼加入上游的打算,一些公司試圖把它們的代碼加入上游,可是那樣需要去做更大的工程工作,是一種本來根本就不必要的痛苦。 冀望 我真地希望Google能夠修改Andriod代碼庫,使其重回Linux的懷抱,并停止它所造成的同很多嵌入式Linux硬件公司的隔閡,我曾私下里幫助完成這個(gè)工作,而現(xiàn)在預(yù)備公開地再做一次,但是為了達(dá)到這點(diǎn)我需要來自Google開發(fā)者的幫助,沒有他們,一切都不會(huì)改善。 好消息是似乎所有對(duì)內(nèi)核/用戶空間應(yīng)用程序接口的改變都不會(huì)影響在堆棧以上的Andriod代碼(比如應(yīng)用程序),所以這項(xiàng)工作的實(shí)施不會(huì)影響到整個(gè)系統(tǒng)。 我會(huì)在CE Linux Forum 2010 conference上發(fā)表一個(gè)演講,希望在那之前事情有所改觀,要知道這個(gè)年會(huì)可是有對(duì)其參與者所做的壞事進(jìn)行叫喊的傳統(tǒng)的。 |
我早就知道google想把linux換個(gè)名自己獨(dú)吞...... md |
Google正在做當(dāng)年微軟的做法 |
![]() |
改頭換面,就是一種新的操作系統(tǒng)。 md........... |
google也不是什么好鳥。 |
google有這個(gè)實(shí)力領(lǐng)導(dǎo)android分支獨(dú)立發(fā)展, 可還是希望它能和主干相容, 否則linux的一些進(jìn)展就享受不到了 , 難以割舍啊 ~ |
guanzhu zhong ... |