Introduces paging as solution to virtual memory. Covers page tables, address translation, virtual to physical address mapping, page size considerations, and advantages of paging over segmentation.

Introduction to virtual machine monitors (hypervisors), virtualization techniques, CPU and memory virtualization in VMMs, privileged instruction handling, and transparent OS isolation mechanisms.

Practice problems on concurrency fundamentals including thread management, synchronization primitives, locks, condition variables, semaphores, deadlock prevention, and multi-threaded programming challenges.

Explores event-based concurrency as alternative to thread-based approaches. Covers event loops, select/poll system calls, asynchronous I/O, state management, and tradeoffs between event-driven and thread-based servers.

Covers UNIX/C memory allocation interfaces including malloc and free, stack vs heap memory, memory allocation best practices, and common memory management mistakes in systems programming.