P01 设计报告模板
1. 环境与复现信息
- xv6 基线 commit:
- OS / WSL2 / Docker 镜像:
- RISC-V 工具链与 QEMU 版本:
- 完整运行命令与结果摘要:
2. 系统边界与不变量
用一张图标出用户态、trap、内核子系统、磁盘和 QEMU 的边界。列出至少五条不变量,并为每条填写代码位置、测试和失败症状。
| 不变量 | 代码位置 | 测试/故障 | 失败时的症状 |
|---|---|---|---|
3. 阶段设计
分别说明 M1–M5 的数据流、错误返回、资源拥有者和锁/页/日志顺序。不要只贴代码;要说明为什么该接口不泄漏实现细节。
4. 关键取舍
- 调度公平 vs 响应:
- 锁粒度 vs 争用:
- 日志提交 vs 写放大:
- mmap 懒加载 vs 缺页复杂度:
5. 故障实验
记录一个公开故障和一个自选故障:注入点、观察到的日志、预期状态、修复前后差异、仍未覆盖的风险。
6. 性能与资源证据
给出基线、机器条件、重复次数、指标、误差/波动和结论。不要把不同平台的绝对数字直接比较。
7. 个人贡献与引用
列出每位成员可现场解释的提交/测试;列出使用的 xv6、论文、工具或生成式工具来源及其作用。