谷歌提出可在Fuchsia上運行Android/Linux應用程序的新方法
許多年前,外媒就已爆料谷歌正在開發一款明顯不基於Linux底層的Fuchsia操作系統。有趣的是,針對Fuchsia OS的最新建議,表明這款“非Linux”操作系統仍考慮如何在上層運行“未經特殊修改”的Android / Linux應用程序。顯然,對於一款從頭開始構建的OS來說,推廣初期最大的問題,就是應用生態的平穩過渡。
資料圖(via Malwarebytes)
作為Chrome OS / Android 移動操作系統的繼任者,它理論上可以滿足同時運行Fuchsia 原生應用、以及Android / Linux 應用程序的要求。
舉個例子,只需通過類似Chrome OS 的套殼方案,即可在虛擬機環境中運行Linux 應用程序。此外借助arcvm 項目,Chrome OS 甚至可用相同的策略來運行Android 應用。
不過虛擬機方案也不是沒有缺點。首先,在Fuchsia 主機和Android 客戶端之間,文件的管理會變得相當棘手。
此外Fuchsia 是一款更加強調安全性的移動操作系統,從設計之初就考慮到了讓應用程序之間盡可能地彼此隔離。
為了保持Linux 應用程序之間的隔離程度,Fuchsia 可能需要運行多個虛擬機,但這反之優惠降低系統的整體性能體驗。
Fuchsia 層級結構(圖via Malwarebytes)
本週,我們在谷歌源碼網站(傳送門)上見到了一項針對Fuchsia運行非原生(比如Linux)應用的替代解決方案。
在這項提案中,開發者認為可藉助Starnix 機制,幫助系統在Linux 內核指令與Fuchsia Zircon 內核指令之間進行轉換。
基於此,Linux 程序仍可在Fuchsia 平台上“正常運行”。如果你深入了解了Linux 的工作原理,就會知道基於Starnix 的完整建議是相當有趣的。
其中最有趣的,還是開發者打算如何利用Starnix,尤其在缺乏重新編譯的能力的情況下。
據悉,Android 應用程序已經包含了為Linux 編譯的原生代碼模塊。而為了在Fuchsia 上運行該軟件,我們還需要能夠運行二進製文件、而不修改它們。
從代碼建議來看,谷歌可能也是打算讓Fuchsia 能夠深度支持Android 應用程序的。但從更長遠的規劃來看,Starnix 顯然只是一個權宜之計。
至於開源社區對近期開放的Fuchsia OS 項目有多濃厚的興趣,仍有待時間去檢驗。