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