Lecture on multithreading covering thread concepts, POSIX threads (pthreads) API, thread creation and management, concurrency vs parallelism, race conditions in shared data access, critical sections, and need for synchronization mechanisms like locks.
Lecture on distributed systems design covering stateful vs stateless server architectures, distributed data stores (Dynamo key-value store, Bigtable, Cassandra), Google File System, reliability engineering, replication, partitioning, and e-commerce system architecture.
Comprehensive lecture on paging including page tables, address translation by MMU, page table entries with permission bits, two-level and multi-level page tables, page table size calculations, and page-level isolation and security mechanisms.
Background concepts for OS including computer system organization, CPU ISA and instructions, memory/storage hierarchy, program compilation and execution, memory allocation (stack vs heap), function calls, pointers, and hardware organization fundamentals.
Detailed lecture on xv6 memory management including two-level page tables, virtual address space layout, kernel and user mappings, free page management with kalloc/kfree, fork memory copying, exec loading executables, and address space construction.