Prof. Frans Kaashoek
6.828 teaches the fundamentals of engineering operating systems. The following topics are studied in detail: virtual memory, kernel and user mode, system calls, threads, context switches, interrupts, interprocess communication, coordination of concurrent activities, and the interface between software and hardware. Most importantly, the interactions between these concepts are examined. The course is divided into two blocks; the first block introduces an operating system, xv6, which runs on x86 SMPs and provides the basic Unix semantics of Unix v6. The second block of lectures covers important operating systems concepts invented after Unix® v6, which was introduced in 1976.