谷歌正在“悄悄”開發一款全新的操作系統,命名為“Fuchsia”。Google 在 Fuchsia 的 GitHub 主頁上這樣介紹 Fuchsia:“Pink + Purple == Fuchsia (a new Operating System)”。
Google 開發的操作系統都有個共同點,全都基于 Linux Kernel:Chrome OS, Android 和 Chromecasts。但是 Linux Kernel 并不是在所有的場景中都能起到很好的作用(影響性能或者造成其他影響),特別是嵌入式設備,類似汽車儀表盤和 GPS 單元。
Fuchsia 主頁所能獲取的信息有限,但是這完全不能滿足我們的好奇心。
| 比 Linux Kernel 牛?
從 Fuchsia 所包含的項目和文檔發現,Fuchsia 的內核是 Magenta kernel,一個基于”Little Kernel”的項目。Magenta 跟 Fuchsia 的關系類似 Linux 和 Android,Magenta 內核驅動著強大的 Fuchsia 操作系統。Magenta 被設計為商業性嵌入式操作系統,類似 FreeRTOS 和 ThreadX。
但是,Magenta 比 LittleKernel 強大很多,專為現代化、高處理器的設備而準備,支持嵌入式設備、智能手機和桌面計算機。以下 Little Kernel 簡稱為 LK。
Magenta 的內部架構基于 LK,但是以上的層是全新的。Magenta 有進程的概念,而 LK 沒有。Magenta 進程是由 LK 級的架構組成的,比如線程和內存。
其他的不同點:
Magenta 有一流的用戶模式支持,LK 沒有
Magenta 有一個對象處理系統,LK 也沒有這個概念
Magenta 有基于 capability 的安全模型(類似 Android 6.0 權限),LK 的所有代碼都是可信的
這里magenta/mg_and_lk.md at master · fuchsia-mirror/magenta · GitHub提到:
LK is a Kernel designed for small systems typically used in embedded applications. It is good alternative to commercial offerings like FreeRTOS or ThreadX. Such systems often have a very limited amount of ram, a fixed set of peripherals and a bounded set of tasks.
看樣子是一個嵌入式實時系統,和VR/AR/汽車甚至機器人有些關系;
但后面又說:
On the other hand, Magenta targets modern phones and modern personal computers with fast processors, non-trivial amounts of ram with arbitrary peripherals doing open ended computation.
那么又不像是嵌入式設備專用的系統,倒像是一款通用系統。
Fuchsia的開發者給出了一些提示:
Purple – A system with high performance graphics, low-latency input, and a beautiful UI.
Pink – An incredibly modular system for developers and users.
再看它的內核之外的東西:
Google 把 Flutter 作為 Fuchsia 的用戶界面,Dart 作為主要的編程語言,從顏色和展示效果上看,使用的是 Material Design UI 理念。
Fuchsia 支持 32 位和 64 位的 ARM CPUs,還有 64 位的 PCs,后續應該會支持 Raspberry Pi 3。
UI layer使用Flutter(一個Dart語言實現的移動應用框架,支持Android/Ios,可以寫Native App);底層渲染 Physically Based Renderer,項目代號Escher,支持Vulkan作為底層 Graphics API;那么會不會從系統層面開始支持Material Design呢(Flutter目前就采用的MD,當然這個框架也是支持第三方設計樣式的)?也就是要讓MD更進一步。
其中還有一個Mojo框架(這個東西似乎和Chrome關系很密切,是未來該系統能支持多種編程語言的關鍵),已經綁定了一些語言,比如:Go, Java, JavaScript, Python,Rust。用Dart來寫GUI部分,這些語言可以用來寫后臺代碼。
項目的貢獻者有Travis Geiselbrecht 和 Brian Swetland,這兩人是Android系統的主力開發者,過去開發過WebOS,曾經是 BeOS 的開發者,也參與開發過NewOS, Danger以及iOS。而Dart,Flutter,Mojo這些又來自Chrome團隊,再聯想之前的傳聞“Google打算在2017年統一Android和Chrome OS”,會不會就是這個呢?
Google一再的強調不會支持(SDK層面)Java以外的語言來開發Android App,最近Chromebook又可以無縫運行Android App(通過采用類似容器的技術),那么這個新系統估計也會以這種方式支持已有的Android App。腹黑一下:和Android不同,這個系統似乎目前沒看到有VM之類的東西,而且以后可以不用再和Oracle“剪不斷,理還亂”了。
Google現在有兩套系統:
Android——在平板上以及大屏幕上表現差強人意;Android的碎片化問題應該無解了,只能緩解無法根治;
ChromeOS——在手機上無所作為,在教育領域目前倒是表現的很不錯,但不支持Native App(最近剛剛無縫支持Android App),Web App堪以大用,替代Native App(真的有必要嗎?)還很遙遠。
在未來有著潛在巨大機會的IOT,VR/AR等新興領域,目前還沒有一款一開始就為此優化而打造的系統。
所以:從頭開發一個新的平臺,將這三者融合在一起,應該是它最終的目的(當然也不排除它就是一個RTOS,就是一個嵌入式系統,為VR/AR專門開發的,是我想太多)。
不過,Android目前已經是世界上用戶量最多的系統,生態龐大;ChromeOS剛剛開始有好的表現,Google是不太可能遺棄這倆系統的,它也沒辦法遺棄,比如Android怎么遺棄?
我覺得它更像是一種:進化、融合。你看它的源代碼,其實它的很多技術棧和Android以及ChromeOS是相通的,把以前零散在Google內部的很多項目(比如Skia,Mojo)現在集中在了一起。
所以:系統底層會煥然一新,android的app生態會得以保留和延續,java不再是唯一能寫app的語言,chromeOS可能會被吸收,再輔助以系統層面對VR/AR的支持。
這個策略也符合Alphabet CFO 露絲·波拉特上任以來的風格:精簡產品線,不要任性的亂花錢。
如果這個時候再開發一個
物聯網專用系統,之前已有Brillo,難到是要和Android,ChromeOS搓麻將不成?
| Google 的目的?
了解了 Fuchsia 這么多的信息,但是為什么 Google 要開發一個全新的 OS 和 Kernel?為了在智能手機和 PCs 上構建 Material Design 理念?最有可能的原因是,Google 希望 Fuchsia 有一天能代替 Chrome OS 和 Android,但也許 Google 也會像三星對待 Tizen OS 一樣對待 Fuchsia。但也有可能只是谷歌的一次嘗試。
Fuchsia就是個項目開發代號,未來這個系統真名會叫什么?
也許還是Fuchsia,也許是Android 8.0(9.0),也許是ChromeOS 2.0,也許是一個全新的名字。
什么時候這個新系統能替換(我覺得替換這個詞不太準確)Android和ChromeOS?
我覺得它能很好的融合前兩者已有的生態,新系統切換過程不會給用戶以及第三方廠商帶來明顯的差異感(比如用戶很多app用不了,廠商很多驅動不兼容,很多東西得重新適配,導致用戶和廠商遲遲都不愿轉到新系統,這樣就失敗了),也就是做到對用戶和第三方廠商透明化,它就會成功替換后兩者。
其實第一個提出“Convergence”概念的是Ubuntu,并且Ubuntu也最開始那么做了,只是進展的不太順利,實力上和資金人力物力上Canonical還是不夠,比如Mir一再的跳票。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:技術角度看Google新操作系統Fuchsia
本文網址:http://www.guhuozai8.cn/html/consultation/10839319950.html