本章讲了如何用Rust写一个简易的操作系统(FledgeOS),除了Rust的知识外,可以了解操作系统主要的组成部分,加深对操作系统的理解
- 首选需要掌握和了解一些工具或者技术,QEMU是一种虚拟化技术,用于搭建一个虚拟机来让你的程序运行在上面;
bootimage
库可以帮助减少底层代码的开发; - 一开始需要安装几个库,
cargo-binutils
可以让cargo直接操作可执行文件,bootimage
让cargo可以直接构建一个初始化镜像(boot image),镜像可以直接在硬件上初始化;rustup toolchain install nightly & rustup default nightly
使用rust的一些尚未稳定的特性和功能;rustup component add rust-src
下载rust语言的源码,让rust能为新的操作系统编译一个编译器;rustup component add llvm-tools-preview
安装LLVM编译器的扩展,是rust编译器的一部分; - 使用书中对应的代码编译成功后可以看到一个QEMU的黑色框,说明成功编译,在这个过程中
bootimage
库帮忙做了很多事情,a. 为目标操作系统创建了一系列机器可读(machine-readable)的定义和术语,例如目标CUP架构;b. 编译Rust core代码在目标OS上运行;c. 用刚编译的Rust语言来编译OS内核;d. 编译一个引导程序(bootloader)来读取刚编译的OS内核;e