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.
Information about post spring-break Online Version of this Class
First, please read this note from Prashant providing an overview of how the class will be
conducted for the rest of the term.
All lectures have been recorded and posted on the Lectures
page. Please view each lectures on or around the suggested view date.
We will adopt
a flipped virtual classroom model for the rest of the course. The Tue/Thu lecture slots
have beeen superseded by a weekly online discussion every Thursday (2:30-3:30pm). This
discussion will be held over zoom. The expectation is that you should have viewed the lectures for that week
prior to the discussion and will come with questions.
All assignments (lab 3, project) are also available with immediate effect.
New Office Hours for the rest of the term are as follows (supersedes the old schedule):
- Monday, 4-4:30pm, Walid
- Tuesday, 4-4:30pm, Walid
- Wednesday, 4-4:30pm, Walid
- Thursday, 2:30-3:30, Prashant (online discussion plus office hours)
- Friday, 4-4:30pm, Walid
To make things simple, we will use a single Zoom link for all TA office hours, Thu discussions etc.
Please use the following zoom link for all 577 meetings
- https://umass-amherst.zoom.us/j/814323831 Meeting ID: 814 323 831.
- To join by phone, find your local number: https://umass-amherst.zoom.us/u/abaFpwDGpL
- USA dial-in number: +1 646 876 9923 US (New York), Meeting ID 814 323 831.
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 whanafy [at] cs.umass.edu
- Office hours: Monday and Friday from 4-5 on LGRT T223.
This page is online at http://lass.cs.umass.edu/~shenoy/courses/577
Last modified: Sun Jan 19 05:33:01 EST 2020