導語:《快公司》雜誌周末刊文稱,谷歌近期宣布正開發一款全新的作業系統Fuchsia。那麼,在Android系統早已發展壯大的情況下,谷歌為何要從頭開始開發又一款作業系統?
本文引用地址:http://www.eepw.com.cn/article/201608/295786.htm以下為文章全文:
上周,谷歌員工做了一件讓人看不明白的事:他們低調地宣布正在開發一款作業系統,從理論上來說,這款作業系統將成為谷歌Android的競爭對手。
這款開源作業系統代號為Fuchsia,可以搭載在各種輕量級、單一目的的設備上,例如ATM機和GPS設備,同時也支持PC。不過與Android不同,Fuchsia沒有基於Linux內核,也並非衍生於當代其他PC或手機作業系統。實際上,這是從頭開始的一項工作。
谷歌並未透露,將利用Fuchsia去做些什麼。Fuchsia仍處於早期發展階段,有可能只是一次嘗試。不過,谷歌有著充分的理由,「重啟」一個沉寂數十年的軟體開發領域。
「外殼堅硬」的內核
你可能不太清楚自己手機、平板電腦和筆記本的某些方面:這些設備作業系統的「內核」非常古老。Android使用了Linux內核,這一內核起源於1991年。Mac OS X、iOS,以及其他蘋果平臺基於Unix內核,Unix於1969年發源於AT&T貝爾實驗室。Windows計算機採用的是可以追溯至1993年的Windows NT內核。
內核的目的是管理作業系統的最底層。內核處理來自鍵盤等硬體設備的請求,調度計算任務,以及管理文件系統和內存。由於內核的存在,如果一款應用想要調用列印功能,那麼開發者並不需要知道印表機的具體型號。
對於一個追求完美的行業來說,Unix、Linux和Windows NT等內核的存在很矛盾。不過業內知名分析師霍拉斯·德迪烏(Horace Dediu)指出,在最底層,計算方式與數十年前相比並沒有不同。例如,當前Windows計算機採用的晶片與第一代IBM PC中的英特爾處理器一脈相承。從這種意義上來說,內核是通用的。
德迪烏表示:「我們仍在使用同樣的架構,計算的概念沒有變化:寄存器、門電路、電晶體。因此,我們沒必要研究更好的內核。內核已得到充分的發展。」
或許,這就是大部分業內人士的想法。然而目前,我們正在將傳感器和計算元件集成至更多設備,例如將普通家居設備變為智能家居,讓所有一切都聯網(即物聯網)。Fuchsia背後的邏輯或許在於,古老的內核,例如Linux,不適用於這些新生設備。因此,開發者正在構想更現代化的內核。(這裡的內核本身名為Magenta,而Magenta又基於谷歌的另一項實驗LittleKernel。)
來自Particle的扎赫·蘇帕拉(Zach Supalla)指出,Linux給這些小型計算設備帶來了問題。Particle提供物聯網硬體套裝和開發者工具。
一方面,對這些應用來說,Linux的規模太大。儘管Linux內核是模塊化的,開發者可以剝離不需要的組件,但最終這仍需要以MB計算的存儲空間。這意味著,Linux內核很難被用在廉價的微控制器上。如果想要使用Linux內核,那麼開發者必須選擇尺寸更大、價格更貴、能耗更高的處理器。
蘇帕拉表示:「市場需要質量更好、價格更低的產品,但這樣的需求尚未被滿足。」
另一方面的問題在於,Linux並不是「實時」作業系統。與ATM機、醫療產品,以及其他單一目的設備中的嵌入式作業系統相比,Linux採用調度算法來管理多任務。儘管這可以使通用目的設備的性能最大化,但也給需要精確定時的設備,例如3D印表機,以及汽車發動機控制,帶來了問題。
蘇帕拉指出:「如果你想要確保,這些任務有著微秒級的時間精度,那麼你不會希望讓計算機來決定何時處理哪一任務。」
對物聯網設備來說,類似Linux的通用目的作業系統也不太安全。這樣的作業系統代碼很多,這意味著很可能有更多信息安全漏洞需要解決,或是需要通過防火牆和VPN進行鎖定。
蘇帕拉表示:「運行實時作業系統或嵌入式作業系統的價值之一在於,你不需要做任何鎖定。你不需要太擔心這些系統。除了自己編寫的軟體之外,這些作業系統無法運行任何東西。」
蘇帕拉猜測,Fuchsia的目標是將Linux的優點和當前嵌入式系統,例如FreeRTOS和ThreadX,結合在一起。在支持應用和硬體通過作業系統去通信方面,Linux仍要好於絕大多數系統。
他表示:「他們或許希望借鑑Linux的某些抽象概念,以及RTOS的性能、大小和實時性。這將很有價值,我認為從理論這是可以做到的,只是之前沒有人去做。」
谷歌正開發新作業系統Fuchsia
規模的擴大
如果Fuchsia僅瞄準小型設備,那麼可能不是那麼值得關注。不過,Fuchsia的開發者有著更遠大的目標。他們表示,這一作業系統也將可以用於智慧型手機和PC。從理論上來說,這將成為谷歌Android和Chrome OS的直接競爭對手。
那麼,這樣做的動機是什麼?蘇帕拉認為,從頭開始開發將帶來更高效的作業系統,而這樣的作業系統也可以提升伺服器的效率。這是谷歌長期以來一直關注的問題。他還表示,對PC的支持意味著,開發者可以同時模擬運行大量小型設備,確保這些設備的規模化運轉。
蘇帕拉表示:「你可以搭建數千臺伺服器,每臺伺服器都同時運行軟體應用的數千個拷貝。因此,對PC的支持意味著更適合測試。」
德迪烏則有著不同看法。谷歌這一新作業系統將解決困擾谷歌已久的Android智慧財產權授權問題。他表示:「由於這是全新的設計,因此不會存在有爭議的智慧財產權。這是個合理的假設,因為Linux的智慧財產權問題很複雜。」
不過,這一切都還停留在理論上。Fuchsia的開發者表示,他們最終將發布這一作業系統及相關文檔,不過這可能還有遙遠的距離。目前尚不清楚,谷歌是否會向這項工作投入資源。Android生態系統已非常龐大(並且正在與Chromebook融合)。與此同時,谷歌也在基於Android開發物聯網作業系統,即Brillo。這正在形成一個完整的平臺,而不僅是簡單的作業系統。
最初,Unix只是貝爾實驗室的志願者項目,沒有得到任何組織的認可。而林納斯·託瓦爾德斯(Linus Torvalds)最初開發Linux時也只是將其當作一個副業。或許未來幾十年後,我們也可以對Fuchsia如何發源於谷歌侃侃而談。