Sun Solaris™ 9 operating system on an MIT Athena workstation. (Image by MIT OCW.)
This course features all of its labs
, both of which help the students develop their own operating system by the end of the semester. The lectures
help to familiarize students with the main concepts needed to engineer an operating system.
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.
Special software is required to use some of the files in this course: .zip.
*Some translations represent previous versions of courses.