认识 Fuchsia OS
1 说明背景
1.1 基本信息
- 开发者: Google
- 编程语言: C、C++、Rust、Go、Python、Dart
- 内核: Zircon
- 运作状态: 当前
- 源码模式: 开放源代码
- 初始版本: 2016年8月15日
- 支持的语言: 英语
- 支持平台: ARM64、X86-64
- 内核类别: 微内核 基于能力 实时操作系统
- 许可证: BSD 3 clause、MIT和Apache 2.0
- 官方网站: https://fuchsia.googlesource.com/
- 仓库: https://fuchsia.googlesource.com/
1.2 基本概念
Fuchsia 是 Google 开发的一个开源的基于 Capability 的操作系统。与谷歌基于 Linux 的操作系统(如 ChromeOS 和 Android)相比,Fuchsia 基于名为 Zircon 的自定义内核。
1.3 发展历史
- 2016年8月,媒体报道了发布于 GitHub 上的神秘源码,显示 Google 正在开发一个名为 “Fuchsia” 的新操作系统,虽然官方没有正式公布,其源码检查显示其能够跨平台运行,包括“汽车的娱乐媒体系统和嵌入式设备,如红绿灯、数码手表、智能手机、平板电脑与个人电脑”。
- 2017年5月,Ars Technica 编写了关于 Fuchsia 的新用户界面的文章,从 8月 首次披露时的命令行界面上升级,以及开发人员表示“此项目不是玩具项目,不是 20% 时间项目,不是我们不再关心的死去的项目的垃圾场”,多家媒体写到“Fuchsia项目”和Android似乎有密切联系,有人猜测Fuchsia可能是“重做” 或替换 Android9 以在某种程度上修复该平台上的问题。
- 2017年11月,对Swift语言提供了初始支持。
- 2018年1月3日,Google允许开发者以 Google Pixelbook 为目标设备,下载 Fuchsia OS 进行开发与测试。
- 2018年4月,Fuchsia的源代码出现在 AOSP 的 ART 当中,疑似是 AOSP 已经开始将 ART 移植至Fuchsia 上,但源代码仍处于被注释处理的状态。
- 2019年6月28日,Fuchsia OS 的开发者网站 Fuchsia.dev 上线。
- 2020年12月8日,首度在 Google Open Source 博客亮相,呼吁开发者来做出贡献。
- 2021年5月,谷歌员工证实,它已在第一代 Google Nest Hub 的软件更新中首次在消费者市场部署了 Fuchsia,该软件更新取代了其现有的基于 Chromecast 的软件。
2 软件架构
设计原则: 简单、安全、可更新、高性能
3 配置开发环境
3.1 系统环境
wangjianfeng@dev:~/Desktop$ uname -a
Linux dev 5.13.0-28-generic #31~20.04.1-Ubuntu SMP Wed Jan 19 14:08:10 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
3.2 依赖软件
sudo apt-get install curl git unzip
3.3 获取源码
git clone https://fuchsia.googlesource.com/fuchsia
cp fuchsia/scripts/bootstrap /home/wangjianfeng/source
cd /home/wangjianfeng/source && ./bootstrap
# curl -s "https://fuchsia.googlesource.com/fuchsia/+/HEAD/scripts/bootstrap?format=TEXT" | base64 --decode | bash
3.4 构建源码
# Set configures to PATH for Fuchsia
export PATH="$PATH:/home/wangjianfeng/source/fuchsia/.jiri_root/bin"
source /home/wangjianfeng/source/fuchsia/scripts/fx-env.sh
fx set workstation.qemu-x64 --release
fx build
3.5 启动和管理模拟器
mkdir logs
nohup fx serve >> logs/serve-202202111635.log 2>&1 &
fx vdl start --help
# fx vdl start -N
ffx target --help
# ffx target list
# ffx target reboot
# ffx target off
9 相关参考
- 官方文档 | 入门:获取源代码
- 官方文档 | 入门:启动模拟器
- 官方文档 | 入门:探索模拟器
- 官方文档 | 介绍:软件架构
- 新操作系统层出不穷,但什么样的操作系统有前途呢 | 魏永明