CMPSCI 577: Operating Systems Implementation

Course Description

This course will expose students to the internals of an operating system kernel. The course will be based on Linux (2.6 kernel) and will consist of programming projects involving implementation and/or modification of system calls, device drivers, schedulers, memory management, and file systems. Students who successfully complete this course will become proficient at compiling, running, and testing kernel-level code, will achieve an appreciation of how several of the abstractions covered in e.g. CMPSCI 377 are implemented in practice, and will acquire the skills to develop kernel extensions (e,g, drivers, filesystems) or modifications (e.g. VM, schedulers).

Prerequisites: Since the Linux kernel is written in C, proficiency in the C programming language is a must. An undergraduate course on operating systems (equivalent to CMPSCI 377) is also a prerequisite.

Course Information

Instructor: Prashant Shenoy, Peter Desnoyers
Class: CS Bldg 142, Fr 2:00-3:30
Schedule #:78907
Credits: 3

Course Staff

Course Announcements

Sep 8: Reminder to add yourself to the course mailing list.

Course Materials

This page is online at
Prashant Shenoy, Peter Desnoyers
Last modified: Thu Sep 7 11:00:00 EDT 2006