Throughout this semester, we expect that you will read the entire implementation of the xv6 kernel, accompanied by the xv6 book, which explains the rationale and design underlying the kernel's implementation. (The source code is also available as a Lions-style PDF)
For this lecture, read the following files in the xv6 kernel implementation:
yield() calls acquire(&p->lock) to lock the current process p. Which line of code releases that lock? Hint: it's not the call to release(&p->lock) in yield().
You may find chapter 8 of the book useful in understanding how the kernel implements thread switching.
Submit your answer in an ASCII text file named homework.txt to the corresponding "Lecture N" assignment on Gradescope.
Questions or comments regarding 6.1810? Send e-mail to the course staff at 61810-staff@lists.csail.mit.edu.