CMSC 621

Advanced Operating Systems


This 3 credit course will cover advanced topics in Operating Systems.

Course Organization

Instructor: Anupam Joshi
Office: ITE328
Office Phone: 455-2590
E-Mail Address:
Office Hours: Walk in, or by appointment 
TA: Manoj Sivakumar
Office: 353
Office Phone:
Office Hours: Mon and Thu 4.45 p.m - 6.00 p.m

Texts: Advanced Concepts in Operating Systems
M.Singhal and N. Shivratri
McGraw Hill Publishers    


CSEE graduate student with UG level background in Operating Systems (CMSC 421 or equivalent). Talk to the instructor if you would like to take the course, but are not sure of your background.
A course outline of CMSC421, which outlines the material we expect you to (substantially) know, is provided here. The chapters referred to are from the Silberschatz & Galvin text.

Course Information (or Stuff you should know up front ...)

A few noteworthy points. First, this is a 600 level course meant for CSEE graduate students. This course will assume that you are largely familiar with the OS basics (process management, memory management, disk management, filesystems, protection) typically taught in undergrad OS courses (such as CMSC421) as outlined earlier. In addition, we assume that you are proficient in programming (i.e., have written more complex programs than typically assigned in CS1/CS2 courses). In case your background is deficient, it is your responsibility to catch up. In class, I will assume that all students have the requisite background. Second, this is a course in the "systems" area. That means that hands on work is almost as important as theoretical knowledge, and projects will account for almost 40% of your grade. Expect to be putting in significant effort! I will expect you to follow good programming practices (commenting, headers, version control, makefiles, etc. etc.) that you have learnt in previous classes. Pop Quizzes may be given if needed to ``encourage'' students to read the assigned material. Such quizzes will happen randomly, and cannot be made up if missed. A midterm and final exams are planned.

As we go through the course material, several "reference" papers will be provided to you. For each of these papers, you will be expected to produce a brief (one page) summary and submit it in class on the day the paper is discussed. In other words, you would have read the paper before we discuss it in class. A few homeworks will also be given. The project will be done in groups. Please form groups of no more than three students. I will strongly discourage groups with less than two members. Students registered for section 0201 will be the exception. If you cannot find a partner despite good faith efforts, please contact me. You may wish to start the process of group formation soon, we expect to hand out the project about 3 weeks into the semester.

We will use the World Wide Web and blackboard as a convenient tool for distributing course material and presenting other information. The URL for the class web page is Blackboard can be found at . Blackboard will be used to provide important announcements and news about the class, and provide links to homeworks and projects as they are released. It is your responsibility to check it often, at least several times a day. A discussion forum will be created in blackboard. The purpose of this forum is to allow you to discuss ideas, especially as related to the project. The forum will not be monitored by the instructor or the TA, except passively. If you need to communicate with the TA or the instructor, please send an email to, with CMSC621 as the first element of your subject line. Given the large enrollment in this class, we will use the following division of labor. Any questions that relate to conceptual difficulties with the material presented in the class should come to the instructor directly. All other questions should be first directed to the TA, who may then pass some of them on to the instructor.

Tentative Course Outline

This is a rough outline of the course, and subject to change as we progress through the semester. Its online counterpart will likely reflect the changes as we go along. It is your responsibility to read the material to be covered in the class ahead of time. Chapter numbers from the text, as well as references to papers are provided for your convenience.

The Important Stuff (i.e. grades)

Given the format of this course, attendance and class discussion are essential for the learning process. While I cannot require attendance, your regular attendance will be needed in order to participate in class and in order to take the (unannounced) quizzes. I will not give any makeups for these quizzes. Course grades will be a function of your performance in the projects, paper summaries, quizzes, and exams, as well as of your participation in class. The grades will be based on a curve. A tentative breakdown of grades, likely to change as we go along is

Special note for students in Section 0201

In order to help part time students complete coursework in time, the UMBC CSEE department will provide a hybrid offering of CMSC621 in Spring 2005. It will include section 0101, which will meet at regularly scheduled hours, and section 0201 which will meet "virtually". This section is meant only for part time students who cannot attend Section 0101. The lectures given in section 0101 will be taped, and made available via streaming video within 24 hours. Both sections of the class will use the course management features of the blackboard system such as online discussion groups and online assignment submission. Students in this section will be expected to take the midterm and final exams with Section 0101. The midterm will be in class, and the final will be at the regular time determined by the registrar for section 0101. The students will also need to meet with the instructor to demostrate the final project at some mutually agreed time. Other than that no further presence on campus is required of students in this section. Please note that students in full time status are NOT eligible to sign up for this section.

Academic Dishonesty

Academic Integrity is a key element of education, and the provost has a web site dedicated to this topic at It includes the academic conduct policy. As you have probably been told umpteen times by now, violating this policy is a strict no-no! If we catch anyone cheating, we will take the maximum action possible against them, including reporting the matter to the appropriate university authorities. Please cooperate by doing your own work and not seeking inappropriate help from your classmates. You may, of course, discuss homeworks and assignments amongst yourselves, as long as that discussion does not lead to a exchange of solutions.

ADA Compliance

We recognize that some of you may have disabilities that require special attention from the instructional staff. Please make us aware of them at your earliest so that UMBC can make suitable arrangements.