MIT6.S081
CtrlK
  • 简介
  • Lec01 Introduction and Examples (Robert)
  • Lec03 OS Organization and System Calls (Frans)
  • Lec04 Page tables (Frans)
  • Lec05 Calling conventions and stack frames RISC-V (TA)
  • Lec06 Isolation & system call entry/exit (Robert)
  • Lec08 Page faults (Frans)
  • Lec09 Interrupts (Frans)
  • Lec10 Multiprocessors and locking (Frans)
  • Lec11 Thread switching (Robert)
  • Lec13 Sleep & Wake up (Robert)
    • 13.1 线程切换过程中锁的限制
    • 13.2 Sleep&Wakeup 接口
    • 13.3 Lost wakeup
    • 13.4 如何避免Lost wakeup
    • 13.5 Pipe中的sleep和wakeup
    • 13.6 exit系统调用
    • 13.7 wait系统调用
    • 13.8 kill系统调用
  • Lec14 File systems (Frans)
  • Lec15 Crash recovery (Frans)
  • Lec16 File system performance and fast crash recovery (Robert)
  • Lec17 Virtual memory for applications (Frans)
  • Lec18 OS organization (Robert)
  • Lec19 Virtual Machines (Robert)
  • Lec20 Kernels and HLL (Frans)
  • Lec21 Networking (Robert)
  • Lec22 Meltdown (Robert)
  • Lec23 RCU (Robert)
Powered by GitBook
On this page

Lec13 Sleep & Wake up (Robert)

准备工作,阅读【1】中7.5~7.10,阅读【2】【3】中相关部分。

【1】https://pdos.csail.mit.edu/6.828/2020/xv6/book-riscv-rev1.pdf

【2】https://github.com/mit-pdos/xv6-riscv/blob/riscv/kernel/proc.c

【3】https://github.com/mit-pdos/xv6-riscv/blob/riscv/kernel/sleeplock.c

Previous11.9 XV6线程第一次调用switch函数Next13.1 线程切换过程中锁的限制

Last updated 3 years ago