取代Android?聊聊谷歌的Fuchsia新操作系统

简介:

最近,一款由谷歌开发,被称为 Fuchsia 的操作系统在网上曝光。Fuchsia 是在去年 8 月就进入了 GitHub 项目,但谷歌对此非常低调,像操作系统这样的重量级项目,却没有官方的宣传和说明介绍。网上的介绍称这个操作系统采用了代号为 Magenta[一种给给的洋红色] 的微内核设计 [MicroKernel],是一种实时操作系统 [real-time OS]。在谷歌官方介绍出现前,网上已经有了大量的「解毒」:例如说 Fuchsia 是用来取代 Android 高性能操作系统,兼容 Android 应用;也有说是针对物联网开发的一种实时操作系统;甚至有说是为了混合现实 [MR] 设计的操作系统,这众说纷纭下,哪个比较有道理?

微内核和实时系统

取代Android?聊聊谷歌的Fuchsia新操作系统
操作系统架构分类 [集成型-微内核-混合型] - 图片来自维基百科

微内核在计算机术语中,特指的是操作系统的内核小型化,即操作系统核心部分架构只有线程管理、内存管理和进程间通讯等最基本的系统调用功能,即使是系统服务、硬件驱动都放在了用户空间应用。不同应用间通过进程通信方式完成。微内核是相对于 Linux 这种庞大的集成式核心的最大优势就是较好的伸缩性,其硬件驱动和系统服务可以按需取舍,效率高,因此微内核设计的操作系统和硬件在日常生活中常见于路由器等小型设备,以及一些分工明确的分布式系统。但随着硬件性能的提升,小设备的系统也正在变得大而全起来,以 Linux、Android 为基础的「智能硬件」已经广泛普及。

取代Android?聊聊谷歌的Fuchsia新操作系统
Windows NT

取代Android?聊聊谷歌的Fuchsia新操作系统
Mac OS

在 PC 上运行的操作系统中,基于 Mach 的 MacOS 就是微内核系统的典型,虽然 WindowsNT 和 OSX 都曾经自我标榜为微内核操作系统,但由于微内核系统中用户访问程序、硬件等行为都需要通过通信而不是程序函数调用完成,因此在大型复杂的应用下性能和效率都非常捉急。现在的 Windows 和 OSX 系统都将大量的系统服务和硬件驱动放入系统核心部分,其实更为接近 Linux 这样的集成式核心设计,有时会把这种集成式内核和微内核设计的结合称为混合式核心设计。

而实时系统是一种以实时 [或尽快] 并按时完成需求任务的操作系统类型,比较著名的有 WindowsCE、VxWorks 等。这类系统并不追求大数据吞吐量,而是要求有较快的响应速度和灵活的任务执行能力。

Fuchsia 能做什么?

取代Android?聊聊谷歌的Fuchsia新操作系统
Google Fuchia Logo - 图片来自互联网

目前比较受欢迎的微内核+实时系统有开源的 FreeRTOS 等,它没有图形操作界面,主要用于实现类似无线路由器等功能比较单一的设备系统。而 Fuchsia 已经被归类为微内核+实时系统,是不是真的奔着物联网操作系统而去的?但 Fuchsia 出名就是因为在油管上有人演示了在手机上运行 Fuchsia 图形界面的片段而开始火起来的,当然目前其图形界面还处于初始演示阶段,并没有具体的功能,但可以看出人们还是希望更愿意接触的是一个有图形界面的全能型操作系统,而不是早期的纯命令行模式界面,然而对于大多数物联网设备来说,UI 只是个累赘。

但以此要推断出 Fuchsia 是要做物联网操作系统还是取代 Android 还为时过早,从硬件支持平台来看,Fuchsia 主要支持的是 ARM64 和 X86-64 两种高性能运算处理器类型,这类高功耗处理器显然不适合用在追求低功耗和小型化的物联网平台,至少从 Fuchsia 开发者团队的意愿来看,其设计目标应该还是完整的图形操作系统。

取代Android?聊聊谷歌的Fuchsia新操作系统
谷歌 Fuchsia 系统界面截图

那么 Fuchsia 的诞生是不是真为了取代基于 Linux 的 Android?许多人对大数据和复杂应用的理解可能是超算暴力运算任务或电信机房的服务器,因此误认为小型化的微内核和实时系统对于普通用户应用而言更有优势。但事实上用户日常的游戏娱乐、浏览网页看视频等应用对于目前使用微内核和实时系统的单一个体硬件来说都是非常巨大的处理器运算和数据负担 [不信打开微信支付宝客户端试试]。虽然 Android 的很多缺点是由于 Linux 内核导致,但更多的是软件开发者不注重效率地过度开发和功能堆砌,或谷歌在开发 Android 组件时技术水平有限造成的 [类似 Skia GPU 的负优化],改用微内核和实时系统设计未必能显著提升这类手机应用环境下的性能和效率。

取代Android?聊聊谷歌的Fuchsia新操作系统
谷歌 Fuchsia 系统源代码开发语言构成

另外,从 Fuchsia 的开发语言构成来看,它采用了 C、C++甚至是 Dust、Go、Python 等编程语言,但并没有任何 Java 虚拟机、运行库的兼容和支持迹象,肯定是无法正常安装和运行 Android 应用的 [倒是包含了一个 qemu 操作系统虚拟机]。至少目前来看,兼容和取代 Android 也只是一些人的愿景,或者说脑补而已。这就好比微软打算推出一款完全不支持 Visual C++程序的桌面操作系统以取代现在的 Windows,只会逼着客户和开发者造反。当然也不能完全排除谷歌真有取代 Android 的打算。至于 MR 应用,那只是一种特定应用环境,并不太需要开发一套新的操作系统来解决应用层的问题。

操作系统是最复杂软件工程之一,往往需要花费顶级序员们数年甚至数十年的精力进行开发和完善,微机史上出昙花一现操作系统不计其数,绝大多数并不会被人所铭记。也有类似 FirefoxOS 等试图以「自主操作系统」的方式吸引市场和消费者,但失败者居多,也正因为操作系统已经变得越来越复杂,哪怕是利用现成的开放源代码改造也很难在技术上做好并在市场上实现弯道超车。而目前 Fuchsia 的状态也只是一个十几人的小团队项目,有很强的试验性质,真要做一个完全取代 Android 的操作系统,肯定需要更大的开发团队规模,或许三五年以后,谷歌开发新系统的真正目的和意义才会变得明显






本文作者:佚名
来源:51CTO
相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
目录
相关文章
|
2月前
|
物联网 vr&ar Android开发
探索安卓与iOS操作系统的未来发展趋势
【2月更文挑战第9天】本文将深入探讨安卓与iOS操作系统的未来发展趋势。通过分析当前技术发展和市场趋势,我们将探讨移动操作系统在人工智能、虚拟现实、物联网等领域的应用前景,以及如何满足用户需求并提升用户体验。同时,我们还将着重讨论两大操作系统在隐私保护、系统优化和生态建设方面的不断改进。
28 4
|
2月前
|
机器学习/深度学习 人工智能 Android开发
安卓智能手机操作系统演化史
【2月更文挑战第5天】 本文通过对安卓智能手机操作系统的演化历程进行探讨,分析了安卓系统从诞生至今的发展脉络和关键技术革新,从最初的版本到如今的最新版本,探讨了其在移动互联网时代的重要作用,以及未来可能的发展方向。
|
3月前
|
安全 Android开发 数据安全/隐私保护
请说明鸿蒙操作系统与其他操作系统(如Android和iOS)的主要区别。
请说明鸿蒙操作系统与其他操作系统(如Android和iOS)的主要区别。
59 1
|
3月前
|
Java Linux Android开发
Android基础知识:解释什么是Android(安卓)操作系统?
Android基础知识:解释什么是Android(安卓)操作系统?
155 0
|
29天前
|
搜索推荐 Android开发 iOS开发
安卓与iOS操作系统的发展与比较
在移动互联网时代,安卓和iOS两大操作系统在智能手机市场竞争激烈。本文将从技术架构、生态系统、用户体验等方面对安卓和iOS进行比较分析,探讨它们各自的特点和发展趋势。
|
1月前
|
搜索推荐 vr&ar Android开发
探索安卓与iOS操作系统的发展趋势
【2月更文挑战第10天】 随着移动技术的迅猛发展,安卓和iOS操作系统成为了市场上最主流的两个选择。本文将探讨安卓和iOS操作系统在技术和用户体验方面的发展趋势,并分析其对移动设备行业的影响。
|
2月前
|
人工智能 自然语言处理 Android开发
安卓与iOS操作系统的发展趋势与比较
【2月更文挑战第4天】 在移动互联网时代,安卓和iOS操作系统作为两大主流操作系统一直备受关注。本文将对安卓和iOS操作系统的发展趋势进行分析,并对它们进行比较,探讨它们在技术上的优劣势和未来发展方向。
26 1
|
Rust 安全 Java
谷歌为Android操作系统开发者增加了新的选择 Rust
谷歌为Android操作系统开发者增加了新的选择 Rust
173 0
|
存储 缓存 JSON
Code For Better 谷歌开发者之声——Android 中的 Volley 库
Volley是一个HTTP 库,它使 Android 应用程序的网络变得非常简单和快速。它由 Google 开发并在 2013 年 Google I/O 期间推出。它的开发是因为 Android SDK 中缺少能够在不影响用户体验的情况下工作的网络类。尽管 Volley 是 Android 开源项目 (AOSP) 的一部分,但 Google 在 2017 年 1 月宣布 Volley 将迁移到一个独立的库。它管理网络请求的处理和缓存,并节省开发人员一次又一次编写相同的网络调用/缓存代码的宝贵时间。Volley不适合大型下载或流式操作,因为 Volley 在解析期间将所有响应保存在内存中。
100 0