# MIT6.S081

## MIT6.S081

- [简介](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/readme.md)
- [Lec01 Introduction and Examples (Robert)](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec01-introduction-and-examples.md)
- [1.1 课程内容简介](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec01-introduction-and-examples/1.1-ke-cheng-jian-jie.md)
- [1.2 操作系统结构](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec01-introduction-and-examples/1.2-cao-zuo-xi-tong-jie-gou.md)
- [1.3 Why Hard and Interesting](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec01-introduction-and-examples/1.3-why-hard-and-interesting.md)
- [1.4 课程结构和资源](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec01-introduction-and-examples/1.4-ke-cheng-zi-yuan.md)
- [1.5 read, write, exit系统调用](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec01-introduction-and-examples/1.5-some-systemcalls.md)
- [1.6 open系统调用](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec01-introduction-and-examples/1.6-open-xi-tong-tiao-yong.md)
- [1.7 Shell](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec01-introduction-and-examples/1.7-shell.md)
- [1.8 fork系统调用](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec01-introduction-and-examples/1.8-fork.md)
- [1.9 exec, wait系统调用](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec01-introduction-and-examples/1.9-exec-and-wait-systemcall.md)
- [1.10 I/O Redirect](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec01-introduction-and-examples/1.10-io-redirect.md)
- [Lec03 OS Organization and System Calls (Frans)](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec03-os-organization-and-system-calls.md)
- [3.1 上一节课回顾](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec03-os-organization-and-system-calls/3.1-shang-jie-ke-hui-gu.md)
- [3.2 操作系统隔离性（isolation）](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec03-os-organization-and-system-calls/3.2-cao-zuo-xi-tong-ge-li-xing-isolation.md)
- [3.3 操作系统防御性（Defensive）](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec03-os-organization-and-system-calls/3.3-cao-zuo-xi-tong-fang-yu-xing-defensive.md)
- [3.4 硬件对于强隔离的支持](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec03-os-organization-and-system-calls/3.4-ying-jian-dui-yu-qiang-ge-li-de-zhi-chi.md)
- [3.5 User/Kernel mode切换](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec03-os-organization-and-system-calls/3.5-user-kernel-mode-switch.md)
- [3.6 宏内核 vs 微内核 （Monolithic Kernel vs Micro Kernel）](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec03-os-organization-and-system-calls/3.6-monolithic-kernel-vs-micro-kernel.md)
- [3.7 编译运行kernel](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec03-os-organization-and-system-calls/3.7-bian-yi-yun-xing-kernel.md)
- [3.8 QEMU](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec03-os-organization-and-system-calls/3.8-qemu.md)
- [3.9 XV6 启动过程](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec03-os-organization-and-system-calls/3.9-xv6-qi-dong-guo-cheng.md)
- [Lec04 Page tables (Frans)](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec04-page-tables-frans.md)
- [4.1 课程内容简介](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec04-page-tables-frans/4.1-ke-cheng-nei-rong-jian-jie.md)
- [4.2 地址空间（Address Spaces）](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec04-page-tables-frans/4.2-di-zhi-kong-jian-address-spaces.md)
- [4.3 页表（Page Table）](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec04-page-tables-frans/4.3-ye-biao-page-table.md)
- [4.4 页表缓存（Translation Lookaside Buffer）](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec04-page-tables-frans/4.4-ye-biao-huan-cun-translation-lookaside-buffer.md)
- [4.5 Kernel Page Table](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec04-page-tables-frans/4.5-kernel-page-table.md)
- [4.6 kvminit 函数](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec04-page-tables-frans/4.6-kvminit-han-shu.md)
- [4.7 kvminithart 函数](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec04-page-tables-frans/4.7-kvminithart.md)
- [4.8 walk 函数](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec04-page-tables-frans/4.8-walk-han-shu.md)
- [Lec05 Calling conventions and stack frames RISC-V (TA)](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec05-calling-conventions-and-stack-frames-risc-v.md)
- [5.1 C程序到汇编程序的转换](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec05-calling-conventions-and-stack-frames-risc-v/5.1-introduction-to-lecture05.md)
- [5.2 RISC-V vs x86](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec05-calling-conventions-and-stack-frames-risc-v/5.2-risc-v-vs-x86.md)
- [5.3 gdb和汇编代码执行](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec05-calling-conventions-and-stack-frames-risc-v/5.3-gdb-he-hui-bian-dai-ma-zhi-hang.md)
- [5.4 RISC-V寄存器](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec05-calling-conventions-and-stack-frames-risc-v/5.4-risc-v-ji-cun-qi.md)
- [5.5 Stack](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec05-calling-conventions-and-stack-frames-risc-v/5.5-stack.md)
- [5.6 Struct](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec05-calling-conventions-and-stack-frames-risc-v/5.6-struct.md)
- [Lec06 Isolation & system call entry/exit (Robert)](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec06-isolation-and-system-call-entry-exit-robert.md)
- [6.1 Trap机制](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec06-isolation-and-system-call-entry-exit-robert/6.1-trap.md)
- [6.2 Trap代码执行流程](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec06-isolation-and-system-call-entry-exit-robert/6.2-trap-dai-ma-zhi-xing-liu-cheng.md)
- [6.3 ECALL指令之前的状态](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec06-isolation-and-system-call-entry-exit-robert/6.3-before-ecall.md)
- [6.4 ECALL指令之后的状态](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec06-isolation-and-system-call-entry-exit-robert/6.4-ecall-zhi-ling-zhi-hou-de-zhuang-tai.md)
- [6.5 uservec函数](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec06-isolation-and-system-call-entry-exit-robert/6.5-uservec.md)
- [6.6 usertrap函数](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec06-isolation-and-system-call-entry-exit-robert/6.6-usertrap.md)
- [6.7 usertrapret函数](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec06-isolation-and-system-call-entry-exit-robert/6.7-usertrapret.md)
- [6.8 userret函数](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec06-isolation-and-system-call-entry-exit-robert/6.8-userret.md)
- [Lec08 Page faults (Frans)](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec08-page-faults-frans.md)
- [8.1 Page Fault Basics](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec08-page-faults-frans/8.1-page-fault-basics.md)
- [8.2 Lazy page allocation](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec08-page-faults-frans/8.2-lazy-page-allocation.md)
- [8.3 Zero Fill On Demand](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec08-page-faults-frans/8.3-zero-fill-on-demand.md)
- [8.4 Copy On Write Fork](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec08-page-faults-frans/8.4-copy-on-write-fork.md)
- [8.5 Demand Paging](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec08-page-faults-frans/8.5-demand-paging.md)
- [8.6 Memory Mapped Files](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec08-page-faults-frans/8.6-memory-mapped-files.md)
- [Lec09 Interrupts (Frans)](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec09-interrupts.md)
- [9.1 真实操作系统内存使用情况](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec09-interrupts/9.1-memory-in-real-os.md)
- [9.2 Interrupt硬件部分](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec09-interrupts/9.2-interrupt-handware.md)
- [9.3 设备驱动概述](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec09-interrupts/9.3-device-driver.md)
- [9.4 在XV6中设置中断](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec09-interrupts/9.4-xv6-set-interrupt.md)
- [9.5 UART驱动的top部分](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec09-interrupts/9.5-uart-driver-top.md)
- [9.6 UART驱动的bottom部分](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec09-interrupts/9.6-uart-driver-bottom.md)
- [9.7 Interrupt相关的并发](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec09-interrupts/9.7-interrupt-related-concurrency.md)
- [9.8 UART读取键盘输入](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec09-interrupts/9.8-uart-read-keyboard.md)
- [9.9 Interrupt的演进](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec09-interrupts/9.9-interrupt-envolving.md)
- [Lec10 Multiprocessors and locking (Frans)](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec10-multiprocessors-and-locking.md)
- [10.1 为什么要使用锁？](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec10-multiprocessors-and-locking/10.1-why-lock.md)
- [10.2 锁如何避免race condition？](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec10-multiprocessors-and-locking/10.2-avoid-race-condition.md)
- [10.3 什么时候使用锁？](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec10-multiprocessors-and-locking/10.3-when-use-lock.md)
- [10.4 锁的特性和死锁](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec10-multiprocessors-and-locking/10.4-locks-properties-and-deadlock.md)
- [10.5 锁与性能](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec10-multiprocessors-and-locking/10.5-suo-yu-xing-neng.md)
- [10.6 XV6中UART模块对于锁的使用](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec10-multiprocessors-and-locking/10.6-case-study-uart.md)
- [10.7 自旋锁（Spin lock）的实现（一）](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec10-multiprocessors-and-locking/10.7-spin-lock-1.md)
- [10.8 自旋锁（Spin lock）的实现（二）](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec10-multiprocessors-and-locking/10.8-spin-lock-2.md)
- [Lec11 Thread switching (Robert)](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec11-thread-switching-robert.md)
- [11.1 线程（Thread）概述](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec11-thread-switching-robert/11.1-thread.md)
- [11.2 XV6线程调度](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec11-thread-switching-robert/11.2-xian-cheng-diao-du.md)
- [11.3 XV6线程切换（一）](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec11-thread-switching-robert/11.3-xv6-thread-switching-1.md)
- [11.4 XV6线程切换（二）](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec11-thread-switching-robert/11.4-xv6-thread-switching-2.md)
- [11.5 XV6进程切换示例程序](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec11-thread-switching-robert/11.5-xv6-thread-switching-code.md)
- [11.6 XV6线程切换 --- yield/sched函数](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec11-thread-switching-robert/11.6-yield-and-sched.md)
- [11.7 XV6线程切换 --- switch函数](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec11-thread-switching-robert/11.7-xv6-switch-function.md)
- [11.8 XV6线程切换 --- scheduler函数](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec11-thread-switching-robert/11.8-xv6-scheduler-function.md)
- [11.9 XV6线程第一次调用switch函数](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec11-thread-switching-robert/11.9-xv6-call-switch-function-first-time.md)
- [Lec13 Sleep & Wake up (Robert)](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec13-sleep-and-wakeup-robert.md)
- [13.1 线程切换过程中锁的限制](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec13-sleep-and-wakeup-robert/13.1-lock-limitation-during-thread-switching.md)
- [13.2 Sleep\&Wakeup 接口](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec13-sleep-and-wakeup-robert/13.2-sleep-wakeup.md)
- [13.3 Lost wakeup](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec13-sleep-and-wakeup-robert/13.3-lost-wakeup.md)
- [13.4 如何避免Lost wakeup](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec13-sleep-and-wakeup-robert/13.4-avoid-lock-wakeup.md)
- [13.5 Pipe中的sleep和wakeup](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec13-sleep-and-wakeup-robert/13.5-sleep-and-wakeup-in-pipe.md)
- [13.6 exit系统调用](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec13-sleep-and-wakeup-robert/13.6-exit-systemcall.md)
- [13.7 wait系统调用](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec13-sleep-and-wakeup-robert/13.7-wait-systemcall.md)
- [13.8 kill系统调用](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec13-sleep-and-wakeup-robert/13.8-kill-systemcall.md)
- [Lec14 File systems (Frans)](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec14-file-systems-frans.md)
- [14.1 Why Interesting](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec14-file-systems-frans/14.1-why-interesting.md)
- [14.2 File system实现概述](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec14-file-systems-frans/14.2-file-system-api.md)
- [14.3 How file system uses disk](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec14-file-systems-frans/14.3-how-file-system-uses-disk.md)
- [14.4 inode](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec14-file-systems-frans/14.4-inode.md)
- [14.5 File system工作示例](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec14-file-systems-frans/14.5-file-system-example.md)
- [14.6 XV6创建inode代码展示](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec14-file-systems-frans/14.6-xv6-code-inode.md)
- [14.7 Sleep Lock](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec14-file-systems-frans/14.7-sleep-lock.md)
- [Lec15 Crash recovery (Frans)](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec15-crash-recovery-frans.md)
- [15.1 File system crash概述](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec15-crash-recovery-frans/15.1-file-system-crash-gaishu.md)
- [15.2 File system crash示例](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec15-crash-recovery-frans/15.2-file-system-crash-shi-li.md)
- [15.3 File system logging](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec15-crash-recovery-frans/15.3-file-system-logging.md)
- [15.4 log\_write函数](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec15-crash-recovery-frans/15.4-log-write-han-shu.md)
- [15.5 end\_op函数](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec15-crash-recovery-frans/15.5-endop-han-shu.md)
- [15.6 File system recovering](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec15-crash-recovery-frans/15.6-file-system-recovering.md)
- [15.7 Log写磁盘流程](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec15-crash-recovery-frans/15.7-log-xie-ci-pan-liu-cheng.md)
- [15.8 File system challenges](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec15-crash-recovery-frans/15.8-file-system-challenges.md)
- [Lec16 File system performance and fast crash recovery (Robert)](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec16-file-system-performance-and-fast-crash-recovery-robert.md)
- [16.1 Why logging](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec16-file-system-performance-and-fast-crash-recovery-robert/16.1-why-logging.md)
- [16.2 XV6 File system logging回顾](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec16-file-system-performance-and-fast-crash-recovery-robert/16.2-xv6-file-system-logging-hui-gu.md)
- [16.3 ext3 file system log format](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec16-file-system-performance-and-fast-crash-recovery-robert/16.3-ext3-file-system-log-format.md)
- [16.4 ext3如何提升性能](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec16-file-system-performance-and-fast-crash-recovery-robert/16.4-ext3-ru-he-ti-sheng-xing-neng.md)
- [16.5 ext3文件系统调用格式](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec16-file-system-performance-and-fast-crash-recovery-robert/16.5-ext3-wen-jian-xi-tong-diao-yong-ge-shi.md)
- [16.6 ext3 transaction commit步骤](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec16-file-system-performance-and-fast-crash-recovery-robert/16.6-ext3-transaction-commit-bu-zhou.md)
- [16.7 ext3 file system恢复过程](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec16-file-system-performance-and-fast-crash-recovery-robert/16.7-file-system-hui-fu-guo-cheng.md)
- [16.8 为什么新transaction需要等前一个transaction中系统调用执行完成](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec16-file-system-performance-and-fast-crash-recovery-robert/16.8-transaction-concurrency.md)
- [16.9 总结](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec16-file-system-performance-and-fast-crash-recovery-robert/16.9-zong-jie.md)
- [Lec17 Virtual memory for applications (Frans)](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec17-virtual-memory-for-applications-frans.md)
- [17.1 应用程序使用虚拟内存所需要的特性](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec17-virtual-memory-for-applications-frans/17.1-ying-yong-cheng-xu-shi-yong-xu-ni-nei-cun-suo-xu-yao-de-te-xing.md)
- [17.2 支持应用程序使用虚拟内存的系统调用](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec17-virtual-memory-for-applications-frans/17.2-zhi-chi-ying-yong-cheng-xu-shi-yong-xu-ni-nei-cun-de-xi-tong-tiao-yong.md)
- [17.3 虚拟内存系统如何支持用户应用程序](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec17-virtual-memory-for-applications-frans/17.3-xu-ni-nei-cun-xi-tong-zhi-chi-yong-hu-cheng-xu.md)
- [17.4 构建大的缓存表](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec17-virtual-memory-for-applications-frans/17.4-build-large-cache.md)
- [17.5 Baker's Real-Time Copying Garbage Collector](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec17-virtual-memory-for-applications-frans/17.5-bakers-garbage-collector.md)
- [17.6 使用虚拟内存特性的GC](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec17-virtual-memory-for-applications-frans/17.6-shi-yong-xu-ni-nei-cun-te-xing-de-gc.md)
- [17.7 使用虚拟内存特性的GC代码展示](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec17-virtual-memory-for-applications-frans/17.7-shi-yong-xu-ni-nei-cun-te-xing-de-gc-dai-ma-zhan-shi.md)
- [Lec18 OS organization (Robert)](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec18-os-organization-robert.md)
- [18.1 Monolithic kernel](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec18-os-organization-robert/18.1-monolithic-kernel.md)
- [18.2 Micro kernel](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec18-os-organization-robert/18.2-micro-kernel.md)
- [18.3 Why micro kernel?](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec18-os-organization-robert/18.3-why-micro-kernel.md)
- [18.4 L4 micro kernel](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec18-os-organization-robert/18.4-l4-micro-kernel.md)
- [18.5 Improving IPC by Kernel Design](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec18-os-organization-robert/18.5-improving-ipc-by-kernel-design.md)
- [18.6 Run Linux on top of L4 micro kernel](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec18-os-organization-robert/18.6-run-linux-on-top-of-l4-micro-kernel.md)
- [18.7 L4 Linux性能分析](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec18-os-organization-robert/18.7-l4-linux-performance.md)
- [Lec19 Virtual Machines (Robert)](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec19-virtual-machines-robert.md)
- [19.1 Why Virtual Machine?](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec19-virtual-machines-robert/19.1-why-virtual-machine.md)
- [19.2 Trap-and-Emulate --- Trap](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec19-virtual-machines-robert/19.2-trap-and-emulate-trap.md)
- [19.3 Trap-and-Emulate --- Emulate](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec19-virtual-machines-robert/19.3-trap-and-emulate-emulate.md)
- [19.4 Trap-and-Emulate --- Page Table](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec19-virtual-machines-robert/19.4-trap-and-emulate-page-table.md)
- [19.5 Trap-and-Emulate --- Devices](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec19-virtual-machines-robert/19.5-trap-and-emulate-devices.md)
- [19.6 硬件对虚拟机的支持](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec19-virtual-machines-robert/19.6-ying-jian-dui-xu-ni-ji-de-zhi-chi.md)
- [19.7 Dune: Safe User-level Access to Privileged CPU Features](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec19-virtual-machines-robert/19.7-dune.md)
- [Lec20 Kernels and HLL (Frans)](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec20-kernels-and-hll-frans.md)
- [20.1 C语言实现操作系统的优劣势](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec20-kernels-and-hll-frans/20.1-c-yu-yan-shi-xian-cao-zuo-xi-tong-de-you-lie-shi.md)
- [20.2 高级编程语言实现操作系统的优劣势](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec20-kernels-and-hll-frans/20.2-gao-ji-bian-cheng-yu-yan-shi-xian-cao-zuo-xi-tong-de-you-lie-shi.md)
- [20.3 高级编程语言选择 --- Golang](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec20-kernels-and-hll-frans/20.3-choose-golang.md)
- [20.4 Biscuit](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec20-kernels-and-hll-frans/20.4-biscuit.md)
- [20.5 Heap exhaustion](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec20-kernels-and-hll-frans/20.5-heap-exhaustion.md)
- [20.6 Heap exhaustion solution](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec20-kernels-and-hll-frans/20.6-heap-exhaustion-solution.md)
- [20.7 Evaluation: HLL benefits](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec20-kernels-and-hll-frans/20.7-evaluation-hll-benefits.md)
- [20.8 Evaluation: HLL performance cost(1)](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec20-kernels-and-hll-frans/20.8-evaluation-hll-performance-cost-1.md)
- [20.9 Evaluation: HLL performance cost(2)](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec20-kernels-and-hll-frans/20.9-evaluation-hll-performance-cost-2.md)
- [20.10 Should one use HLL for a new kernel?](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec20-kernels-and-hll-frans/20.10-should-one-use-hll-for-a-new-kernel.md)
- [Lec21 Networking (Robert)](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec21-networking-robert.md)
- [21.1计算机网络概述](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec21-networking-robert/21.1-ji-suan-ji-wang-luo-gai-shu.md)
- [21.2 二层网络 --- Ethernet](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec21-networking-robert/21.2-er-ceng-wang-luo-ethernet.md)
- [21.3 二/三层地址转换 --- ARP](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec21-networking-robert/21.3-er-san-ceng-di-zhi-zhuan-huan-arp.md)
- [21.4 三层网络 --- Internet](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec21-networking-robert/21.4-san-ceng-wang-luo-internet.md)
- [21.5 四层网络 --- UDP](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec21-networking-robert/21.5-si-ceng-wang-luo-udp.md)
- [21.6 网络协议栈（Network Stack）](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec21-networking-robert/21.6-wang-lu-xie-yi-zhan-network-stack.md)
- [21.7 Ring Buffer](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec21-networking-robert/21.7-ring-buffer.md)
- [21.8 Receive Livelock](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec21-networking-robert/21.8-receive-livelock.md)
- [21.9 如何解决Livelock](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec21-networking-robert/21.9-ru-he-jie-jue-livelock.md)
- [Lec22 Meltdown (Robert)](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec22-meltdown-robert.md)
- [22.1 Meltdown发生的背景](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec22-meltdown-robert/22.1-meltdown-fa-sheng-de-bei-jing.md)
- [22.2 Speculative execution(1)](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec22-meltdown-robert/22.2-speculative-execution-1.md)
- [22.3 Speculative execution(2)](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec22-meltdown-robert/22.3-speculative-execution-2.md)
- [22.4 CPU caches](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec22-meltdown-robert/22.4-cpu-caches.md)
- [22.5 Flush and Reload](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec22-meltdown-robert/22.5-flush-and-reload.md)
- [22.6 Meltdown Attack](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec22-meltdown-robert/22.6-meltdown-attack.md)
- [22.7 Meltdown Fix](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec22-meltdown-robert/22.7-meltdown-fix.md)
- [Lec23 RCU (Robert)](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec23-rcu-robert.md)
- [23.1 使用锁带来的问题](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec23-rcu-robert/23.1-shi-yong-suo-dai-lai-de-wen-ti.md)
- [23.2 读写锁 (Read-Write Lock)](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec23-rcu-robert/23.2-du-xie-suo-readwrite-lock.md)
- [23.3 RCU实现(1) - 基本实现](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec23-rcu-robert/23.3-rcu-shi-xian-1-ji-ben-shi-xian.md)
- [23.4 RCU实现(2) - Memory barrier](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec23-rcu-robert/23.4-rcu-shi-xian-2-memory-barrier.md)
- [23.5 RCU实现(3) - 读写规则](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec23-rcu-robert/23.5-rcu-shi-xian-3-du-xie-xian-zhi.md)
- [23.6 RCU用例代码](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec23-rcu-robert/23.6-rcu-yong-li-dai-ma.md)
- [23.7 RCU总结](https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec23-rcu-robert/23.7-rcu-zong-jie.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information, you can query the documentation dynamically by asking a question.
Perform an HTTP GET request on a page URL with the `ask` query parameter:
```
GET https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/readme.md?ask=<question>
```
The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.
Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
