6.828 | Fall 2012 | Graduate

Operating System Engineering

Course Description

This course studies fundamental design and implementation ideas in the engineering of operating systems. Lectures are based on a study of UNIX and research papers. Topics include virtual memory, threads, context switches, kernels, interrupts, system calls, interprocess communication, coordination, and the interaction …
This course studies fundamental design and implementation ideas in the engineering of operating systems. Lectures are based on a study of UNIX and research papers. Topics include virtual memory, threads, context switches, kernels, interrupts, system calls, interprocess communication, coordination, and the interaction between software and hardware. Individual laboratory assignments involve implementation of a small operating system in C, with some x86 assembly.
Learning Resource Types
Exams with Solutions
Lecture Notes
Projects with Examples
Programming Assignments
Diagram of a virtual address space, with different points mapping onto a physical address space.
Mapping of virtual address space to physical address space. (Image courtesy of Wikimedia Commons. All rights reserved. This content is excluded from our Creative Commons license. For more information, see http://ocw.mit.edu/fairuse.)