CMSC 421

Operating Systems

Spring 2003

 
Section 0201, 0202 Section 0101
Time: Mon & Wed 2:00 - 3:15 PM Wed 4:30 - 7:00 PM
Location: BS 120 BS 120
Instructor: Anupam Joshi (joshi@csee.umbc.edu) Samir Chettri (chettri@csee.umbc.edu)
Office: ECS 225E (x2590) Code 935 NASA GSFC (301-286-4301)
Office hours: By appointment.  After class. 
 
TAs: Parag Namjoshi (nam1@csee.umbc.edu) Thomas Armstrong (arm1@csee.umbc.edu) Pengyu Liu (pliu2@csee.umbc.edu)
TA office: ECS 334 (x2862)
TA Hours
M 1-2, 5-6
Tu 4-5, 6-7
W 10-12
Th 4-5, 6-7
F 2-3
Staff Mailing List: cmsc421@cs.umbc.edu    Send messages with a subject line containing 'CMSC421'
 
Final Exam: LH 5 from 8-10 AM on May 20, 2003.
 
Prerequisites: CMSC 341 AND ((CMSC 211 and 311) OR CMSC 313 OR (CMPE 310 and 312))
Required Text: Operating Systems Concepts (6th Edition), Silberschatz, Galvin & Gagne, John Wiley, 2001, ISBN 0-471-41743-2 
Recommended Texts: Modern Operating Systems (2nd Edition), Tannenbaum, Prentice Hall, 2001
Advanced Programming in the UNIX Environment , Stevens, Addison-Wesley, 1992, ISBN 0-201-56317-7
Linux Kernel Programming (3rd Edition), Beck et al., Addison Wesley, 2002, ISBN 0-201-71975-4

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 341 (Data Structurs) and some combination of hardware courses depending on whether they are CMSC or CMPE majors. The precise combinations are specified above. Note that the prereqisites as specified in the catalog miss a bracket and as such are inaccurate. In addition, students must be familiar with C / C++ because the projects will require a significant amount of programming effort and constitute a significant chunk of the grade. Students not comfortable with their programming skills under Unix would benefit from the Stevens text. The projects will involve modifying the linux kernel. Copious documentation on the linux kernel is available on the internet, and we shall provide you with links to several appropriate sites. If you prefer to have that in a book form however, we recommend the Beck text. Tannenbaum's text is an interesting alternative to our main textbook, and does a better job of presenting some of the material. Note however that the recommended texts are just that -- recommended. You are not required to buy any of them.

Homework, which will be graded, will be assigned infrequently, and will be due a week later. 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. Pop Quizzes may be given at the discretion of the instructor, and are cannot be made up.

Students in the class are expected to check the class Web page (http://www.csee.umbc.edu/courses/undergraduate/421/spring03/) 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.

You must have access to a computer and the ability/space to install and modify Redhat linux 6.2 or later.

Grading

The final grades for this class will be based on a midterm (20%), final exam (25%), homework (5%), class projects (45%), 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). Parts of the project will have long deadlines (some will be a couple of months). We strongly recommend that you keep up with the work and not leave it till the end because it's difficult to catch up. The project really does demand the amont of time we assign for it.

All homeworks and 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):

No other format is acceptable. The professors and TAs use a variety of machines, and so only accept submissions in a format that can be read on all machines. 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. In fact, we are now mandated to report even minor infractions that in the past we would have dealt with within the course by dropping a letter grade on the assignment etc. 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 may use a cheat-checker program to run over randomly selected 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.