相關文章

Ef5c50919c905bb1ff0f0ea013937987 上週,一群Google人幹了件奇怪的事情:他們悄悄披露了一套新的作業系統。而且,從理論上來說,看起來這套系統跟Google自己的Android OS是有競爭關係的。

目前正在研發中的這套Open Source系統代號為 Fuchsia,可執行在一切東西上,下至輕量的嵌入式裝置(比如ATM和GPS單元),上至桌面電腦都可以支持。但跟Android不一樣的是,Fuchsia並不是基於Linux,也不是衍生自任何構成個人電腦和通信基礎的其他軟體工具。相反,這是一次從零開始的嘗試。

Fuchsia還處在早期研發階段,至於這個系統打算怎麼用,Google還沒有放出任何重大公告,這只是一次實驗的可能性也是存在的。儘管如此,Google仍然有大量理由來重置幾十年的軟體工具史。

 

現有系統內部核心都很老

這個東西跟你的手機、平板和筆電都有關,但你可能還意識不到:目前大多數採用的軟體工具「內核(內部核心)」都相當老。

Android使用的是Linux內核,是在 1991年開始研發的。Mac OS X、iOS等蘋果平台是以Unix為基礎的,後者源自1969年的貝爾實驗室。Windows電腦的 Windows NT內核要追溯回1993年。

內核的目的是管理作業系統的最底層。它處理鍵盤等硬體裝置的請求,進行任務調度,並管理文件檔案和內部記憶體。為此,它要對作業系統的紛繁複雜之處進行管理,比方說可以讓開發者不必知道具體列印機型號的情況下進行列印。

對於一個痴迷於最新技術的行業來說,像Unix、Linux以及Windows NT等老內核的彈性似乎有點矛盾。但分析師Horace Dediu認為,從最底層水平來看,電腦基本上跟幾十年前是一樣的。比方說,今天的Windows電腦使用的晶片就是第一款IBM PC的英特爾處理器的直接後代。從這個意義上來說,內核只不過是件商品罷了。

「我們仍然使用一模一樣的架構,仍然使用一模一樣的電腦概念,並沒有做一個更好的內核的必要,」 Dediu說:「內核的問題已經解決了。」

我們大概也這麼想吧。這段時間以來我們把傳感器和計算能力打包進更多的東西里面,比方說,把日常家庭變成了智慧家庭,並且通常把一切都連接得更加緊密(物聯網)。

Fuchsia背後的想法也許是認為,像Linux那樣老化的內核已經不足以應對這波新裝置了。同樣,創造者也在替現代設想一個新的內核。 (內核本身叫做Magenta,基於Google最近的另一個實驗計畫LittleKernel)

Zach Supalla的公司Particle為物聯網提供硬體工具包和開發者工具。他指出,對於這些小規模運算裝置來說,Linux存在若干問題。

一是Linux對於這類應用來說體積太大了。即便Linux內核是模組化的,能夠讓開發者剔除不必要的部分,但最終仍會佔據好幾兆的空間。這意味著更難以把Linux內核塞進廉價的微控制器裡面,從而讓他們必須選擇處理器,而後者往往大得多、貴得多且更耗電。

「全新的供應鏈這道鴻溝還沒有跨越,這對製造者提出了更高的品質要求,而且成本還得低很多,」 Supalla說。

另一個問題是Linux並不是「即時」的。跟ATM、醫療產品等單用途裝置採用的嵌入式系統不同,Linux利用調度機制來處理大批任務。儘管這可以極大發揮電腦的性能,但也會導致需要精確定時的裝置,比如說3D列印機或者汽車內部的許多電動控制系統出現問題。

「要想確保這玩意兒在確切的微秒時刻執行,你不會希望有個幕後的管理者在那裡決定什麼時候跑什麼東西,」 Supalla說。

Supalla說,對於物聯網應用來說,像Linux這樣的操作系統的安全性可能也會更低。其程式碼量更大,這意味著可能存在更多的安全漏洞需要處理或者透過防火牆或VPN鎖定。

「執行即時系統或者嵌入式系統的價值之一在於,這些系統無需鎖定任何東西,」 Supalla說:「它不需要執行一批你需要考慮的東西。除了你寫的軟體工具以外它不會執行任何東西。」

Supalla的推斷是,Fuchsia是集兩家之大成的一次嘗試,在讓應用程式和硬體透過系統進行通信方面Linux仍然處理得更好,而當今的一些嵌入式操作系統,比如FreeRTOS和ThreadX就沒有前面提到的Linux的那些問題。

「他們可能既想要有Linux那種水平管理方式,又想獲得RTOS的那種性能、小規模以及即時性,」 Supalla說:「這些都是非常有價值的東西,而且我認為從理論上來說是可以實現的。只是之前沒做過而已。」

 

縱向擴展

如果Fuschia的目標只是小規模裝置的話,可能就沒那麼值得關注了。但是Fuschia的開發者野心要比這大,他們宣稱該系統可應用到智慧手機和桌上型電腦上。理論上,這會使得Fuschia成為Google的Android和Chrome OS的直接替代方案。

為什麼要這麼做呢?據Supalla說,可能從頭開始能夠做出一個更高效率的作業系統,這反過來又能支援更高效的伺服器——對此Google一直都很感興趣。他還指出電腦的相容性還可以模擬一次執行大量更小的裝置,從而確保規模化執行。

「讓一千台服務器每次都同時跑同樣的軟體工具,要比去實際對一百萬片晶片跑起來更容易,所以這對測試更好。」 Supalla說。

Dediu的理論不一樣:一套新的作業系統可以讓Google遠離Android遭遇的知識產權授權問題。「因為這是一張白紙式的設計,不會碰到有人去找IP(知識產權)方面的麻煩,」他說:「這也許是一個合理的假設,因為Linux的確有一些棘手的IP問題。」

要記住的是,這也可能就是學術性的。Fuchsia的開發者說他們會完整記錄並最終發佈這套系統,但要走的路還很長,而且還不清楚Google會不會給 予其充分的支持。

Android生態體系已經很龐大(並且正在跟Chromebooks進行合併)。與此同時,Google還在擴展Android的某個版本到物聯網裝置,這個帶嵌入式特性的版本叫做Brillo,正在成為一個成熟的平台,而不僅僅是一個簡單的作業系統。

還有,Unix開始只是一個開發者計畫,並未得到貝爾實驗室的承認;Linux Torvalds做Linux也只是自己的愛好。也許幾十年後,我們會討論起 Fuchsia 當初在 Google 內部不太被重視的事情。

 

使用 Facebook 留言

發表回應

謹慎發言,尊重彼此。按此展開留言規則