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

简介:

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

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

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

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

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

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

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

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

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

image

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

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

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

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

image

当然,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发布的时候)

image

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

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

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

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

文章转载自 开源中国社区[http://www.oschina.net]

相关文章
|
5月前
|
数据挖掘 定位技术 计算机视觉
Google Earth Engine(GEE)——加拿大森林生态系统的高分辨率年度林地覆盖图(1984-2019)
Google Earth Engine(GEE)——加拿大森林生态系统的高分辨率年度林地覆盖图(1984-2019)
62 0
|
1月前
|
SQL 监控 大数据
通过Google Dataflow,我们能够构建一个高效、可扩展且易于维护的实时数据处理系统
【9月更文挑战第7天】随着大数据时代的到来,企业对高效数据处理的需求日益增加,特别是在实时分析和事件驱动应用中。Google Dataflow作为Google Cloud Platform的一项服务,凭借其灵活、可扩展的特点,成为实时大数据处理的首选。本文将介绍Dataflow的基本概念、优势,并通过一个电商日志分析的实际案例和示例代码,展示如何构建高效的数据处理管道。Dataflow不仅支持自动扩展和高可用性,还提供了多种编程语言支持和与GCP其他服务的紧密集成,简化了整个数据处理流程。通过Dataflow,企业可以快速响应业务需求,优化用户体验。
51 3
|
5月前
|
机器学习/深度学习 编解码 算法
Google Earth Engine APP(GEE)——加拿大陆地生态系统中的土壤碳储量数据集
Google Earth Engine APP(GEE)——加拿大陆地生态系统中的土壤碳储量数据集
92 0
|
JSON 自然语言处理 Java
「微服务架构」Google和eBay在构建微服务生态系统方面的深刻教训
「微服务架构」Google和eBay在构建微服务生态系统方面的深刻教训
|
机器学习/深度学习 数据采集 自然语言处理
谷歌为1000+「长尾」语言创建机器翻译系统,Google翻译已支持部分小众语言
谷歌为1000+「长尾」语言创建机器翻译系统,Google翻译已支持部分小众语言
125 0
|
存储 SQL 缓存
Google 大规模监控系统 --Monarch
Google 大规模监控系统 --Monarch
285 0
Google 大规模监控系统 --Monarch
|
编解码
Google Earth Engine(GEE)——GEDI L2A Vector Canopy Top Height (Version 2) 全球生态系统数据集
Google Earth Engine(GEE)——GEDI L2A Vector Canopy Top Height (Version 2) 全球生态系统数据集
217 0
Google Earth Engine(GEE)——GEDI L2A Vector Canopy Top Height (Version 2) 全球生态系统数据集
|
Web App开发 存储 监控
如何通过Google Chrome远程控制你的Windows 10系统
Google提供了一个免费而又强大的工具--Chrome远程桌面(Chrome Remote Desktop),来允许你连接并控制互联网上的Windows 10电脑系统(这同样适用于Windows 7和8)。根据本文介绍的步骤,你可以在家里或办公室的Windows 10系统上通过设置Chrome远程桌面,来借助互联网进行连接和控制了。
2779 1
如何通过Google Chrome远程控制你的Windows 10系统
|
编解码 定位技术
Google Earth Engine(GEE)—— 全球生态系统动态调查(GEDI)综合数据集(高程、森林覆盖、城市占比)
Google Earth Engine(GEE)—— 全球生态系统动态调查(GEDI)综合数据集(高程、森林覆盖、城市占比)
813 0
Google Earth Engine(GEE)—— 全球生态系统动态调查(GEDI)综合数据集(高程、森林覆盖、城市占比)
|
编解码 数据挖掘 定位技术
Google Earth Engine——Murray全球潮间带变化数据集包含了通过对707,528张Landsat Archive图像进行监督分类而产生的全球潮间带生态系统地图
Google Earth Engine——Murray全球潮间带变化数据集包含了通过对707,528张Landsat Archive图像进行监督分类而产生的全球潮间带生态系统地图
194 0
Google Earth Engine——Murray全球潮间带变化数据集包含了通过对707,528张Landsat Archive图像进行监督分类而产生的全球潮间带生态系统地图