6.1810: Operating System Engineering
Intro to operating systems through xv6, a bare-bones Unix-like OS implemented in C for teaching purposes.
“Topics include virtual memory; file systems; threads; context switches; kernels; interrupts; system calls; interprocess communication; coordination, and interaction between software and hardware. A multi-processor operating system for RISC-V, xv6, is used to illustrate these topics. Individual laboratory assignments involve extending the xv6 operating system, for example to support sophisticated virtual memory features and networking.” (Source)