计算机科学

xv6: a simple, Unix-like teaching operating system

Russ Cox; Frans Kaashoek; Robert Morris

英文原名: xv6: a simple, Unix-like teaching operating system

完整教学操作系统课本,沿系统调用追入小型RISC-V内核,把内存、异常、调度与文件系统联系到代码,适合已有C语言基础的系统课程。

需要的基础

需熟悉C、指针、基础汇编和计算机体系结构,复习虚拟内存、栈及并发。应已能编译调试小程序,再开始逐行追踪内核。

版次
RISC-V revision 5
出版年份
2025
难度等级
中级
学术层次
本科
operating systemsRISC-Vkernel design

01 / 导读

导读

操作系统:选锁之前先解释交错执行

比较免费概念教材、小型RISC-V内核与综合参考,用原创事件轨迹和同步变式区分原子性、互斥、确定顺序及模型边界。

学习计划与例题由 University Reading List 编辑整理。

适合谁

适合把操作系统概念与实现相连的本科课程。内核经过刻意精简,但仍要严密推理机器状态和并发;应配合同版RISC-V代码和课程运行环境。

需要的基础

需熟悉C、指针、基础汇编和计算机体系结构,复习虚拟内存、栈及并发。应已能编译调试小程序,再开始逐行追踪内核。

覆盖内容

由系统接口进入内核组织、页表、陷阱与系统调用、缺页、中断、锁、调度、睡眠唤醒及文件系统,并通过代码路径解释设计选择和教学简化。

如何使用

从用户程序追一条系统调用,记录权限、栈和地址空间的变化;分析锁之前先画两个执行路径共享的状态。在模拟器重现现象并用代码解释,修改机制前预测可能破坏的不变量,再设计小测试;行号保持与对应源码册一致。

版本与来源

MIT课程入口链接源码和课本,完整revision 5 PDF署2025年9月2日。课本仓库采用MIT式宽松许可,保留版权通知;不要把历史Unix源码的权利条件直接套给xv6。

访问官方资源