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.
|
|
6 years ago | |
|---|---|---|
| .. | ||
| README.md | 6 years ago | |
| SUMMARY.md | 6 years ago | |
| ch01-00-object.md | 6 years ago | |
| ch01-01-kernel-object.md | 6 years ago | |
| ch01-02-process-object.md | 6 years ago | |
| ch01-03-channel-object.md | 6 years ago | |
| ch02-00-task.md | 6 years ago | |
| ch02-01-zircon-task.md | 6 years ago | |
| ch02-02-hal-async.md | 6 years ago | |
| ch02-03-thread-object.md | 6 years ago | |
| ch02-04-process-job-object.md | 6 years ago | |
| ch03-00-memory.md | 6 years ago | |
| ch03-01-zircon-memory.md | 6 years ago | |
| ch03-02-vmo.md | 6 years ago | |
| ch03-03-vmar.md | 6 years ago | |
| ch04-00-userspace.md | 6 years ago | |
| ch04-01-user-program.md | 6 years ago | |
| ch04-02-load-elf.md | 6 years ago | |
| ch04-03-context-switch.md | 6 years ago | |
| ch04-04-syscall.md | 6 years ago | |
| fuchsia.md | 6 years ago | |
| zcore-intro.md | 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 可能是更好的选择。
如果你准备好了,让我们开始吧!