You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Yu Chen 794d402a4b
update docs
5 years ago
..
img 完成内核对象简介 6 years ago
zcore-intro zCore整体结构介绍 (#6) 6 years ago
README.md 完成首页、内核对象一开始的内容。建立空项目。 6 years ago
SUMMARY.md add chapter about HAL 5 years ago
ch01-00-object.md 调整内容大纲,并对每篇文章细化具体内容 6 years ago
ch01-01-kernel-object.md update docs 5 years ago
ch01-02-process-object.md update docs 5 years ago
ch01-03-channel-object.md update docs 5 years ago
ch02-00-task.md 调整内容大纲,并对每篇文章细化具体内容 6 years ago
ch02-01-zircon-task.md update ch01/ch02 5 years ago
ch02-02-process-job-object.md add process/thread info 5 years ago
ch02-03-thread-object.md add process/thread info 5 years ago
ch03-00-memory.md init outline 6 years ago
ch03-01-zircon-memory.md init outline 6 years ago
ch03-02-vmo.md update docs 5 years ago
ch03-03-vmo-paged.md 调整内容大纲,并对每篇文章细化具体内容 6 years ago
ch03-04-vmar.md update docs 5 years ago
ch04-00-userspace.md init outline 6 years ago
ch04-01-user-program.md 调整内容大纲,并对每篇文章细化具体内容 6 years ago
ch04-02-context-switch.md 调整内容大纲,并对每篇文章细化具体内容 6 years ago
ch04-03-syscall.md 调整内容大纲,并对每篇文章细化具体内容 6 years ago
ch05-00-signal-and-waiting.md update docs 5 years ago
ch05-01-wait-signal.md 调整内容大纲,并对每篇文章细化具体内容 6 years ago
ch05-02-port-object.md 调整内容大纲,并对每篇文章细化具体内容 6 years ago
ch05-03-more-signal-objects.md 调整内容大纲,并对每篇文章细化具体内容 6 years ago
ch05-04-futex-object.md update docs 5 years ago
ch06-00-hal.md add ch06 5 years ago
ch06-01-zcore-hal-unix.md add chapter about HAL 5 years ago
fuchsia.md init outline 6 years ago
zcore-intro.md zCore整体结构介绍 (#6) 6 years ago

README.md

简明 zCore 教程

自己动手山寨操作系统:自顶向下方法

zCore 是用 Rust 语言重写的 Zircon 微内核,它是 Google 正在开发的 Fuchsia OS 中的底层内核。

本教程基于 zCore 的真实开发历史,还原其开发过程。带领读者一步一步用 Rust 实现自己的 Zircon 内核,最终能够运行原生的 shell 程序。 在此过程中我们将体会 Zircon 微内核的设计理念,感受如何用 Rust 语言以一种现代的方式编写系统软件,在项目中实现理论与实践的融合。

与传统操作系统开发不同的是zCore 使用一种自顶向下的方法:首先基于宿主系统已有的功能,在用户态实现一个能够工作的 libOS然后再逐步替换底层实现 "移植"回裸机环境中运行。因此我们更关注系统的整体设计,从高层视角看待 OS 如何为用户提供服务,而不纠结于底层硬件细节。

鉴于此,本教程假设读者了解操作系统基本概念和原理,具有常用的 Linux 系统使用经验,并且会使用 Rust 语言编写简单程序。 如果读者不熟悉操作系统和 Rust 语言,希望以自底向上方法从零构建操作系统,rCore Tutorial 可能是更好的选择。

如果你准备好了,让我们开始吧!