Google為什麼要從頭開發一套新的操作系統 Fuchsia ?

36氪 於 22/08/2016 發表 收藏文章
微信搜索“36氪”,獲取更多高質量內容.點擊進入36氪
編者按:鑑於傳統操作系統內核存在規模龐大、不夠實時、缺乏安全等問題,Google、華為等解決方案供應商認為,物聯網設備需要全新的操作系統。但是Fuchsia會像Unix和Linux一樣輝煌嗎?一切都有待觀察。

上週,一羣Google人幹了件奇怪的事情:他們悄悄披露了一套新的操作系統,從理論上來説,這套系統跟Google自己的Android OS是有競爭關係的。


目前正在研發中的這套開源操作系統代號為 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——Linux的缺點見鬼去吧,它正在成為一個成熟的平台,而不僅僅是一個簡單的操作系統。

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


微信搜索“36氪”,獲取更多高質量內容.點擊進入36氪


資料來源:36Kr

留言


請按此登錄後留言。未成為會員? 立即註冊
    快捷鍵:←
    快捷鍵:→