ztgreenleaves 2019-03-01
发布了一份调查报告,报告结果显示当前的移动操作市场中,Android 的市场占比为 85.9%,iOS 系统的占比为 14%,而两者合计占据市场高达 99.9% 的份额。反观其他移动操作系统累计仅有 0.1% 的占比,毫无疑问,这意味着其他小众的操作系统在当前的大环境之下,几乎没有生存空间。
同时,从此前落败的 BlackBerry OS、Symbian OS 以及 Windows Phone 等系统来看,是否真的很难再出现第三大移动操作系统了?
整体看来,说尚未落地的Fuchsia将取代 Android 还为时尚早,但是根据接连不断的消息也不难推测出,Google 似乎正在培养继 Android 之后的二号产品,也大有第三大操作系统之势。
融合了 Android 和 Chrome OS 的跨设备操作系统——Fuchsia
2016 年 8 月,全球知名的开发者社区 GitHub 上悄然上出现了一名为 Fuchsia 的项目(https://github.com/fuchsia-mirror),而点开其详情,该项目可直接链接到 Google 的 Git 源码库(https://fuchsia.googlesource.com/),就此,Fuchsia 才得以曝光。据了解,Fuchsia 操作系统并不是像 Android 和 Chrome OS 一样使用 Linux 内核,而是使用一种名为“Magenta”的内核,Magenta 构建于“Little Kernel”(LK)之上,主要使用 C 和 C++ 语言编写,这是一个专为嵌入式设备设计的小型内核,也是 FreeRTOS 或 ThreadX 等实时操作系统的竞争对手,不过,2017 年,“Magenta”被重新命名为“Zircon”。
之所以在新系统中放弃 Linux 内核,是因为如今的 Liunx 内核包含了 1500 万行代码,其中许多代码都不是 Google 操作系统所必需的。且如此多的代码行也代表了一个巨大的攻击面,尽管 Linux 发行版通常被认为比 Windows 和 macOS 更安全。
新操作系统 Fuchsia 的内核Zircon虽然是在 LK(Little Kernel)基础上建立,但是和 LK 有很大的不同。诸多,LK 是专门为具有少量 RAM 的设备而设计,而Zircon主要针对具有更多 RAM 和更高处理能力的智能手机及 PC 等设备。Zircon还支持系统进程,而 LK 则不支持。但是,Zircon进程由 LK 级构造(如线程和内存)组成。
与 LK 相比,Zircon还具有一流的用户模式支持,是一个对象处理系统,并具有基于功能的安全模型。安全性应类似于 Android 的权限模型。但是,它可能更严格,因为新架构是从头开始创建的,并考虑到“最小特权”安全模型。据了解,Fuchsia 操作系统将支持 32 位和 64 位 ARM 设备(包括 RaspberryPi3)以及 AMD64 架构。
此外,Fuchsia 系统最大的优势是可以作为一款融合 Android 和 Chrome OS 的跨设备操作系统出现,即根据硬件的不同,将操作系统分成两个单独的用户界面。据 9to5Google 报道,Fuchsia由两个截然不同但相互关联的用户界面(UI)组成,一个以手机为中心,代号为"Armadillo"的 UI(也被认为是 Fuchsia 的系统 UI),另一个是传统的桌面 UI,内部代号称为"Capybara"。而该界面和系统的应用程序是用 Google 的 Flutter SDK 编写的,这个项目可以提供跨平台即 Android 和 iOS 上运行的代码。而 Flutter App 使用的是 Dart 语言编写。
欢迎工作一到五年的Java工程师朋友们加入Java程序员开发: 854393687
群内提供免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!
Fuchsia 或将支持 Java!
同时,外媒 9to5Google 在最新的报道中还表示,在 Android的 Gerrit 源代码管理中,有人发现 Google 的提交记录,该提交记录显示,Google 一直在私下处理 Fuchsia 与 Android 的 Libcore 的兼容性,他们现在正在将其公之于众。
而 Libcore 正是 Android 使用 Java 的基础。其中值得注意的是,Libcore 中大部分添加了对 Fuchsia 的兼容性,其被称之为'ojluni',分别代表 OpenJDK Lang、Util、Net、IO。这些是使用开源 OpenJDK 实现 Java 的四个基础部分。至少,这表明 Fuchsia 最终将会运行 Java 代码。
除此之外,提交记录本身并没有透露任何其他有趣的细节,它只是调整了部分需要为 Fuchsia 和Zircon工作的代码而并非针对 Linux 和 Android 做的改变。不过,在 Fuchsia 的代码中目前也没有相匹配的更改来表明其确切目的。
为什么 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 碎片化问题。
Chrome OS 已经逃脱了这一更新的噩梦,因为虽然它背后的核心代码是开源(Chromium OS),但商用的 Chrome OS 本身只能由 Google 修改。这使得 Google 可以完全控制更新周期。
Fuchsia 的未来
截止目前,Google 对于其新一代操作系统 Fuchsia 的态度可谓非常的低调。那么对于这样的一个项目,赢面究竟有多大?
此前,Google 的 Android 工程副总裁 Dave Burke 对 Fuchsia 系统做出过解释称,Fuchsia 是一个早期的实验项目,而在 Google 内部有很多这种实验项目,由于是早期项目,因此其还存在很大的变数。
确实如此,就国内而言,至今仍未有一款真正的国产移动操作系统来与 Android 和 iOS 相抗衡,除了人才稀缺、财力消耗巨大等因素之外,重要的是系统生态问题。即使 Google 在 Fuchsia 上研发成功,倘若不能将 Android 上超过 10 亿的用户、开发商以及制造商平稳的过渡,那么最终结局可能只会如微软的 Windows Phone 一样,失败而终。
欢迎工作一到五年的Java工程师朋友们加入Java程序员开发: 854393687
群内提供免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!