UMBC CMSC421 UMBC | CSEE | CMSC421 | Fall 1999 (Section 0101)


CMSC 421

Operating Systems

Fall 1999, Section 0101

Time: Tue & Thu, 2:30 - 3:45 PM
Location: FA 018
Instructor: Prof. Ethan Miller ( & Naomi Avigdor (
Office: ECS 225H (x3972)
Office hours: Thu 1 - 2 PM, Fri 1 - 2 PM
TA: Zhao Zhang (
TA hours: M 4-5 PM, Tu 4-5 PM
TA office: 334 ECS
Prerequisites: CMSC 311 and CMSC 341
Text: Operating Systems Concepts (5th Edition), Silberschatz & Galvin

Course Information

This class covers the basics of modern computer operating systems, including processes and synchronization, memory management, security, file systems, and security. Students taking this class should have completed CMSC 311 and CMSC 341 at UMBC, or their equivalents elsewhere. In addition, students must be familiar with programming in C and using the Unix operating system because the projects (there will be 3 - 4) will require a significant amount of programming effort in C on Unix-based systems.

Homework will be assigned about every two weeks, and will be due a week later. Homework will be graded. There will be one midterm and one final; the midterm will cover the first half of the class and the final will cover material from the entire class. You are responsible for all material covered in class, regardless of whether it's in the textbook or not. Slides from the class are available online; however, we strongly recommend that you attend every class if possible.

Students in the class are expected to check the class Web page ( on a regular basis (at least twice weekly) for announcements and to check on changes in class schedule and assignments. Failure to do so isn't an excuse for missing an assignment. Students are welcome to post questions and answers to the newsgroup umbc.course.cs421; however, the rules about academic honesty apply to the newsgroup as well (i.e., you may not post answers to homeworks...).

Course Outline

This schedule is tentative and may change as we go along. It refers to three texts - the required text (OSC=Operating System Concepts,5th ed.) and two optional texts (MOS = Modern Operating Systems, SC = Security in Computing). The material in the optional texts is just that - optional. The references are provided for those who want additional background in these areas.


There will be three or four projects assigned in this class; the projects will use a simulator written at UMBC to demonstrate how operating systems actually work on a "real" computer. The projects may be done in pairs or individually. If done in a group, only one student from the group should hand in the assignment. If both group members hand the assignment in, we'll choose one of the handins randomly, so please decide who's going to make the online submission before both doing so. Your groups should be formed by the time the first project is formed; the only way you can switch partners at that point is if your partner drops the class.

All projects must be submitted electronically using the UCS submit program. Programs should, of course, be submitted in source code form. Please don't submit object code. Written documentation will be accepted in the following formats:

Project due dates will be indicated on the assignment pages. We strongly recommend that you keep up with the work and hand the projects in on time. However, you may hand a project in up to 5 days late (including weekends and holidays), losing 15% per day late.


Homework will be assigned about every two weeks, and will typically be due a week later. Homework problems will be graded; while you need not complete every (or any) homework, missing homework assignments will adversely affect your final grade.

Homework is due on the day listed on the assignment. Late homework will not be accepted. Homework must be handed in electronically using one of the acceptable electronic formats, which are the same as those for project documentation.


The final grades for this class will be based on a midterm (20%), final exam (25%), homework (17%), class projects (35%), and class participation (3%). Homework assignments will be weighted equally, regardless of the number of problems on the homework. Students must take both exams and hand in a reasonable attempt at all of the projects to pass the class. While meeting all of these requirements doesn't guarantee a passing grade, failing to meet them will result in an F.

The grading scale will be:

It is possible for everyone to get an A in the class (if everyone learns the material sufficiently well). However, it's also possible for nobody to get an A if nobody masters the material. Incompletes will only be given in extraordinary circumstances.

Your grades will be available online during the semester. This file will be updated periodically from our grade spreadsheet; please check your grades periodically and let the professor know if there's an error.

Academic Honesty

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.

You should be aware that we will be using a cheat-checker program to run over the assignments and look for unusual similarities. This program isn't perfect, but it does a great job of identifying the few pairs of handins that should be hand-checked for cheating. In previous classes, this program has done very well at finding cheaters, so please don't force us to demonstrate how well it works this semester.

Syllabus | Schedule | News & Notes | Grades | Feedback
Submit | Homework: 1 2 3 4 5 6 | Project: 1 2 3 4

Last updated 3 Dec 1999 by Ethan Miller (