Exam is Closed Book.
- Primitives — atomic instructions, locks, condition variables, semaphores.
- Threads and Processes — state, context switching, interaction with synchronization primitives, user- and kernel-level threads.
- Concepts — deadlock, starvation, races, logical clocks, causal ordering.
Scheduling and Performance:
- Policies — FIFO, round-robin, MLFQ.
- Concepts — priority inversion, preemption.
- Metrics — throughput, response time, utilization.
Protection and Isolation:
- Processor Modes — kernel (supervisor), user.
- Virtual Memory — address spaces, address translation, page tables, TLBs. Processes. System Calls.
- Exceptions — traps, faults, interrupts.
- Mechanisms — Access control lists (ACLs), capabilities.
- I/O Devices — drivers, block I/O, POSIX interface.
- File Systems — files, directories, inodes.
- Concepts — access patterns, caching, recovery, prefetching, logging, journaling.
- Memory — memory-mapped files, swap files, page replacement policies.
- Stack — IP, TCP/UDP (streams/datagrams), socket interface.
- Addressing — DNS, addresses, ports.
- Security — authentication, certificates, transport-level security (TLS).
- Operating Systems in Three Easy Pieces (OSTEP), by Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau.