Google 正在開發新的作業系統 Fuchsia


去年 2016 年 8 月份左右, Google 透露出正在開發一個新的作業系統 Fuchsia ,當時看起來像是一個「興趣專案」,但現在似乎已經成為矚目對象與重點項目。

Google OS 的傳聞八卦其實從 2000 年開始一直都在技術台面下廣為流傳,很多人都認為 Google 內部有一套不外傳的作業系統,可能是應用在伺服器上或是公司內部的開發者電腦中,甚至有不少人認為內部一直在使用一套特製過後的 Ubuntu 系統,但 Google 多次對外說明他們暫時沒有計畫「開發一套作業系統」;畢竟以網路做為服務媒介的科技公司,要跟微軟或 IBM 爭奪個人或伺服器作業系統市場,的確是太過激進。

就連之後徹底改變整的電腦產業生態鍊、進入到各式各樣小型設備的 Android 作業系統, 也是 Google 在 2005 年從 Andy Rubin 的手中買下後繼續發展的,相較於 iPhone 一代是在 2007 年才問世, Google 早在 2002 年就看準行動搜尋領域、預見行動網路的蓬勃未來,在非公開場合上 Google 廣告業務也透露行動廣告是未來 10 年的營運重點,目標則是當時在商業領域內已經非常活躍的微軟 Windows Mobile 、歐洲知名多普達 DOPOD 手機與美國的黑莓機, 但 2005 年收購 Android 作業系統預備開發智能手機時 Google 依舊沒有自行開發作業系統的打算。

為了發展 Android , Google 做了很多努力、在 Linux 標準作業系統上的東西幾乎都被 Google 翻了一遍,移除老舊的視窗管理系統、不支援標準但龐大的 GNU 函示庫、加入新的框架層、新的電源管理模式、、、等等,除了核心之外,全都是翻成 Google 實作的程式了。

一直到 2009 年 Google 首次公開了 Chrome OS 專案,這才算是 Google 第一次親手操刀一套作業系統的開發,但同樣是借用了 Linux 核心,Google 則是發展系統表層的人機介面與程式介面的作業系統,搭配 Chrome OS 的筆電一度在美國 Amazon 賣到斷貨。

但是接下來的情況讓 Google 遭遇了不少問題,基於 Linux 核心的作業系統在硬體上存在很大的問題,並非相容性本身有問題,而是移轉上會有問題,有時僅是硬體更改一個網路晶片的編號,可能就讓網路設備停擺,換一個鏡頭元件的識別 ID 可能就讓攝影功能失效,這讓 Android 系統放到不同的硬體上 - 例如不同時期的系列手機 - 都會是一個獨特的版本,搭配不同模組與不同的驅動程式就有數千萬種組合,簡易泛用型的 Android 系統幾乎不存在。

Android 生態系現在有依賴他人的弱點,主要的核心必須參照 Linux 的公開發行版,以致於現在核心程式停滯不前,雖然整個系統已經發展到 6.0 ,但是核心程式依然是在老舊的 3.x 版本,而新一代的 Linux 核心已經是 4.10。

Android 上的程式目前是透過 Java API 語法在撰寫,在 2012 年買下 Java 的 Oracle 對 Google 提出訴訟,認為 Google 侵犯了 Java 的智慧財產權、擅自複製了 Java 的核心技術到 Android 系統當中,最後證明 Google 是在底層自行實做了 API 的應用介面取代了 Java 、並在之後宣布改採用 OpenJDK 規範,在 2016 年 5 月獲得訴訟最終的勝利

這給 Google 一個警訊,如果是依賴在別的開放原始碼系統上,就算是自行實做了應用層、也可能會遭受競爭對手的不當攻擊,如果能有新的作業系統、將程式遷移到根本沒有 Java 或其他商業版程式干擾的發行環境內,根本不用再理會這類無意義的質疑與指控。

Google 除了 Android 與 Chrome OS 之外,還發展了 Chromecast 、智慧自動汽車、智慧管家 Google Home、以及其他與網路有關的硬體或設備,採用 Linux 核心就會不斷遭遇到同樣的問題,如果把作業系統的核心問題單方面丟給製造商去維護當然是一種解決方式,但又會衍生出製造商有能力維護系統的並不多 (像安桌電視棒幾乎都已經走向硬體的一致化) ,也讓整個市場上的作業系統更新緩慢、有很好的軟體卻不易拓展 (許多安桌電視棒還在 Android 4.4.2 打群架、 Android 6.0 的功能非常棒但是消費者很難取得) 。

為了解決這一串作業系統上粽子型的問題,再把時間點與 Java 訴訟事件對照來看,Google 從最根本的地方-作業系統-去解決問題應該是最好的方式了,所以 Google 在 2016 年 8 月在 Github 上算是正式公開了一個新的作業系統專案 Fuchsia 似乎不令人感到意外。

在 Fuchsia 這個專案的說明裡寫著:
Pink + Purple == Fuchsia (a new Operating System)
粉紅色 + 紫色 == 紫紅色(一個新的作業系統)
而這個專案據報導在 2016 年 2 月份就已經建立並開始進行,當時正是等待 Java 訴訟案判決的時候。

這個作業系統不同以往採用 Linux 核心的方式, Google 決定借用了原先的一個測試專案 LittleKernel(LK) 的經驗,自行打造了全新的系統核心 Magenta (印刷四原色 RMGB 中常用到的洋紅色 M,進一步譬喻是「紫紅色」的核心)並且針對 Google 的需要調整了核心上的層次(使用者層、權限層、硬體架構層等等),開案之後,這個專案持續頻繁的更新。

在經過將近一年的時間,開發 Fuchsia 的目標也被更清楚的形塑出來了:
  • 要比之前的 Linux 核心作業系統更容易在硬體間移轉、更新,能夠支援各式硬體 
  • 要更精簡、更迷你、佔用更少的記憶體、更易嵌入小型晶片與硬體設備當中 
  • 採用公開標準的函示庫(像是 OPENGL)降低特殊規格的依賴(徹底放棄 Java 改用 Dart) 
  • 採用獨立的使用者介面降低效能與核心上的依賴。 
  • 更高效能的運行卻只需要更少的硬體資源,目標將會是嵌入式設備與行動設備為主 
直到最近終於對外展示了這個作業系統新設計的人機介面


這個全新的人機介面有一個很有趣的代號叫做 Armadillo 犰狳 - 像是身上披盔甲的穿山甲,但並非是穿山甲,可能是取其盔甲的意象,表示作業系統核心上層的 UI 介面 - 這個介面設計又分成兩個部分,外層的 Armadillo (靠 USER 端這邊)是可以執行在現有 Android / iOS 系統介面上的程式,另一部份 Armadillo User Shell 則負責圍繞在核心、服務與使用者介面之間進行溝通。據國外測試的說明,介面採用很巨大的垂直畫面做移動、也已經有視窗管理功能、可依比例切割畫面執行多個程式等等。

有些人認為這個介面有點像 Android 的系統介面,那不然要怎樣呢? Android 的介面設計到現在已經穩定、成熟、好用,又是 Google 自有的知識資產,如果新的作業系統要能在智慧手機中佔有一席之地,延續 Android 的使用經驗,當然是最好不過的了。就像 Android 棄用老舊的 X window、自行開發視窗管理介面一樣,可以想見 Fusion 未來的軟體介面會朝像 OSX 一樣專注在系統的皮層上而非核心上,核心則專注在硬體相容、安全性、執行效能上,與介面彼此不相互干涉太多,能進一步達到快速移轉、更新、廣泛使用的目的。

研發作業系統的路通常都很漫長,失敗的玩具也是多到數不清(像是 BeOS ),所以這個專案沒有被終止而有繼續發展,真的是很令人興奮的事情,對各大作業系統陣營來說也將出現一位新的挑戰者,更重要的是這是一個新的開放原始碼系統;短期內我們依舊只能看到實驗室內的結果,但是當它真的被完成的時候,我們很有機會在近未來的手機、電腦、智慧管家、電視、甚至是自動汽車上看到它的身影。

對了,取名字真是個大學問, Fuchsia 念起來有點像是 Future ,這是一個放眼未來的作業系統。