2019年4月11日下午,華為P30系列中國發(fā)布會舉行,在會上,華為非常罕見地發(fā)布了一款名為”方舟“的編譯器,雖然只是驚鴻一瞥,但是華為的野心已經(jīng)可以預見了。眾所周知,國內(nèi)智能手機高度依賴谷歌的安卓系統(tǒng),但是安卓由于本身基于Java虛擬機,導致碎片化、速度慢等問題,這是很難避免的,所以唯一的辦法就是徹底拋棄安卓,擁抱更完美的系統(tǒng)。
在目前的環(huán)境下,智能手機除了安卓外沒有任何系統(tǒng)可用。然而華為早在幾年前便開始了自研系統(tǒng)麒麟OS的研發(fā),目的就是有一天拋棄安卓,走上蘋果式的軟件+硬件雙封閉道路,不再被安卓卡住脖子,這件事阿里做過,微軟也做過,但無奈都因為生態(tài)問題失敗了。一個系統(tǒng)是否能發(fā)展起來,關鍵是軟件廠商是否愿意去開發(fā)配套的應用,在生態(tài)上,安卓憑借早期的開源優(yōu)勢成功占據(jù)第一把交椅,目前仍處于壟斷位置。 所以,華為要想發(fā)展麒麟OS,首要問題也是生態(tài),如何保證自己的系統(tǒng)能快速適配大量軟件?答案當然是直接適配現(xiàn)有軟件,這樣廠商就能用很小的代價進行完整的開發(fā),這時,華為適時地發(fā)布了方舟編譯器。在小編看來,這個編譯器才是本場發(fā)布會最大的亮點。
方舟編譯器可以直接幫助軟件廠商提升App在安卓系統(tǒng)上的運行速度,它是怎么做到的呢?安卓系統(tǒng)基于java虛擬機,而java是一種混合型語言,為了跨平臺,java采取了預編譯+虛擬機的方式運行,實際上也可以看作是一種解釋型語言,它將源碼編譯為java字節(jié)碼,然后由虛擬機一行一行的讀取字節(jié)碼并執(zhí)行。相對于Java來說,c語言作為老牌編譯型語言,直接將源碼編譯為機器碼,由系統(tǒng)底層直接運行,速度非??臁8鶕?jù)粗略統(tǒng)計,c語言的運行速率大概是java的10~30倍。 根據(jù)發(fā)布會的展示圖片,方舟編譯器很可能將軟件的部分甚至全部模塊直接編譯為了機器碼,由安卓的內(nèi)核Linux直接運行,這就相當于c與java的區(qū)別。不難發(fā)現(xiàn)一個關鍵點:方舟讓App跳過了虛擬機,直接動用了內(nèi)核。這是什么概念呢?現(xiàn)在的安卓App都是由java語言開發(fā)的,其編譯運行也借助java虛擬機,華為搞了一個編譯器,讓App不再需要java虛擬機了,也就是說,只要麒麟OS能夠運行機器碼,就可以直接適配到所有的安卓App。 接下來,我們喜聞樂見地看到華為將其面向業(yè)界開源(源碼保密),并迫不及待地號召所有App廠商進行使用了,這就擺明了:我給你提供了一個編譯器,只要你把軟件包放上來編譯一小會,就可以讓你的App運行更快,當然,這也會讓你的App不再依賴java虛擬機(所以我家的麒麟OS也可以直接運行了),那么廠商是用還是不用呢?我相信接下來的安卓生態(tài)圈恐怕會產(chǎn)生大地震,至少,谷歌和美國政府是肯定坐不住了。
除了方舟,華為還緊跟著發(fā)布了超級文件系統(tǒng)EROFS,文件管理是操作系統(tǒng)的五大職能之一,主要涉及文件的邏輯組織和物理組織,目錄的結構和管理,在操作系統(tǒng)中是非常重要的一環(huán),麒麟OS也應該是采用該文件系統(tǒng)。那么EROFS有什么優(yōu)勢呢?它的全稱是Extendable Read-Only File System(可擴展只讀文件系統(tǒng)),是一個基于ROM的文件系統(tǒng),根據(jù)專業(yè)測試,EROFS在低壓縮比下的性能比傳統(tǒng)EXT4(安卓現(xiàn)在所使用的文件系統(tǒng))要好近3倍,高壓縮比的情況下性能也與EXT4相當。 通過圖片可以看出,該系統(tǒng)全方位提高了系統(tǒng)的流暢度、響應速度,最直觀的體現(xiàn)就是打開App很快,圖庫瀏覽不再出現(xiàn)加載白塊,網(wǎng)頁瀏覽和App頁面拖拽不卡頓等。同時,還可以降低系統(tǒng)占用空間,避免低內(nèi)存情況下的App卡頓問題。最重要的,它很安全,EROFS的系統(tǒng)分區(qū)是不可被任何第三方改寫的,它可以極大地保障用戶地個人數(shù)據(jù)安全。 此次發(fā)布會的方舟編譯器+EROFS文件系統(tǒng)僅僅是華為自研操作系統(tǒng)地開端,相信后續(xù)發(fā)布會上華為將帶給我們更多的驚喜,再過不久,我們或許就能真正用上國產(chǎn)自研系統(tǒng)麒麟OS了。
|