CMSI 387: Operating Systems
Syllabus
Spring 2006
| Tuesday / Thursday | Caskey L. Dickson |
| 10:50p.m. - 12:05 p.m. | caskey @ technocage.com |
| Doolan 222 | 310-338-5100 |
| Doolan 104 |
This class will discuss the design and construction of modern computer operating systems. Topics such as process management, storage management, i/o, security and networking will be covered as they relate to the operating system's role as a resource manager and arbiter. By the end of this course students will have a thorough understanding of the issues that affect the behavior and performance of computer operating systems.
This course is for Junior undergraduate students in Computer Science. Possession, or acquisition by mid-semester, of a working knowledge of the C programing language will be essential to completing the semester project. Furthermore, to complete many homework assignments, students will have to acquire a working knowledge of the UNIX environment.
The text is the previous edition of Silberschatz which should be easy to acquire cheaply online. The bookstore may still have copies of the Seventh edition which you can substitute, though you will have to get homework problems from the sixth edition. This class's books were ordered late from the bookstore and may not arrive until later in the semester.
The course homepage is available at the following two URLs. The first is the primary site and the second is a mirror. The details of specific homework assignments will be posted at these locations. You will be well served to check these pages whenever you sit down to do work so as to ensure you have the latest version of any assignments.
Your final grade will be composed of five roughly equal parts:
Your final letter grades will be figured according to the following subjective scale:
| A | Mastery of the subject matter as reflected in midterm and final exam performance, submission of all complete homework sets, completion of a non-trivial project, plus authoring and presenting a clear and coherent report on the project. |
|---|---|
| B | Superior understanding of the subject matter as reflected in the midterm, and final exam, submission of all homework sets, completion and presentation of a clear and well engineered project. |
| C | Average/Basic understanding of the material as represented on the midterm and final exams, trivial or weak project, failure to satisfactorily complete any one of the five grade components. |
| D | Poor/Insufficient understanding of the material as represented on the midterm and final exams, failure to acceptably submit more than one of the grade components. |
| F | Failure to engage or attempt to understand the course material. |
Homework sets are due at the beginning of class, each Tuesday. Late work will not be accepted. It is better to turn in an incomplete assignment than none at all. You will not be reminded to turn in assignments, you are expected to keep track of your deadlines.
Your writing and coding style will play a huge part in determining your score on the assignments. I will not hesitate to assign D's and F's to working programs which are poorly presented, not proofread, badly structured, haphazardly indented, under-commented, have poor identifier names and abbreviations, contain inappropriate hard-coded values, or are not "easily maintainable". Appearance of the grading policy in this syllabus constitutes "fair warning" of the consequences of poorly written code.
Code that fails to compile or fails to validate when run through a conformance test (e.g. validating parser) will be given an F without further review.
As with your source code, your writing must be clear, edited and concise. All submitted work, must be typed and proofed. The ability to communicate your ideas clearly and effectively is a critical aspect of your work now and later in industry. As such, assignments with misspellings and/or bad grammar will be returned ungraded. You are encouraged to make use of your peers. It is my assumption that any writing assignment you turn in has been proofed by at least one other person. The campus LRC in the library is an invaluable resource in this regard. An exception to printed/typeset material requirement is granted for hand-annotation of printed screen shots, complicated diagrams or other material that would be impractical to typeset. However, illegible work will be returned ungraded and poor craftsmanship will be given an F.
Work may be turned in either in-class or via email, however email submissions of writing assignments will be accepted in PDF format only. Email is a reliable but somewhat unpredictable message transport. Sending a message on-time is not sufficient, it must arrive on my server before the deadline in order to be considered on-time.
Attendance is at your discretion. Participation is an important part of the learning process and the value of attending the lecture can't be overstated. We're all aware of how expensive tuition is and out of respect I will do my best to be here on time every week; I expect you to do the same.
What follows is a general outline of the course topics and readings. While we will attempt to adhere as closely as possible to this schedule, it may scale depending upon the speed with which we cover the individual topics.