閱讀178 返回首頁    go 阿裏雲 go 技術社區[雲棲]


取代Android?聊聊穀歌的Fuchsia新操作係統

最近,一款由穀歌開發,被稱為 Fuchsia 的操作係統在網上曝光。Fuchsia 是在去年 8 月就進入了 GitHub 項目,但穀歌對此非常低調,像操作係統這樣的重量級項目,卻沒有官方的宣傳和說明介紹。網上的介紹稱這個操作係統采用了代號為 Magenta[一種給給的洋紅色] 的微內核設計 [MicroKernel],是一種實時操作係統 [real-time OS]。在穀歌官方介紹出現前,網上已經有了大量的「解毒」:例如說 Fuchsia 是用來取代 Android 高性能操作係統,兼容 Android 應用;也有說是針對物聯網開發的一種實時操作係統;甚至有說是為了混合現實 [MR] 設計的操作係統,這眾說紛紜下,哪個比較有道理?

微內核和實時係統

取代Android?聊聊穀歌的Fuchsia新操作係統
操作係統架構分類 [集成型-微內核-混合型] - 圖片來自維基百科

微內核在計算機術語中,特指的是操作係統的內核小型化,即操作係統核心部分架構隻有線程管理、內存管理和進程間通訊等最基本的係統調用功能,即使是係統服務、硬件驅動都放在了用戶空間應用。不同應用間通過進程通信方式完成。微內核是相對於 Linux 這種龐大的集成式核心的最大優勢就是較好的伸縮性,其硬件驅動和係統服務可以按需取舍,效率高,因此微內核設計的操作係統和硬件在日常生活中常見於路由器等小型設備,以及一些分工明確的分布式係統。但隨著硬件性能的提升,小設備的係統也正在變得大而全起來,以 Linux、Android 為基礎的「智能硬件」已經廣泛普及。

取代Android?聊聊穀歌的Fuchsia新操作係統
Windows NT

取代Android?聊聊穀歌的Fuchsia新操作係統
Mac OS

在 PC 上運行的操作係統中,基於 Mach 的 MacOS 就是微內核係統的典型,雖然 WindowsNT 和 OSX 都曾經自我標榜為微內核操作係統,但由於微內核係統中用戶訪問程序、硬件等行為都需要通過通信而不是程序函數調用完成,因此在大型複雜的應用下性能和效率都非常捉急。現在的 Windows 和 OSX 係統都將大量的係統服務和硬件驅動放入係統核心部分,其實更為接近 Linux 這樣的集成式核心設計,有時會把這種集成式內核和微內核設計的結合稱為混合式核心設計。

而實時係統是一種以實時 [或盡快] 並按時完成需求任務的操作係統類型,比較著名的有 WindowsCE、VxWorks 等。這類係統並不追求大數據吞吐量,而是要求有較快的響應速度和靈活的任務執行能力。

Fuchsia 能做什麼?

取代Android?聊聊穀歌的Fuchsia新操作係統
Google Fuchia Logo - 圖片來自互聯網

目前比較受歡迎的微內核+實時係統有開源的 FreeRTOS 等,它沒有圖形操作界麵,主要用於實現類似無線路由器等功能比較單一的設備係統。而 Fuchsia 已經被歸類為微內核+實時係統,是不是真的奔著物聯網操作係統而去的?但 Fuchsia 出名就是因為在油管上有人演示了在手機上運行 Fuchsia 圖形界麵的片段而開始火起來的,當然目前其圖形界麵還處於初始演示階段,並沒有具體的功能,但可以看出人們還是希望更願意接觸的是一個有圖形界麵的全能型操作係統,而不是早期的純命令行模式界麵,然而對於大多數物聯網設備來說,UI 隻是個累贅。

但以此要推斷出 Fuchsia 是要做物聯網操作係統還是取代 Android 還為時過早,從硬件支持平台來看,Fuchsia 主要支持的是 ARM64 和 X86-64 兩種高性能運算處理器類型,這類高功耗處理器顯然不適合用在追求低功耗和小型化的物聯網平台,至少從 Fuchsia 開發者團隊的意願來看,其設計目標應該還是完整的圖形操作係統。

取代Android?聊聊穀歌的Fuchsia新操作係統
穀歌 Fuchsia 係統界麵截圖

那麼 Fuchsia 的誕生是不是真為了取代基於 Linux 的 Android?許多人對大數據和複雜應用的理解可能是超算暴力運算任務或電信機房的服務器,因此誤認為小型化的微內核和實時係統對於普通用戶應用而言更有優勢。但事實上用戶日常的遊戲娛樂、瀏覽網頁看視頻等應用對於目前使用微內核和實時係統的單一個體硬件來說都是非常巨大的處理器運算和數據負擔 [不信打開微信支付寶客戶端試試]。雖然 Android 的很多缺點是由於 Linux 內核導致,但更多的是軟件開發者不注重效率地過度開發和功能堆砌,或穀歌在開發 Android 組件時技術水平有限造成的 [類似 Skia GPU 的負優化],改用微內核和實時係統設計未必能顯著提升這類手機應用環境下的性能和效率。

取代Android?聊聊穀歌的Fuchsia新操作係統
穀歌 Fuchsia 係統源代碼開發語言構成

另外,從 Fuchsia 的開發語言構成來看,它采用了 C、C++甚至是 Dust、Go、Python 等編程語言,但並沒有任何 Java 虛擬機、運行庫的兼容和支持跡象,肯定是無法正常安裝和運行 Android 應用的 [倒是包含了一個 qemu 操作係統虛擬機]。至少目前來看,兼容和取代 Android 也隻是一些人的願景,或者說腦補而已。這就好比微軟打算推出一款完全不支持 Visual C++程序的桌麵操作係統以取代現在的 Windows,隻會逼著客戶和開發者造反。當然也不能完全排除穀歌真有取代 Android 的打算。至於 MR 應用,那隻是一種特定應用環境,並不太需要開發一套新的操作係統來解決應用層的問題。

操作係統是最複雜軟件工程之一,往往需要花費頂級序員們數年甚至數十年的精力進行開發和完善,微機史上出曇花一現操作係統不計其數,絕大多數並不會被人所銘記。也有類似 FirefoxOS 等試圖以「自主操作係統」的方式吸引市場和消費者,但失敗者居多,也正因為操作係統已經變得越來越複雜,哪怕是利用現成的開放源代碼改造也很難在技術上做好並在市場上實現彎道超車。而目前 Fuchsia 的狀態也隻是一個十幾人的小團隊項目,有很強的試驗性質,真要做一個完全取代 Android 的操作係統,肯定需要更大的開發團隊規模,或許三五年以後,穀歌開發新係統的真正目的和意義才會變得明顯






本文作者:佚名
來源:51CTO

最後更新:2017-09-05 10:03:09

  上一篇:go  那些在錯誤道路上一路狂奔的國產VR
  下一篇:go  ARMS 發布 V2.2.6 版本,全新支持 前端前監控, MQ數據源