今年年初,市场调查公司Gartner发布了一份调查报告,报告结果显示当前的移动操作市场中,Android的市场占比为85.9%,iOS系统的占比为14%,而两者合计占据市场高达99.9%的份额。反观其他移动操作系统累计仅有0.1%的占比,毫无疑问,这意味着其他小众的操作系统在当前的大环境之下,几乎没有生存空间。
同时,从此前落败的BlackBerryOS、SymbianOS以及WindowsPhone等系统来看,是否真的很难再出现第三大移动操作系统了?
事实上,不好判断。为什么这么说?一方面,全球第一大移动操作系统Android于今年遇到了有史以来最大的麻烦,即被欧盟认定其存在垄断市场、排挤竞争对手等行为,Google为此不得不改变Android操作系统的许可政策;另一方面,就Android操作系统本身而言,其系统碎片化问题日趋严重,且并未随着Google发布 ProjectTreble项目而有明显的改善,最终导致不少开发者弃坑而逃;最后,自2016年起,就有不少媒体透露Google正在秘密研发全新的操作系统——Fuchsia,而这款系统的终极目的就是取代Android系统,不过,对于这款神秘的操作系统,Google对外宣布的细节并不多,但近日据外媒 9To5Google报道,借道Android,Fuchsia或将支持Java了!
整体看来,说尚未落地的 Fuchsia 将取代Android还为时尚早,但是根据接连不断的消息也不难推测出,Google似乎正在培养继Android之后的二号产品,也大有第三大操作系统之势。
01
融合了Android和ChromeOS的跨设备操作系统——Fuchsia
2016年8月,全球知名的开发者社区GitHub上悄然上出现了一名为Fuchsia的项目(https://github.com/fuchsia-mirror),而点开其详情,该项目可直接链接到Google的Git源码库(https://fuchsia.googlesource.com/),就此,Fuchsia才得以曝光。据了解,Fuchsia 操作系统并不是像Android和ChromeOS一样使用Linux内核,而是使用一种名为“Magenta”的内核,Magenta构建于“LittleKernel”(LK)之上,主要使用C和C++语言编写,这是一个专为嵌入式设备设计的小型内核,也是FreeRTOS或ThreadX等实时操作系统的竞争对手,不过,2017年,“Magenta”被重新命名为“Zircon”。
之所以在新系统中放弃Linux内核,是因为如今的Liunx内核包含了1500万行代码,其中许多代码都不是Google操作系统所必需的。且如此多的代码行也代表了一个巨大的攻击面,尽管Linux发行版通常被认为比Windows和macOS更安全。
新操作系统Fuchsia的内核Zircon 虽然是在LK(LittleKernel)基础上建立,但是和LK有很大的不同。诸多,LK是专门为具有少量RAM的设备而设计,而Zircon 主要针对具有更多RAM和更高处理能力的智能手机及PC等设备。Zircon 还支持系统进程,而LK则不支持。但是,Zircon 进程由LK级构造(如线程和内存)组成。
与LK相比,Zircon 还具有一流的用户模式支持,是一个对象处理系统,并具有基于功能的安全模型。安全性应类似于Android的权限模型。但是,它可能更严格,因为新架构是从头开始创建的,并考虑到“最小特权”安全模型。据了解,Fuchsia操作系统将支持32位和64位ARM设备(包括RaspberryPi3)以及 AMD64架构。
此外,Fuchsia系统最大的优势是可以作为一款融合Android和ChromeOS的跨设备操作系统出现,即根据硬件的不同,将操作系统分成两个单独的用户界面。据9to5Google报道,Fuchsia 由两个截然不同但相互关联的用户界面(UI)组成,一个以手机为中心,代号为"Armadillo"的UI(也被认为是Fuchsia的系统UI),另一个是传统的桌面UI,内部代号称为"Capybara"。而该界面和系统的应用程序是用Google的FlutterSDK编写的,这个项目可以提供跨平台即Android和iOS上运行的代码。而FlutterApp使用的是Dart语言编写。
02
Fuchsia或将支持Java!
同时,外媒9to5Google在最新的报道中还表示,在Android的Gerrit源代码管理中,有人发现Google的提交记录,该提交记录显示,Google一直在私下处理Fuchsia与Android的Libcore的兼容性,他们现在正在将其公之于众。
而Libcore正是Android使用Java的基础。其中值得注意的是,Libcore中大部分添加了对Fuchsia的兼容性,其被称之为'ojluni',分别代表OpenJDKLang、Util、Net、IO。这些是使用开源OpenJDK实现Java的四个基础部分。至少,这表明Fuchsia最终将会运行Java代码。
除此之外,提交记录本身并没有透露任何其他有趣的细节,它只是调整了部分需要为Fuchsia和Zircon 工作的代码而并非针对Linux和Android做的改变。不过,在Fuchsia的代码中目前也没有相匹配的更改来表明其确切目的。
简单推测一下,这是今年早些时候将AndroidRuntime引入Fuchsia的后续工作。另一方面,这可能是Google想在最新的操作系统上运行Java而做的努力。
03
为什么Google需要新的操作系统?
写到了这里,或许很多人还是很不解,难道仅是因为Android被判垄断,Google就要放弃世界第一大操作系统这个香饽饽?事实上,Google弱化Android这个品牌也绝非一天两天,此前CSDN也总结了Google对于Android的种种动作,并发出《Google要放弃Android了?》的疑问,对此,有网友@xg15表示道:
“Google目前正在维护三个不同的操作系统:Android,Chrome操作系统和现在的Fuchsia——过去就有很多消息谣传他们可能会将它们统一起来。
所以我的猜测是他们要么不再强调Android,想要弱化之前操作系统碎片泄漏的事件影响,要么他们真的计划在某些时候放弃Android技术基础。”
而即使是弱化Android,那为何Google甚至也要弃Linux内核去使用新的内核?对此,外媒Tomshardware分析其中主要原因,一共有三:
从头开始
曾经的移动互联网已在潜移默化中向万物互联时代过渡,Google希望创建一个包罗万象的操作系统,而这个系统需要足够纤薄,足以安全地处理从物联网设备到个人电脑的任何事情。简而言之,可以把它想象成Android(用于物联网的移动操作系统)和Windows(用于移动和物联网的桌面操作系统)的更薄版本。
过去很长的一段时间内,Google早已在构建操作系统方面积累了丰富的专业知识和专业知识,现在旨在利用所有这些知识去创建一个不受过去错误和遗留代码困扰的新操作系统。这是一个全新的开始,也可以从开发现代操作系统的所有最新研究中受益。
拉开与Java的间隔,控制编程语言
第二点,今年3月,Google和Oracle纠缠长达八年的“Java侵权案”最终有了结果,令Google懊恼的是,美国联邦巡回法院判其向Oracle赔偿88亿美元,其中主要缘由Oracle认为Android抄袭了Java项目的部分。
不过即使没有诉讼,Google也没有苹果公司(Objective-C和Swift)和微软(C#)的语言开发自由。所以,开发新一代操作系统Fuchsia也是Google可以选择更好控制的编程语言机会。
之前,Google已经创建了两种语言,Go和Dart。现在看来,Google似乎选择Dart作为Fuchsia的主要应用程序开发语言,且他们可能最终希望所有Android开发人员转而使用Dart开发应用程序。
减轻如同老系统Android带来的碎片化问题
开源的Android不像闭源的iOS系统那般容易管理,Android的更新模式对Google而言尤其令人头痛,Google修复Android漏洞的速度几乎无关紧要,因为手机制造商和运营商可以自行推出系统更新,这样是常说的Android碎片化问题。
ChromeOS已经逃脱了这一更新的噩梦,因为虽然它背后的核心代码是开源(ChromiumOS),但商用的ChromeOS本身只能由Google修改。这使得Google可以完全控制更新周期。
04
Fuchsia的未来
截止目前,Google对于其新一代操作系统Fuchsia的态度可谓非常的低调。那么对于这样的一个项目,赢面究竟有多大?
此前,Google的Android工程副总裁DaveBurke对Fuchsia系统做出过解释称,Fuchsia是一个早期的实验项目,而在Google内部有很多这种实验项目,由于是早期项目,因此其还存在很大的变数。
确实如此,就国内而言,至今仍未有一款真正的国产移动操作系统来与Android和iOS相抗衡,除了人才稀缺、财力消耗巨大等因素之外,重要的是系统生态问题。即使Google在Fuchsia上研发成功,倘若不能将Android上超过10亿的用户、开发商以及制造商平稳的过渡,那么最终结局可能只会如微软的WindowsPhone一样,失败而终。