一本面向会 Rust 但不熟悉 CPU / 模拟器 / 汇编的开发者的"小白教程"。 读完本书,你将亲手写出一个能跑起真实操作系统(xv6)的 RISC-V 模拟器。
- 会 Rust 语法:理解
struct/enum/match/Result/Vec/所有权与生命周期,但不需要写过高性能代码。 - 不熟悉 CPU 原理:听说过"取指—译码—执行"但没真正实现过。
- 没写过汇编:不懂 RISC-V、不熟悉二进制编码也没关系,从零讲起。
- 想做点硬核东西:看腻了 Web/CRUD,想搞清楚"程序到底是怎么跑起来的"。
读完本书后,你将:
- 拥有一个 能启动 xv6 操作系统 的 RISC-V 模拟器(从
add-addi一路写到 shell 可交互)。 - 理解 RISC-V 指令集、特权架构、CSR、异常/中断、MMU 虚拟内存、VirtIO 设备。
- 掌握用 Rust 写模拟器的常用模式:
Bus地址分发、Result错误传播、设备抽象。 - 拥有一份可继续扩展的代码骨架(可加 RV32M 乘除、RVV 向量、压缩指令等)。