Students will study the theory and practice of operating system development. Topics will include processes, memory management, threads, i/o, file systems, scheduling, naming, security, and current trends in operating system design (low-power systems, mobile computing, hardware disaggregation). Students will read key research in the field, as well as engage in several moderate