上周,谷歌一個團隊做了一件很奇怪的事情:他們悄悄透露自己在構(gòu)建一個新的操作系統(tǒng),名叫Fuchsia。從理論上說,F(xiàn)uchsia是谷歌Android的競爭對手。
Fuchsia是一個正在開發(fā)中的開源操作系統(tǒng)。它可以在各種設(shè)備上運行,無論是單一用途的設(shè)備(比如自動取款機ATM和GPS單元),還是桌面電腦,都 是它的用武之地。但是,與Android不同的是,F(xiàn)uchsia并不是一個基于Linux的系統(tǒng),也沒有以其他支柱型軟件為基礎(chǔ)。它是從零開始構(gòu)建的。
Fuchsia仍處在構(gòu)建的早期階段,而且有可能是個實驗性項目。谷歌目前尚未提及它將如何使用Fuchsia。軟件發(fā)展已經(jīng)有數(shù)十年的歷史,為什么谷歌要從零開始構(gòu)建操作系統(tǒng)呢?它的理由有很多。
內(nèi)核的問題
對于你的手機、平板電腦和筆記本電腦,有一些事情可能你還不知道:大多數(shù)時候,它們使用的都是稍加改動過的古老軟件“內(nèi)核”。 Android使用Linux內(nèi)核是1991年開發(fā)的,Mac OS X、iOS和蘋果的其他平臺是基于Unix系統(tǒng)的,那是AT&T貝爾實驗室在1969年啟動的一個項目。Windows計算機則是基于Windows NT內(nèi)核,其歷史可追溯到1993年。
內(nèi)核的目的是管理操作系統(tǒng)最底層一些活動。它處理來自硬件設(shè)備(比如鍵盤)的請求、安排日程任務(wù),對文件和存儲器進行管理。在這個過程中,它對操作系統(tǒng)的復(fù)雜活動進行了抽象。這么做有很多好處,比如讓開發(fā)人員無需了解打印機的具體型號,就可以令app執(zhí)行打印操作。
Unix、Linux和Windows NT這樣的老式內(nèi)核一直在挑大梁,似乎與科技業(yè)一向求新求變的風(fēng)尚相矛盾,但行業(yè)分析師賀拉斯 德度(Horace Dediu)認為,從最底層的角度來看,計算基本上是相同的,和幾十年前區(qū)別不大。舉例來說,如今Windows計算機上使用的芯片,就是首臺IBMPC上英特爾處理器的嫡傳后裔。從這個意義上說,內(nèi)核不過是一種通用產(chǎn)品。
“我們使用的仍然是完全相同的架構(gòu),完全相同的計算方式——寄存器、邏輯門、晶體管——出于這個原因,我們沒有必要開發(fā)一個更好的內(nèi)核,”德度說。 “內(nèi)核我們已經(jīng)搞定了。”
可能是我們以為已經(jīng)搞定了?,F(xiàn)如今,我們正在把傳感器和計算能力塞進更多的設(shè)備里面,比如把普通住宅改裝為智能住宅,讓所有東西都能聯(lián)網(wǎng)(也就是物聯(lián)網(wǎng)) 的時候。谷歌之所以開發(fā)Fuchsia,可能是覺得Linux這樣的老式內(nèi)核不適用于這一代新的設(shè)備。因此他們想為新的世代研發(fā)出一個新的內(nèi)核。 (內(nèi)核本身被稱為Magenta,它以谷歌近期的另一個實驗性項目LittleKernel為基礎(chǔ))。
扎克 蘇帕拉(Zach Supalla)在硬件開發(fā)工具和物聯(lián)網(wǎng)服務(wù)提供商Particle公司工作。他指出,Linux用在小型計算設(shè)備上時有些問題。
首先,對于這類設(shè)備來說,Linux過于龐大了。盡管Linux內(nèi)核是模塊化的,開發(fā)者可以去除多余的部分,但它還是會占用大量空間。這意味著要把Linux內(nèi)核塞到一個價格便宜的微控制器里比較困難,你必須選用更大、價格更高,更加耗電的處理器。
“整個供應(yīng)鏈本來可以以遠遠更低的成本制造品質(zhì)更高的東西,”蘇帕拉說。
另一個問題是,Linux不是“實時”的。自動取款機、醫(yī)療產(chǎn)品和其他單一用途設(shè)備采用了嵌入式操作系統(tǒng),和它們不一樣的是,Linux是靠一個時間表來 處理多任務(wù)的。雖然這可以最大限度地發(fā)揮通用計算機的性能,但卻也會給那些需要精確定時的設(shè)備帶來麻煩。像3D打印機,汽車內(nèi)部的很多電動控制裝置等等, 都對精確定時有很高的要求。
“如果你想確保這些設(shè)備在某個微秒準時啟動,你真的不希望由一個進程來決定運行時間,”蘇帕拉說。
對于物聯(lián)網(wǎng)應(yīng)用來說,像Linux這種通用的操作系統(tǒng)可能會不太安全,蘇帕拉說。它的代碼更多,這也就意味著需要防范的漏洞也會更多,你必須使用防火墻或者VPN來解決或封堵這些安全漏洞。
“使用實時操作系統(tǒng)(嵌入式系統(tǒng))的優(yōu)點之一,就是不需要封堵任何東西,”蘇帕拉說。 “你不需要運行一堆你必須小心留神的東西。它只運行你寫的軟件,不會運行其他任何東西。”
但在軟硬件通信方面,Linux仍然有很大的優(yōu)勢。蘇帕拉認為,谷歌開發(fā)Fuchsia是希望把Linux和嵌入式系統(tǒng)這兩者的長處結(jié)合起來。當(dāng)今主流的嵌入式系統(tǒng)包括FreeRTOS和ThreadX等,
“他們可能想要開發(fā)一個抽象程度達到Linux水平,但性能、體量和實時性與RTOS相當(dāng)?shù)牟僮飨到y(tǒng),”蘇帕拉說。 “這樣的操作系統(tǒng)有很大的價值,我覺得從理論上說是可以辦到的。只是以前從來沒有人這么做過。”
擴展性問題
如果Fuschia針對的只是小型設(shè)備,它可能沒有那么引人矚目。但是Fuchsia的開發(fā)人員有更遠大的雄心,他們聲稱該操作系統(tǒng)可以擴展到智能手機和臺式電腦上。從理論上講,F(xiàn)uchsia可以直接替代谷歌的Android和Chrome OS。
谷歌為什么要這么做?蘇帕拉認為,從零開始或許可以構(gòu)建出更高效的操作系統(tǒng),從而獲得更高效的服務(wù)器——谷歌一向都對這方面很感興趣。他還指出,兼容臺式機有助于模擬大量小型設(shè)備同時運行,確保它們可以在大規(guī)模使用的時候正常運行。
“和開動一千臺服務(wù)器,每臺同時運行一千個同樣的程序相比,啟動一百萬個小型設(shè)備遠遠麻煩得多,不有利于開展測試,”蘇帕拉說。
德度的看法與蘇帕拉不同,他認為谷歌Android受到了知識產(chǎn)權(quán)方面的限制,而一個全新的操作系統(tǒng)則沒有這樣的問題。 “因為這是一個全新的設(shè)計,在知識產(chǎn)權(quán)方面它沒有任何麻煩,”他說。 “這可能是一個合理的假設(shè),因為Linux確實存在一些難纏的知識產(chǎn)權(quán)問題。”
別忘了,這可能純粹是個學(xué)術(shù)研究。Fuchsia的開發(fā)人員表示,最終他們會發(fā)布這個操作系統(tǒng),但可能還有很長的路要走,而且目前也不清楚谷歌是否會支持這個項目。 Android生態(tài)系統(tǒng)已經(jīng)是十分龐大(而且正在開始和Chromebook合并)。而且谷歌還在開發(fā)一個嵌入式的輕量級物聯(lián)網(wǎng)操作系統(tǒng)Brillo,它是Android的一個簡化版本——Brillo正在形成一個成熟的平臺,而不僅僅是一個基礎(chǔ)性的操作系統(tǒng)。
話又說回來,Unix最開始也是一個志愿性項目,并沒有貝爾實驗室的正式立項,而林納斯 托瓦茲最初開發(fā)Linux的時候也只是把它當(dāng)作業(yè)余愛好。也許幾十年后,當(dāng)我們談到Fuchsia的時候,也會說到它在谷歌的誕生有多么不可思議。
分享到微信 ×
打開微信,點擊底部的“發(fā)現(xiàn)”,
使用“掃一掃”即可將網(wǎng)頁分享至朋友圈。