Chrome OS是基于Linux的,另一方面,安卓也使用Linux内核。Google显然为Linux内核修改维护了独立的开发分支,因为需要内核级特性。此外,他们还经常将新实现的功能回馈给原始仓库。Linux内核为几乎所有的网络提供动力,而且它现在非常稳定。然而,谷歌想要的几个重要功能在Linux内核架构中是缺失的。根据我的观察,Google构建一个新的操作系统是由于以下原因:
- Android操作系统的设计并不符合谷歌的期望,Android最初有基于JIT编译的Dalvik运行时来执行应用程序。后来,他们引入了基于AOT编译的ART。尽管如此,Android仍然需要用额外的工具从APK文件中制作支持的二进制文件。同样,进一步的改进也会使Android系统变得臃肿、笨拙和复杂。
- Google需要摆脱Java。Oracle的新授权模式让Java社区不高兴。谷歌有自己的编程语言Dart。
- 如果Google有一个新的操作系统,他们对设备有更多的控制。无声的内核级升级不会是一个大问题。
- Linux内核遵循的是单片机设计模式。换句话说,整个操作系统的核心在一个有堆叠模块的进程内运行。如果一个模块崩溃了,整个内核就会崩溃。
Fuchsia 有一个微内核
如前所述,Linux 内核是一个运行在内核空间上的大型进程,因此,不可能轻松地自动升级模块。此外,单体内核设计是一种旧的不太安全的方法,因为设备驱动程序也在内核空间中工作。另一方面,微内核模式将操作系统的模块分解为孤立的服务,称为服务器。每个服务器可以通过进程间通信(IPC)通道与其他服务器进行通信。如果一个服务器发生故障,整个微内核不会失败,这与单片机内核的设计不同。
微内核设计支持快速升级,因为每个内核模块都是一个独立的组件。微内核方法是解决Android碎片化问题的好办法。Android碎片化是指不同手机厂商创造的各种Android风格的存在。在这种情况下,Google 无法直接为所有 Android 设备发送内核级升级。微内核设计解决Android碎片化问题。然而,微内核也有几个缺点,主要问题是微内核的执行速度比单片内核慢。这种缓慢是由于客户端-服务器架构的通信渠道造成的。由于这个问题,Windows 和 XNU (Mac) 内核遵循单片和微模式,称为混合模式。
或许,Google是因为现代操作系统的需要而选择了微内核模式。例如,加强安全性、实时内核更新和稳定性。而且,它们可能具有不同的概念来优化微内核实现的通信方法。
从头开始学习
毫无疑问,Google拥有世界上最优秀的工程师,他们与每个流行的操作系统和每个操作系统 API 密切合作。因此,Fuchsia 将是世界上最优秀的头脑和他们经验的结果。请记住,他们为高性能计算场景制作了 Golang。与任何其他现有语言不同,Golang 提供了一种具有良好性能的人性化语法。例如,C/C++ 语言具有良好的性能,但缺乏对开发人员友好的语法。另一方面,类似 Python 的语言具有开发人员友好的语法,但不会表现出良好的性能因素。
同样,所有现有的操作系统都有几个痛点——没有完美的操作系统。 Windows 是一个被广泛使用的操作系统,但它确实在 Windows XP 版本之后变得臃肿。
macOS 对开发人员和用户都有很多不必要的限制。GNU/Linux 很棒,但它是由许多开发人员构建的不同组件的集合——没有明确定义的标准。事实上,谷歌拥有所有这些经验。因此,他们可以通过最大限度地减少现代操作系统上存在的这些问题来构建操作系统。这些原因为 Fuchsia 成为有史以来最成功的操作系统带来了更高的机会。
Flutter 帮助 Fuchsia 流行起来
Flutter 现在是一个流行的框架,率先进入跨平台移动应用开发市场。之后,它也通过进入跨平台的桌面应用开发市场来警告Electron。Google表示 Flutter 也为 Fuchsia 编译应用程序,但我们并没有太注意它。我的观点是 Flutter 是作为 Fuchsia 的主要应用程序开发工具包而构建的,就像 Windows 的 .NET 框架一样。也许,Flutter 团队最初专注于 Android 和 iOS 来解决他们当前的移动应用程序开发问题。此外,针对 Android 和 iOS 是接触开发者社区的好方法——因为没人知道 Fuchsia 到底是什么。
当每个人都倾向于用Flutter制作他们的应用程序时,当Google发布Fuchsia时,这些应用程序将与Fuchsia原生兼容。
与其他操作系统的竞争
显然,Fuchsia 将成为Google设备的默认操作系统:Chromebook、Google眼镜、Pixel 和 Nest(Google的家庭自动化产品)。Fuchsia 是一个像 Linux 一样的开源产品,而且,它是来自世界科技巨头的产品,因此,很多人会尝试使用 Fuchsia。另一方面,Chromebook 和 Pixels 等设备可能会比 Apple 设备更受欢迎,因为 Google 设备将作为自己的操作系统出现。
然而,世界上几乎所有的人都不是技术极客。因此,他们不会检查为什么从高度技术角度看Fuchsia更好。Fuchsia 的成功取决于它如何解决用户的问题。 Linux 确实比 Windows 好,但仍然有大约 87% 的人使用 Windows。原因是Windows比Linux更能解决一个典型人的问题。让我们等待,直到Fuchsia发出一些声音。