【操作系统】来学习 xv6 吧!(资料汇总)

用户 Passthem 的头像
Passthem
・2026 年 9 月 28 日 更新

最近在复习(预习)操作系统相关的知识,因为想要通过实践的方式学习,所以了解到有一个叫 xv6-riscv 的项目。

这是一个基于 UNIX 思想、在 RISC-V 指令集的基础上实现的小型操作系统,运作在 QEMU 平台上。它代码短功能全,被 MIT6.1810 课程作为实验的平台。本文我将会收集一些有用的课程相关信息和食用教程。

xv6-riscv 公开资料

对于这个系统本身,除了在 Github 上开源的源代码以外,最好的资料就是阅读 xv6-riscv-book,在这个 book 仓库有包含 HTML 和 PDF 版本的链接。

环境配置和 Labs

从公开的 Github 源代码开始构建当然不错,不过,MIT 为我们开放了各年的实验课所使用的代码库。可以在 MIT 的课程页找到,不过也在这里列出来。

首先,我们先安装好编译的工具链。

# Debian or Ubuntu
# 例如,这里我们可以考虑用 WSL
# sudo apt-get update && sudo apt-get upgrade
sudo apt-get install \
    git build-essential gdb-multiarch qemu-system-misc gcc-riscv64-linux-gnu \
    binutils-riscv64-linux-gnu

# Arch Linux
sudo pacman -S \
    riscv64-linux-gnu-binutils riscv64-linux-gnu-gcc riscv64-linux-gnu-gdb \
    qemu-emulators-full bc git base-devel

# macOS
brew tap riscv/riscv
brew install riscv-tools
PATH=$PATH:/usr/local/opt/riscv-gnu-toolchain/bin
brew install qemu

然后,我们克隆 MIT 给我们开放的仓库。以 Utilities 实验 为例,我们切到对应分支。对于其他实验章节,我们可以直接切到其他分支,不需要克隆新的仓库。

git clone git://g.csail.mit.edu/xv6-labs-2025
cd xv6-labs-2025
git checkout util

# 可以看看有哪些分支
git branch -a

我们可以本地测试运行、本地查看评分,也可以提交一些本地分支。

# 打开一个 qemu 模拟器,运行我们的这个系统。
# 使用 <C-a> x 退出内置 shell
make qemu

# 进行本地评分(对这一章节所有的实验)
make grade

# 只对其中一个小实验评分,这里以 find 实验为例
make GRADEFLAGS=find grade

评论区