谷歌Fuchsia OS計(jì)劃“原生”支持運(yùn)行安卓和 Linux 應(yīng)用程序

外媒 9to5 Google 報(bào)道,多年來(lái),谷歌一直在開發(fā) Fuchsia OS,這是一款明顯不基于 Linux 的操作系統(tǒng)。Fuchsia OS 操作系統(tǒng)的最新提案展示了這款 “不是 Linux”的操作系統(tǒng)如何能夠同時(shí)運(yùn)行 Android 和 Linux 的 “未修改”應(yīng)用程序。

打造一個(gè)新的操作系統(tǒng),尤其是像 Fuchsia 這樣從零開始的操作系統(tǒng),其中一個(gè)比較大的問題是——人們理所當(dāng)然地希望能夠在這個(gè)操作系統(tǒng)上運(yùn)行自己喜歡的應(yīng)用。在 Fuchsia 的情況中,理論上可以作為 Chrome OS 和 Android 的繼承者,人們很可能期望能夠同時(shí)運(yùn)行 Android 應(yīng)用和 Linux 應(yīng)用,以及原生的 Fuchsia 應(yīng)用。

到目前為止,人們期望 Fuchsia 能夠以 Chrome OS 目前能夠運(yùn)行 Linux 應(yīng)用的方式來(lái)實(shí)現(xiàn)這一點(diǎn),即在虛擬機(jī)中運(yùn)行完整的 Linux 實(shí)例。Chrome OS 甚至準(zhǔn)備使用同樣的策略來(lái)實(shí)現(xiàn)其運(yùn)行 Android 應(yīng)用的能力,這要?dú)w功于一個(gè)名為 arcvm 的項(xiàng)目。

然而,虛擬機(jī)的方案也有一些缺點(diǎn)。首先,在 “host”(例如 Fuchsia)和 “guest”(Android)之間管理文件可能是棘手或繁瑣的。此外,F(xiàn)uchsia 強(qiáng)調(diào)安全,試圖盡可能讓程序相互隔離。為了保持 Linux 應(yīng)用的這種隔離程度,F(xiàn)uchsia 需要運(yùn)行一個(gè)以上的虛擬機(jī),這可能會(huì)拖累性能。

IT之家獲悉,本周,有人提出了一個(gè)提案,為 Fuchsia 提供了替代解決方案,以計(jì)劃運(yùn)行 Linux 和 Android 的程序。Fuchsia 將獲得名為 “Starnix”的系統(tǒng),而不是運(yùn)行 Linux 本身,它將作為 Linux 內(nèi)核的指令和 Fuchsia 的 Zircon 內(nèi)核指令之間的翻譯器。

本質(zhì)上,Linux 程序?qū)?“正常”運(yùn)行,不會(huì)區(qū)分出它不是在基于 Linux 的操作系統(tǒng)中運(yùn)行的事實(shí)。同時(shí),Starnix 需要做的工作是確保應(yīng)用程序能夠在 Fuchsia 上運(yùn)行,就像它在 Linux 上正常運(yùn)行的那樣。如果你對(duì) Linux 的工作方式非常熟悉,Starnix 的完整提案是一個(gè)有趣的內(nèi)容,特別是他們支持 Linux“as she is spoke”的計(jì)劃。

對(duì)于那些對(duì) Fuchsia 有偶然興趣的用戶來(lái)說,更有趣的是開發(fā)者打算如何使用 Starnix。在多個(gè)場(chǎng)合,提案中都提到了使用 Starnix 直接在 Fuchsia 上運(yùn)行 Android 的代碼。

“隨著我們擴(kuò)大希望在 Fuchsia 上運(yùn)行軟件的范圍,我們遇到了希望在 Fuchsia 上運(yùn)行的軟件,但我們沒有能力重新編譯。例如,Android 應(yīng)用程序包含已經(jīng)為 Linux 編譯的本地代碼模塊。為了在 Fuchsia 上運(yùn)行這些軟件,我們需要能夠在不修改它們的情況下運(yùn)行二進(jìn)制文件。

例如,我們將運(yùn)行一些來(lái)自 Android 源碼樹的低級(jí)測(cè)試二進(jìn)制文件,以及來(lái)自 Linux 測(cè)試項(xiàng)目的二進(jìn)制文件。”

從中我們可以看出,谷歌可能是打算讓 Fuchsia 能夠深度支持 Android 應(yīng)用,不需要例外,比如對(duì)于使用 Android NDK 用 C 或 C++ 編寫的應(yīng)用。當(dāng)然,從長(zhǎng)遠(yuǎn)來(lái)看,Starnix 應(yīng)該只是作為一種權(quán)宜之計(jì),讓谷歌的 Fuchsia 操作系統(tǒng)能夠更廣泛地使用,同時(shí)等待開發(fā)者將他們的應(yīng)用移植到新的操作系統(tǒng)中。幾乎在所有情況下,原生的 Fuchsia 應(yīng)用都應(yīng)該比通過 Starnix 運(yùn)行的 Linux 或 Android 應(yīng)用表現(xiàn)更好。

也就是說,F(xiàn)uchsia 的 Starnix 只是在提案階段,需要做大量的工作才能有類似于適當(dāng)?shù)?Android/Linux 到 Fuchsia/Zircon 的兼容性。為了盡量避免這種工作缺陷,谷歌一直在研究類似項(xiàng)目的成功和失敗,比如最初的微軟 Windows Subsystem for Linux(WSL1)。不過,這項(xiàng)提議還需要經(jīng)過審視,F(xiàn)uchsia 重新使用虛擬機(jī)來(lái)滿足其 Linux 和 Android 需求的可能性還是很大的。

Fuchsia 增加 Linux 和 Android 的兼容性支持聽起來(lái)很吸引人,谷歌最近已經(jīng)開放了這個(gè)項(xiàng)目,接受開源社區(qū)的貢獻(xiàn)。

極客網(wǎng)企業(yè)會(huì)員

免責(zé)聲明:本網(wǎng)站內(nèi)容主要來(lái)自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。

2021-02-14
谷歌Fuchsia OS計(jì)劃“原生”支持運(yùn)行安卓和 Linux 應(yīng)用程序
谷歌Fuchsia OS計(jì)劃“原生”支持運(yùn)行安卓和 Linux 應(yīng)用程序,外媒 9to5 Google 報(bào)道,多年來(lái),谷歌一直在開發(fā) Fuchsia OS,這是一款明顯不基于

長(zhǎng)按掃碼 閱讀全文