谷歌公布最新Fuchsia操作系統(tǒng)說(shuō)明文檔:安卓或被淘汰
近日,谷歌公司終于公布了其 Fuchsia 操作系統(tǒng)迄今為止最為完整的說(shuō)明文檔,旨在供開發(fā)人員以及修復(fù)人員閑暇時(shí)進(jìn)行閱讀了解,這份名為《Fuchsia is not linux》的文檔正式揭開 Fuchsia 操作系統(tǒng)的神秘面紗。此前,用戶要獲取這款操作系統(tǒng)相關(guān)的細(xì)節(jié)信息,需要通過(guò)各類渠道。
Fuchsia 操作系統(tǒng):
由谷歌公司開發(fā)的繼 Android 和 Chrome OS 之后的第三個(gè)系統(tǒng),目前Android 和 Chrome OS都是使用 Linux 內(nèi)核,但從這份最新發(fā)布的說(shuō)明文檔中,谷歌明確 Fuchsia 并非基于 Linux內(nèi)核。
《Fuchsia is not linux》內(nèi)容簡(jiǎn)介
本周發(fā)布的《Fuchsia is not linux》終于不再是一大堆 Git 管理下的開源代碼,而是一份真正面向程序員的 Fuchsia 交互引導(dǎo)指南。
作為一套適用于嵌入式設(shè)備的操作系統(tǒng),F(xiàn)uchsia 采用微內(nèi)核架構(gòu)?!禙uchsia is not linux》說(shuō)明文檔列出了其內(nèi)核設(shè)計(jì),軟件界面,用于運(yùn)行程序、存儲(chǔ)數(shù)據(jù)以及訪問(wèn)網(wǎng)絡(luò) 的周邊服務(wù)與庫(kù),外加用戶在屏幕上進(jìn)行圖形繪制的具體方式。根據(jù)這份說(shuō)明文檔判斷,該操作系統(tǒng)的開發(fā)工作仍在進(jìn)行當(dāng)中。
重點(diǎn)介紹“Little Kernel 微內(nèi)核”
這些文檔中大量提及l(fā)k,即 研究人員 Travis Geiselbrecht 開發(fā)而成的 Little Kernel 微內(nèi)核,他于2012年正式加盟谷歌公司,并自2015年以來(lái)帶領(lǐng)谷歌員工致力于開發(fā) Fuchsia。他的操作系統(tǒng)設(shè)計(jì)功力在該項(xiàng)目當(dāng)中發(fā)揮了巨大作用。
Fuchsia 內(nèi)核 Zircon
Fuchsia 內(nèi)核被命名為 Zircon,其基于 lk 并以 C 語(yǔ)言編寫而成。該內(nèi)核為應(yīng)用程序提供了32位句柄以通過(guò)系統(tǒng)調(diào)用處理各類對(duì)象。這些對(duì)象分別負(fù)責(zé)管理內(nèi)存、與其它運(yùn)行中的程序交換信息并使用同步原語(yǔ)。此外,F(xiàn)uchsia 內(nèi)核中還包含通過(guò) syscalls 實(shí)現(xiàn)對(duì)象操作的 C++類。
這份內(nèi)核說(shuō)明文檔中還定義了其它一些概念,包括作業(yè)、進(jìn)程以及線程,信號(hào),等待規(guī)則以及事件等。
接下來(lái)值得一提的是 Zircon Core,其負(fù)責(zé)處理設(shè)備驅(qū)動(dòng)程序、POSIX 兼容輸入與輸出、一套 C 運(yùn)行時(shí)外加 ELF 二進(jìn)制加載。在此之上的是 Zircon 框架,其負(fù)責(zé)運(yùn)行核心庫(kù)、應(yīng)用程序并提供命名空間與沙箱環(huán)境。目前的這份文檔已經(jīng)完整涵蓋存儲(chǔ)、網(wǎng)絡(luò)與圖形等相關(guān)內(nèi)容。而相關(guān)源代碼指定 x86-64 與 arm64 作為受支持處理器架構(gòu)。
不過(guò)谷歌公司在《Fuchsia is not linux》中并沒(méi)有完成兼容性章節(jié)的內(nèi)容,其中雖然列出了“向下兼容性”一章,但未提供具體鏈接。但已經(jīng)提到將對(duì)所支持的 POSIX 子集作出解釋,且給出了“Web 運(yùn)行時(shí)”這一模棱兩可的標(biāo)題。
Fuchsia 或淘汰 Android
一旦 Fuchsia 投入使用,它就能解決安卓最大的問(wèn)題,碎片,此外,F(xiàn)uchsia 或許還能修復(fù)另一個(gè)關(guān)于安卓系統(tǒng)的惱人的問(wèn)題,就是開發(fā)人員將會(huì)利用 Flutter,來(lái)讓他們生產(chǎn)能夠在不同的操作系統(tǒng)上運(yùn)行,并且適應(yīng)各種設(shè)備的應(yīng)用,無(wú)論是 iPhone X 的 iOS 11 還是谷歌 Pixel 的 Android P。谷歌表示,通過(guò)Flutter,開發(fā)人員能夠開發(fā)更優(yōu)質(zhì)、性能更高的應(yīng)用,還能夠更快的部署其應(yīng)用。
關(guān)于Flutter和Fuchsia的關(guān)系,這是因?yàn)?,F(xiàn)uchsia 的用戶界面時(shí)利用 Flutter SDK 構(gòu)建,而 Flutter 能夠在安卓系統(tǒng)和 iOS 系統(tǒng)上運(yùn)行,因此 Flutter 制作的 iPhone 和安卓應(yīng)用都可以和 Fuchsia 兼容。
當(dāng) Fuchsia 最初于2016年面市時(shí),人們本以為谷歌將其作為一套備用移動(dòng)操作系統(tǒng),以避免因甲骨文長(zhǎng)期 Java 訴訟而給 Android 系統(tǒng)造成毀滅性影響,如果谷歌方面不看好Android 這款基于 Linux 的操作系統(tǒng),擁有 Fuchsia 這樣一套備用選項(xiàng)無(wú)疑也更為方便。
兩周前,美國(guó)法院正式宣布谷歌公司在 Android 開發(fā)過(guò)程中存在侵犯甲骨文 Java 版權(quán)的行為。法院下令,要求谷歌方面向數(shù)據(jù)庫(kù)巨頭交付90億美元的罰款,谷歌公司尚未就此事是否會(huì)影響到 Android 的未來(lái)作出明確表態(tài)。即使這份說(shuō)明文檔表明谷歌公司對(duì) Fuchsia 的重視程度,也仍無(wú)法斷言 Android 是否終究會(huì)被淘汰。