Description: Lecture, four hours. Preparation: C or C++ programming experience. Requisite: course 111. In-depth investigation of operating systems issues through guided construction of research operating system for PC machines and consideration of recent literature. Memory management and protection, interrupts and traps, processes, interprocess communication, preemptive multitasking, file systems. Virtualization, networking, profiling, research operating systems. Series of laboratory projects, including extra challenge work. Letter grading.