Sleep and Wakeup in xv6 – Missed Wakeup Prevention and Synchronization
Describes sleep/wakeup mechanism for process synchronization in xv6: channels, spinlocks, examples with pipes and wait/exit, missed wakeup prevention.
Describes sleep/wakeup mechanism for process synchronization in xv6: channels, spinlocks, examples with pipes and wait/exit, missed wakeup prevention.
Explains spinlock implementation using xchg instruction, interrupt disabling, ptable.lock across context switching, and critical section protection.
Details process memory management in xv6: page table construction, fork memory copying, sbrk heap expansion, and exec system call memory setup.
Covers virtual addressing, page tables, two-level page table structure, process address space, kernel mappings, memory allocation, and free list management.
Explains context switching mechanism in xv6: scheduler loop, sched function, context structure, swtch assembly function, and kernel stack management during process switches.