机器之心报道
文章转载自机器之心
谷歌新一代操作系统还在路上,清华先出了个「山寨」版。在移动操作系统的市场中,Android 和 IOS 是最强势的两位主导者。 其实早在 2016 年,谷歌就已经开始开发一款名为 Fuchisia 的新操作系统。与 Android 不同,Fuchisia 并非基于 Linux 内核,而是基于 Zircon。据业内人士推测,该系统可能会成为 Android 的强大替代者。 按照原先的猜测,谷歌可能会在今年的 I/O 开发者大会上公布 Fuchsia OS 开发测试版。然而受到疫情影响,本年度 I/O 大会已经取消,Fuchisia 也没了音信。 但问题不大!开源文档在手,又何必苦苦等待官方发布呢?
第一个完全山寨的 Zircon 内核
使用 Rust 编写,实现精简,层级清晰
支持用户态开发、测试和运行
第一个在内核中使用 async 机制
git clone https://github.com/rcore-os/zCorecd zCoregit lfs pullcargo run --release -p zircon-loader prebuilt/zircon
这样一来,就实现了让开发者在用户态开发、用 gdb 配合 IDE 调试、用 cargo test 跑单元测试、统计测试覆盖率等功能,这些在之前的内核开发中都是做不到的。
zCore 的整体架构如下图所示。首先,为了让 zCore 能够同时运行在内核态和用户态,项目作者在最下面设计了一个硬件抽象层(HAL),将内核所依赖的底层操作封装起来,在裸机环境和 Linux/macOS 环境上分别提供不同的实现。