簡述Fuchsia 操作系統的四層結構設計
Fuchsia OS 是Google 全新推出的一款開源操作系統,在描述Fuchsia OS的結構的時候,谷歌使用了“層蛋糕”的比喻,原文是Layer Cake,Fuchsia OS是整個項目的名稱和成品的名稱,但在其下它被分成4個不同的層次。
第一層:也是最底下一層,是構建Fuchsia OS 的基石,Zircon 內核,去年的新聞是叫Magenta,但是後來改為了Zircon 這個名字,這是一個由Google全新設計的新內核,主要處理硬件訪問和軟件之間的通信。
對於不太了解內核作用的同學簡而言之,Zircon之於Fuchsia,恰如Linux之餘於Android。Linux內核驅動了多個操作系統,很多操作系統構建在它之上,比如Ubuntu、Android、Manjaro、ArchLinux、Debian、Red Hat、SUSE 甚至Chrome OS ,所以我們也可以大膽預測,如果未來Fuchsia OS 發展良好, Zircon 內核也被證明好用,那麼很有可能有更多的操作系統採用這一新內核。
第二層:也是直接構建在Zircon 上的一層名叫Garnet。Garnet 包含各種操作系統所需的各種底層功能,包括硬件的驅動程序(網絡,圖形等)和軟件安裝。這一層最激動人心的事情是Escher(圖形渲染器),Amber(Fuchsia 的更新程序)和Xi Core,它是Xi文本和代碼編輯器的底層引擎(今年早些時候已經發布了)。
第三層:Peridot 是接下來的這一層,主要處理Fuchsia的模塊化應用程序設計, Peridot的另外兩個主要組件直接用於模塊。Ledger 可以跨設備保存您在應用/模塊中的位置,並同步到您的Google帳戶。Maxwell 是一個更複雜的主題,需要更多進一步的深入研究,但是Maxwell 極有可能是讓Fuchsia 充分施展魔力的點睛之筆,可以提前透露的是,Maxwell 的厲害之處包括Kronk,也是大家熟知的Google Assistant。
第四層:Topaz,是這個Layer Cake蛋糕的頂層,也是對者和用戶直接影響最大的一層。Topaz提供Flutter支持,而有了Flutter的支持,各種華麗的應用程序,可以幫助充實地提供日常使用的功能齊全的應用程序。比如,現在最令人印象深刻的當然是Armadillo UI,它是Fuchsia主要用戶界面和主屏幕。
可以做一個類比,Topaz 這一層在Android 中可以找到一個對照,這將是你的必備應用程序,如聯繫人,音樂,文件管理器和文本編輯器Xi(Topaz中的可視前端連接到Garnet的後端)。即使沒有你需要的東西,你也可以簡單方便地安裝。
從表面上看,Fuchsia OS 的層次設計似乎更適合團隊組織。它還有助於將代碼劃分成不同的更易於理解和開發的部分。當然,還有比這更重要的原因,硬件供應商也可以擁有自己可以掌控的層次結構。這意味著公司將能夠用他們自己的修改版本來替換四個層中的一個(或多個)。
大多數手機製造商會定制Android用戶體驗,以便從競爭中脫穎而出,而不是使用Google 的默認界面設計。自定義設計的能力進一步表明Google 正在藉鑑從Android 中得到的經驗。Fuchsia 和Android 使供應商更容易使用他們的自定義設置和UI設計,而不影響系統的其餘部分。例如,三星可以用TouchWiz 主題版本取代Topaz 層,HTC、華碩和其他手機製造也可以。
此外,Android 團隊無法預料像Amazon 這樣的公司會大量修改Android 來用作Kindle Fire 設備的操作系統。使用Fuchsia OS 的話,同樣的事情變得更簡單,比如用Amazon Web Services 和Alexa 替換Peridot 的Google Cloud 和Google 智能助理,當然,用亞馬遜的設計語言取代Topaz ,但是不影響獲得Fuchsia 的Zircon 和Garnet 的更新。
總而言之,從Fuchsia 的設計可以看出,Google 正在銘記其Android 團隊學到的很多寶貴教訓與經驗。與Android 的撕裂的生態系統相比,將Fuchsia OS 分成僅向上構建的層次結構應有助於確保可更新性和統一性。當然,Google 仍然可以改變這種設計,只有時間才能證明Fuchsia OS 的計劃是否會取得成功。