谷歌為何要從頭開發(fā)一套新的操作系統(tǒng)Fuchsia?
- 來源:36Kr
- 作者:skylark
- 編輯:豆角
上周,一群Google人干了件奇怪的事情:他們悄悄披露了一套新的操作系統(tǒng),從理論上來說,這套系統(tǒng)跟Google自己的Android OS是有競爭關(guān)系的。
目前正在研發(fā)中的這套開源操作系統(tǒng)代號為Fuchsia,可運(yùn)行在一切東西上,下至輕量的單用途的設(shè)備(比如ATM和GPS單元),上至桌面計(jì)算機(jī)都可以支持。但跟Android不一樣的是,Fuchsia并不是基于Linux,也不是衍生自任何構(gòu)成個(gè)人計(jì)算和通信基礎(chǔ)的其他軟件。相反,這是一次從零開始的嘗試。
Fuchsia還處在早期研發(fā)階段,至于這個(gè)系統(tǒng)打算怎么用,Google還沒有放出任何重大公告,這只是一次實(shí)驗(yàn)的可能性也是存在的。盡管如此,Google仍然有大量理由來重置幾十年的軟件史。
執(zhí)拗的內(nèi)核
這個(gè)東西跟你的手機(jī)、平板和筆記本都有關(guān),但你可能還意識不到:它們大多數(shù)采用的軟件“內(nèi)核”都相當(dāng)老。Android使用的Linux內(nèi)核,是在1991年開始研發(fā)的。Mac OS X、iOS等蘋果平臺是以Unix為基礎(chǔ)的,后者源自1969年的貝爾實(shí)驗(yàn)室。Windows計(jì)算機(jī)基于的Windows NT內(nèi)核要追溯回1993年。
內(nèi)核的目的是管理操作系統(tǒng)的最底層。它處理鍵盤等硬件設(shè)備的請求,進(jìn)行任務(wù)調(diào)度,并管理文件和內(nèi)存。為此,它要對操作系統(tǒng)的紛繁復(fù)雜之處進(jìn)行抽象,而這是有幫助的,比方說可以讓開發(fā)者不必知道具體打印機(jī)型號的情況下進(jìn)行打印。
對于一個(gè)癡迷于最新技術(shù)的行業(yè)來說,像Unix、Linux以及Windows NT等老內(nèi)核的彈性似乎有點(diǎn)矛盾。但行業(yè)分析師Horace Dediu認(rèn)為,從最底層水平來看,計(jì)算基本上跟幾十年前是一樣的。比方說,今天的Windows計(jì)算機(jī)使用的芯片就是第一款I(lǐng)BM PC的英特爾處理器的直接后代。從這個(gè)意義上來說,內(nèi)核只不過是件商品罷了。
“我們?nèi)匀皇褂靡荒R粯拥募軜?gòu),仍然使用一模一樣的計(jì)算概念——寄存器、門電路、晶體管——出于這個(gè)原因,并沒有做一個(gè)更好的內(nèi)核的必要,”Dediu說:“內(nèi)核的問題已經(jīng)解決了。”
我們大概也這么想吧。這段時(shí)間以來我們把傳感器和計(jì)算能力打包進(jìn)更多的東西里面,比方說,把日常家庭變成了智能家庭,并且通常把一切都連接得更加緊密(行話叫做物聯(lián)網(wǎng))。Fuchsia背后的想法也許是認(rèn)為,像Linux那樣老化的內(nèi)核已經(jīng)不足以應(yīng)對這波新設(shè)備了。同樣,創(chuàng)造者也在替現(xiàn)代設(shè)想一個(gè)新的內(nèi)核。(內(nèi)核本身叫做Magenta,基于Google最近的另一個(gè)實(shí)驗(yàn)項(xiàng)目LittleKernel)
Zach Supalla的公司Particle為物聯(lián)網(wǎng)提供硬件工具包和開發(fā)者工具。他指出,對于這些小規(guī)模計(jì)算設(shè)備來說,Linux存在若干問題。
一是Linux對于這類應(yīng)用來說太大了。即便Linux內(nèi)核是模塊化的,能夠讓開發(fā)者剔除不必要的部分,但最終仍會占據(jù)好幾兆的空間。這意味著更難以把Linux內(nèi)核塞進(jìn)廉價(jià)的微控制器里面,從而讓處理器成為必須,而后者往往大得多、貴得多且更耗能。
“全新的供應(yīng)鏈這道鴻溝還沒有跨越,這對制造提出了更高的品質(zhì)要求,而且成本還得低很多,” Supalla說。
另一個(gè)問題是Linux并不是“實(shí)時(shí)”的。跟ATM、醫(yī)療產(chǎn)品等單用途設(shè)備采用的嵌入式系統(tǒng)不同,Linux利用調(diào)度機(jī)制來處理大批任務(wù)。盡管這可以極大發(fā)揮通用計(jì)算機(jī)的性能,但也會導(dǎo)致需要精確定時(shí)的設(shè)備,比如說3D打印機(jī)或者汽車內(nèi)部的許多電動控制系統(tǒng)出現(xiàn)問題。
“要想確保這玩意兒在確切的微秒時(shí)刻運(yùn)行,你不會希望有個(gè)進(jìn)程在那里決定什么時(shí)候跑什么東西,” Supalla說。
Supalla說,對于物聯(lián)網(wǎng)應(yīng)用來說,像Linux這樣的通用操作系統(tǒng)的安全性可能也會更低。其代碼量更大,這意味著可能存在更多的安全漏洞需要處理或者通過防火墻或VPN鎖定。
“運(yùn)行實(shí)時(shí)操作系統(tǒng)或者嵌入式系統(tǒng)的價(jià)值之一在于,這些系統(tǒng)無需鎖定任何東西,” Supalla說:“它不需要運(yùn)行一批你需要考慮的東西。除了你寫的軟件以外它不會運(yùn)行任何東西。”
Supalla的推斷是,F(xiàn)uchsia是集兩家之大成的一次嘗試,在讓應(yīng)用和硬件通過操作系統(tǒng)進(jìn)行通信方面Linux仍然處理得更好,而當(dāng)今的一些嵌入式操作系統(tǒng),比如FreeRTOS和ThreadX就沒有前面提到的Linux的那些問題。
“他們可能既想要有Linux那種水平的抽象,又想獲得RTOS的那種性能、小規(guī)模以及實(shí)時(shí)性,” Supalla說:“這些都是非常有價(jià)值的東西,而且我認(rèn)為從理論上來說是可以實(shí)現(xiàn)的。只是之前沒做過而已。”
縱向擴(kuò)展
如果Fuschia的目標(biāo)只是小規(guī)模設(shè)備的話,可能就沒那么值得關(guān)注了。但是Fuschia的開發(fā)者野心要比這大,他們宣稱該操作系統(tǒng)可擴(kuò)展到智能手機(jī)和桌面計(jì)算機(jī)上。理論上,這會使得Fuschia成為Google的Android和Chrome OS的直接替代方案。
為什么要這么做呢?據(jù)Supalla說,可能從頭開始能夠做出一個(gè)更高效的操作系統(tǒng),這反過來又能支持更高效的服務(wù)器——對此Google一直都很感興趣。他還指出桌面兼容性還可以模擬一次運(yùn)行大量更小的設(shè)備,從而確保規(guī)?;\(yùn)行。
“讓一千臺服務(wù)器每次都同時(shí)跑同樣的軟件應(yīng)用,要比折騰一百萬芯片跑起來更容易,所以這對測試更好。” Supalla說。
Dediu的理論不一樣:一套新的操作系統(tǒng)可以讓Google遠(yuǎn)離Android遭遇的知識產(chǎn)權(quán)授權(quán)問題。“因?yàn)檫@是一張白紙式的設(shè)計(jì),不會碰到有人去找IP(知識產(chǎn)權(quán))方面的麻煩,”他說:“這也許是一個(gè)合理的假設(shè),因?yàn)長inux的確有一些棘手的IP問題。”
要記住的是,這也可能就是學(xué)術(shù)性的。Fuchsia的開發(fā)者說他們會完整記錄并最終發(fā)布這套操作系統(tǒng),但要走的路還很長,而且還不清楚Google會不會給予其充分的支持。Android生態(tài)體系已經(jīng)很龐大(并且正在跟Chromebooks進(jìn)行合并)。與此同時(shí),Google還在擴(kuò)展Android的某個(gè)版本到物聯(lián)網(wǎng)設(shè)備,這個(gè)帶嵌入式特性的版本叫做Brillo——Linux的缺點(diǎn)見鬼去吧,它正在成為一個(gè)成熟的平臺,而不僅僅是一個(gè)簡單的操作系統(tǒng)。
還有,Unix開始只是一個(gè)志愿者項(xiàng)目,并未得到貝爾實(shí)驗(yàn)室的承認(rèn);Linux Torvalds做Linux也只是自己的愛好。也許幾十年后,我們會討論起 Fuchsia 當(dāng)初在 Google 內(nèi)部不太被重視的事情。
玩家點(diǎn)評 (0人參與,0條評論)
熱門評論
全部評論