最近不少朋友很關注 Fuchsia OS 操做系統,也有不少朋友關心它的開發,今天咱們就來說講它的結構,在描述 Fuchsia OS的結構的時候,谷歌使用了「層蛋糕」的比喻,原文是 Layer Cake。Fuchsia OS是整個項目的名稱和成品的名稱,但在其下它被分紅4個不一樣的層次,以下圖所示:html
第一層:也是最底下一層,是構建 Fuchsia OS 的基石,Zircon 內核,去年的新聞是叫 Magenta,可是後來改成了 Zircon 這個名字,這是一個由Google全新設計的新內核,主要處理硬件訪問和軟件之間的通訊。前端
對於不太瞭解內核做用的同窗簡而言之,Zircon之於Fuchsia,恰如Linux之餘於Android。Linux內核驅動了多個操做系統,不少操做系統構建在它之上,好比 Ubuntu、Android、Manjaro、ArchLinux、Debian、Red Hat、SUSE 甚至 Chrome OS ,因此咱們也能夠大膽預測,若是將來Fuchsia OS 發展良好, Zircon 內核也被證實好用,那麼頗有可能有更多的操做系統採用這一新內核。linux
第二層:也是直接構建在 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 的更新。htm
總而言之,從 Fuchsia 的設計能夠看出,Google 正在銘記 其 Android 團隊學到的不少寶貴教訓與經驗。與 Android 的撕裂的生態系統相比,將 Fuchsia OS 分紅僅向上構建的層次結構應有助於確保可更新性和統一性。固然,Google 仍然能夠改變這種設計,只有時間才能證實 Fuchsia OS 的計劃是否會取得成功。