COMPSCI 577: Operating Systems Design and Implementation (Spring 2020)
This course will expose students to advanced concepts in operating system
design and implementation through an in-depth study of operating system internals.
The course will be based on an Unix-like operating system and will comprise of lectures and
hands-on programming assignments that cover the design and implementation of
OS system calls, device drivers, CPU scheduling, memory management, file systems. We will also
cover advanced topics such as virtualization and cluster scheduling, time permitting.
Students who complete this course will
gain an appreciation of how key OS abstractions and concepts
are implemented in practice, become proficient in the
design and implementation of complex system software
and acquire the skills to develop OS kernel
components (e,g, OS modules, drivers, filesystems) or modify OS components (e.g. VM,
A detailed list of course goals, objectives, and learning outcomes is available on the
Course Outcomes page.
Since OS kernels are written in C, students are expected to be proficient in the
C programming language (or learn C quickly). An undergraduate course on operating
systems (equivalent to COMPSCI 377) is also a prerequisite.
Note: Two sections of this class will be offered for credit: an undergraduate
section and a graduate section. Please enroll for the appropriate section depending
on your student status.
Instructor: Prashant Shenoy
Classroom section: LGRC A104, Tu-Th 2:30 - 3:45 pm
Section 1 (undergrad):51578
Section 2 (graduate):51587
University of Massachusetts
Amherst MA 01003-4610
Phone: (413) 577 0850
Email: shenoy [at] cs.umass.edu
Office Hours: Thu 1:30 - 2:30, Room LGRC A333, or by appointment
- Course Staff
Ahmed Ali-Eldin (Secondary Instructor)
Walid Abdelrahman (Teaching Assistant)
Email: ahmeda [at] cs.umass.edu and waabdelrahma [at] cs.umass.edu
- Office hours:
This page is online at http://lass.cs.umass.edu/~shenoy/courses/577
Last modified: Sun Jan 19 05:33:01 EST 2020