CMSC 421

Operating Systems

Fall 2001

 
Section 0101 Section 0201
Time: Tue & Thu 2:30 - 3:45 PM Mon & Wed 7:00 - 8:15 PM
Location: FA 018 SS 409
Instructor: Anupam Joshi (joshi@csee.umbc.edu) Gary Burt (burt@csee.umbc.edu)
Office: ECS 225E (x2590) ECS 202B (x3928)
Office hours: By appointment  By appointment 
TA: Shanmugavel Ponnusamy (sponnu1@umbc.edu) Hiren Shah (hiren1@umbc.edu)
TA hours: Wed 5:30 - 6:30pm Fri 3:15 - 4:15 pm Tue 5.15-6.45pm Thur 5.15-6.45pm
TA office: ECS 334 (x2862) ECS 334 (x2862)
Prerequisites: CMSC 311 and CMSC 341
Required Texts: Operating Systems Concepts (6th Edition), Silberschatz, Galvin & Gagne, John Wiley, 2001, ISBN 0-471-41743-2 
Advanced Programming in the UNIX Environment , Stevens, Addison-Wesley, 1992, ISBN 0-201-56317-7. 
Recommended Text: Modern Operating Systems (2nd Edition), Tannenbaum, Prentice Hall, 2001

Course Information

This class covers the basics of modern computer operating systems, including processes and synchronization, memory management, I/O, file systems, and security / protection. 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 C / C++ because the projects will require a significant amount of programming effort.

Homework will be assigned regularly, 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.

Students in the class are expected to check the class Web page (http://www.csee.umbc.edu/courses/undergraduate/421/fall01/) on a regular basis for announcements and to check on changes in class schedule and assignments. A news and notes page there will have important announcements. 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...).

The course outline is available online. It will change as the semester goes on to reflect minor changes in scheduling.

Grading

The final grades for this class will be based on a midterm (20%), final exam (25%), homework (10%), class projects (40%), and class participation / pop quizzes (5%). Homework assignments will be weighted equally. 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.

Homework and project due dates will be indicated on the assignment pages. Because the class has two sections, assignments will be due at a time chosen independently of either sections. Of course, assignments may be handed in during class, but they will not actually be due until the date on the assignment. Late homework will not be accepted. Late projects may be handed in up to 5 days late with a 15% penalty per day late (including weekends and holidays). We strongly recommend that you keep up with the work because it's difficult to catch up.

The three projects in the class may be done in groups of two people or individually. If done in a group, only one student from the group should hand in the assignment. If both 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.

We encourage students to submit homework electronically, and all projects must be submitted electronically. Because all submissions may be done online, there's no need to show up on campus just to drop off an assignment. Written information associated with an assignment (homework solutions, project descriptions, etc.) may be submitted in the following forms (in order of preference):

Please make sure you send your assignment encoded using MIME so that they show up as attachments, and do not send in formats that are platform specific as Word.Please bring an identifcation card, when you are going to take an exam

The final grades will be given based on curve.

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.

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.

ADA Compliance

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