转载

探秘:Google酝酿中名叫Fuchsia的神秘新系统

  英文原文:What we learned from running Fuchsia, the mysterious new OS from Google

  计算机与汽车都很多相似的地方,消费者无需懂得底层的纷繁复杂,只要它能开启并使用就行了——Android、Windows、OS X、以及 Linux,也都是如此。当然,在开发出来之后,它们仍需经过多年的磨砺,才会变得更加成熟。不过 Google 正在神秘开发的、名叫“Fuchsia”的新系统,却不是这么一回事。

探秘:Google酝酿中名叫Fuchsia的神秘新系统

  外媒 Android Authority 在几天前撰写了一篇介绍 Fuchsia 的文章,其中包含了一个指向编译指南的链接,感兴趣的网友可以到那里查看如何构建一个可启动的系统。

  打造 Fuchsia 的最简单的方法,就是使用基于 64 位英特尔平台的 Ubuntu Linux 机器(当然也支持在 OS X 和 Debian 等其它 Linux 发行版上编译)。

  如果你对 Linux 不熟悉,接触命令行的技能也相对有限,那么这份工作可能并不是很适合。当前 Fuchsia 主要由两大部分组成——Magenta 内核,以及工具组、库、程序等。

  Magenta 是个小内核(LK),所以 Fuchsia 也是个功能相对有限的小系统。其主要面向嵌入式设备和 bootloaders,支持连接诸多外设的驱动、还有一个“用户模式”。

探秘:Google酝酿中名叫Fuchsia的神秘新系统

  要构建 Fuchsia,你需要注意两个方面。首先是打造在用户空间运行所需的工具和库,包括一个名叫“mxsh”的小型 shell 程序;其次是构建 LK/Magenta。

  搞定了上述部分之后,你就可以在一个文件系统上启动 Magenta,然后用上 Fuchsia 的可执行用户空间。

  想要运行 Fuchsia,最简单的方法是使用热门开源机器模拟器“qemu”。事实上,Fuchsia 的 source tree 中就已经包含了一个 qemu 副本。

  当你启动 Fuchsia 的时候,可以看到很多内核级的调试信息,告诉你与系统启动相关的各种细节 —— 第一句话是“welcome to lk/MP”,然后是舒适化各个子系统(如线程/计时器)。

探秘:Google酝酿中名叫Fuchsia的神秘新系统

  再接着是 CPU 检测、计划任务、设备管理器、以及网络组件部分。引导完成之后,你可以看到一个名叫 mxsh 的简单 shell 程序。

  mxsh 自带了一些指令,包括 cd(进出目录)、cp(复制)、echo(打印变量或字符串)、ls(显示目录下的文件)和 rm(删除文件或目录)。

  如果键入了非 shell 自带的指令,那么它会试图运行 /boot/bin/ 路径下的同名程序。该路径下包含了许多不同的可执行文件,大多面向 Fuchsia 的测试和进一步开发。

  以“thread-depth-test”为例,它主要用来测试 Fuchsia 的现成创建能力。此外还有一些简单的可执行文件,比如 fortune 和 cowsay 。

探秘:Google酝酿中名叫Fuchsia的神秘新系统

  当然,Fuchsia 最重要的是支持 Dart。作为 Google 自家的脚本语言,其最初意在取代 JavaScript)。但随着不断的发展,Dart 已经是一款成熟的解释语言(Google 甚至将它用到了 AdWords 系统中)。

  Dart 有两种工作方式,要么便以为 Javascript(然后通过一个 javascript 解释器来运行)、要么直接通过单独的 Dart VM 来“解释”(Fuchsia 用的就是后者)。

  要在 Fuchsia 上测试 Dart,只需执行 /boot/apps 路径下的 “hello_fuchsia.dart”—— 输入“dart /boot/apps/hello_fuchsia.dart”即可。(只会在控制台上显示 Hello,Fuchsia!)

  看到“Hello, Fuchsia!”,意味着 Fuchsia 已能够运行复杂的解释环境和运行脚本,如进程管理、线程管理、内存管理、文件I/O等。(这肯定让很多人想到了 Linux pre v1.0 发布的时候)

探秘:Google酝酿中名叫Fuchsia的神秘新系统

  Fuchsia OS 将让 Dart 发挥重要的作用,因为当前版本并未包含C编译器和其它高级语言(比如 Java)。

  鉴于 Google 已在 Dart 上投入了不少,这可能意味着该公司正在打造一款运行 Fuchsia 的设备、且会通过 Dart 进行编程。

  当然,我们知道 Fuchsia 并不面向那些只有几 KB 内存的嵌入式设备。这可能是一款虚拟现实装置、家庭自动化产品、或者可以访问巨大的基础设施的 AI 智能设备。

  有观点认为,Fuchsia 可能是一款欲与 Windows 或 OS X 展开竞争的桌面操作系统,但在小编看来是有些荒谬的,毕竟已有 Android 和 Chrome OS 在前。

正文到此结束
Loading...