## 概述
* [课程介绍](README.md)

## 文档翻译
* [book-riscv-rev1](tranlate_books/book-riscv-rev1/summary.md)
  * [第一章 操作系统接口](tranlate_books/book-riscv-rev1/c1/s0.md)
    * [1.1 进程和内存](tranlate_books/book-riscv-rev1/c1/s1.md)
    * [1.2 I/O和文件描述符](tranlate_books/book-riscv-rev1/c1/s2.md)
    * [1.3 管道](tranlate_books/book-riscv-rev1/c1/s3.md)
    * [1.4 文件系统](tranlate_books/book-riscv-rev1/c1/s4.md)
    * [1.5 真实世界](tranlate_books/book-riscv-rev1/c1/s5.md)
    * [1.6 练习](tranlate_books/book-riscv-rev1/c1/s6.md)
  * [第二章 操作系统架构](tranlate_books/book-riscv-rev1/c2/s0.md)
    * [2.1 抽象系统资源](tranlate_books/book-riscv-rev1/c2/s1.md)
    * [2.2 用户态，核心态，以及系统调用](tranlate_books/book-riscv-rev1/c2/s2.md)
    * [2.3 内核组织](tranlate_books/book-riscv-rev1/c2/s3.md)
    * [2.4 代码：XV6架构篇](tranlate_books/book-riscv-rev1/c2/s4.md)
    * [2.5 进程概述](tranlate_books/book-riscv-rev1/c2/s5.md)
    * [2.6 代码：启动XV6和第一个进程](tranlate_books/book-riscv-rev1/c2/s6.md)
    * [2.7 真实世界](tranlate_books/book-riscv-rev1/c2/s7.md)
    * [2.8 练习](tranlate_books/book-riscv-rev1/c2/s8.md)
  * [第三章 页表](tranlate_books/book-riscv-rev1/c3/s0.md)
    * [3.1 分页硬件](tranlate_books/book-riscv-rev1/c3/s1.md)
    * [3.2 内核地址空间](tranlate_books/book-riscv-rev1/c3/s2.md)
    * [3.3 代码：创建一个地址空间](tranlate_books/book-riscv-rev1/c3/s3.md)
    * [3.4 物理内存分配](tranlate_books/book-riscv-rev1/c3/s4.md)
    * [3.5 代码：物理内存分配](tranlate_books/book-riscv-rev1/c3/s5.md)
    * [3.6 进程地址空间](tranlate_books/book-riscv-rev1/c3/s6.md)
    * [3.7 代码：sbrk](tranlate_books/book-riscv-rev1/c3/s7.md)
    * [3.8 代码：exec](tranlate_books/book-riscv-rev1/c3/s8.md)
    * [3.9 真实世界](tranlate_books/book-riscv-rev1/c3/s9.md)
    * [3.10 练习](tranlate_books/book-riscv-rev1/c3/s10.md)
  * [第四章 陷阱指令和系统调用](tranlate_books/book-riscv-rev1/c4/s0.md)
    * [4.1 RISC-V陷入机制](tranlate_books/book-riscv-rev1/c4/s1.md)
    * [4.2 从用户空间陷入](tranlate_books/book-riscv-rev1/c4/s2.md)
    * [4.3 代码：调用系统调用](tranlate_books/book-riscv-rev1/c4/s3.md)
    * [4.4 系统调用参数](tranlate_books/book-riscv-rev1/c4/s4.md)
    * [4.5 从内核空间陷入](tranlate_books/book-riscv-rev1/c4/s5.md)
    * [4.6 页面错误异常](tranlate_books/book-riscv-rev1/c4/s6.md)
    * [4.7 真实世界](tranlate_books/book-riscv-rev1/c4/s7.md)
    * [4.8 练习](tranlate_books/book-riscv-rev1/c4/s8.md)
  * [第五章 中断和设备驱动](tranlate_books/book-riscv-rev1/c5/s0.md)
    * [5.1 代码：控制台输入](tranlate_books/book-riscv-rev1/c5/s1.md)
    * [5.2 代码：控制台输出](tranlate_books/book-riscv-rev1/c5/s2.md)
    * [5.3 驱动中的并发](tranlate_books/book-riscv-rev1/c5/s3.md)
    * [5.4 定时器中断](tranlate_books/book-riscv-rev1/c5/s4.md)
    * [5.5 真实世界](tranlate_books/book-riscv-rev1/c5/s5.md)
    * [5.6 练习](tranlate_books/book-riscv-rev1/c5/s6.md)
  * [第六章 锁](tranlate_books/book-riscv-rev1/c6/s0.md)
    * [6.1 竞态条件](tranlate_books/book-riscv-rev1/c6/s1.md)
    * [6.2 代码：Locks](tranlate_books/book-riscv-rev1/c6/s2.md)
    * [6.3 代码：使用锁](tranlate_books/book-riscv-rev1/c6/s3.md)
    * [6.4  死锁和锁排序](tranlate_books/book-riscv-rev1/c6/s4.md)
    * [6.5 锁和中断处理函数](tranlate_books/book-riscv-rev1/c6/s5.md)
    * [6.6 指令和内存访问排序](tranlate_books/book-riscv-rev1/c6/s6.md)
    * [6.7 睡眠锁](tranlate_books/book-riscv-rev1/c6/s7.md)
    * [6.8 真实世界](tranlate_books/book-riscv-rev1/c6/s8.md)
    * [6.9 练习](tranlate_books/book-riscv-rev1/c6/s9.md)
  * [第七章  调度](tranlate_books/book-riscv-rev1/c7/s0.md)
    * [7.1 多路复用](tranlate_books/book-riscv-rev1/c7/s1.md)
    * [7.2 代码：上下文切换](tranlate_books/book-riscv-rev1/c7/s2.md)
    * [7.3 代码：调度](tranlate_books/book-riscv-rev1/c7/s3.md)
    * [7.4 代码：mycpu和myproc](tranlate_books/book-riscv-rev1/c7/s4.md)
    * [7.5 sleep与wakeup](tranlate_books/book-riscv-rev1/c7/s5.md)
    * [7.6 代码：sleep和wakeup](tranlate_books/book-riscv-rev1/c7/s6.md)
    * [7.7 代码：Pipes](tranlate_books/book-riscv-rev1/c7/s7.md)
    * [7.8 代码：wait, exit和kill](tranlate_books/book-riscv-rev1/c7/s8.md)
    * [7.9 真实世界](tranlate_books/book-riscv-rev1/c7/s9.md)
    * [7.10 练习](tranlate_books/book-riscv-rev1/c7/s10.md)
  * [第八章 文件系统](tranlate_books/book-riscv-rev1/c8/s0.md)
    * [8.1 概述](tranlate_books/book-riscv-rev1/c8/s1.md)
    * [8.2 Buffer cache层](tranlate_books/book-riscv-rev1/c8/s2.md)
    * [8.3 代码：Buffer cache](tranlate_books/book-riscv-rev1/c8/s3.md)
    * [8.4 日志层](tranlate_books/book-riscv-rev1/c8/s4.md)
    * [8.5 日志设计](tranlate_books/book-riscv-rev1/c8/s5.md)
    * [8.6 代码：日志](tranlate_books/book-riscv-rev1/c8/s6.md)
    * [8.7 代码：块分配器](tranlate_books/book-riscv-rev1/c8/s7.md)
    * [8.8 索引结点层](tranlate_books/book-riscv-rev1/c8/s8.md)
    * [8.9 代码：Inodes](tranlate_books/book-riscv-rev1/c8/s9.md)
    * [8.10 代码： Inode包含内容](tranlate_books/book-riscv-rev1/c8/s10.md)
    * [8.11 代码：目录层](tranlate_books/book-riscv-rev1/c8/s11.md)
    * [8.12 代码：路径名](tranlate_books/book-riscv-rev1/c8/s12.md)
    * [8.13 文件描述符层](tranlate_books/book-riscv-rev1/c8/s13.md)
    * [8.14 代码：系统调用](tranlate_books/book-riscv-rev1/c8/s14.md)
    * [8.15 真实世界](tranlate_books/book-riscv-rev1/c8/s15.md)
    * [8.16 练习](tranlate_books/book-riscv-rev1/c8/s16.md)
* [Introduction](tranlate_books/Introduction.md)
* [使用GNU Debugger](tranlate_books/Use GUN Debugger.md)
* [C Pointers, gdb](tranlate_books/C Pointers, gdb.md)
* [Calling Convention](tranlate_books/Calling Convention.md)
* [Journaling the Linux ext2fs Filesystem](tranlate_books/Journaling the Linux ext2fs Filesystem.md)

## 实验记录
* [版本控制](labs/use_git/git1.md)
* [实验内容](labs/requirements/summary.md)
  * [Lab1: Xv6 and Unix utilities](labs/requirements/lab1.md)
  * [Lab2: System calls](labs/requirements/lab2.md)
  * [Lab3: Page tables](labs/requirements/lab3.md)
  * [Lab4: Traps](labs/requirements/lab4.md)
  * [Lab5: Xv6 lazy page allocation](labs/requirements/lab5.md)
  * [Lab6: Copy-on-Write Fork for xv6](labs/requirements/lab6.md)
  * [Lab7: Multithreading](labs/requirements/lab7.md)
  * [Lab8: Locks](labs/requirements/lab8.md)
  * [Lab9: File system](labs/requirements/lab9.md)
  * [Lab10: Mmap](labs/requirements/lab10.md)
  * [Lab11: Network](labs/requirements/lab11.md)
* [实验解析](labs/answers/summary.md)
  * [Lab1: Util](labs/answers/lab1.md)
  * [Lab2: Syscall](labs/answers/lab2.md)
  * [Lab3: Pgtbl](labs/answers/lab3.md)
  * [Lab4: Traps](labs/answers/lab4.md)
  * [Lab5: Xv6 lazy page allocation](labs/answers/lab5.md)
  * [Lab6: Copy-on-Write Fork for xv6](labs/answers/lab6.md)
  * [Lab7: Multithreading](labs/answers/lab7.md)
  * [Lab8: Locks](labs/answers/lab8.md)
  * [Lab9: File system](labs/answers/lab9.md)
  * [Lab10: Mmap](labs/answers/lab10.md)