Fall 2004: Monday 4:30-7:10 PM at Innovation Hall room 204
Professor Daniel A. Menascé
ST2 Room 407
Course office hours: Monday 3:00-4:00 or by appt; e-mail all times
Phone: 703-993-1537
E-mail: menasce at cs.gmu.edu (please prefix the subject of your
message with CS471)
CS 471 is a 3-credit course with grade C or better in CS330 and CS 365 as a prerequisite. Issues in multiprogramming. The course covers concurrent processes and synchronization mechanisms, processor scheduling, memory management, file management, I/O management, deadlock management, performance of operating systems, and projects dealing with synchronization in a multiprogrammed operating system and with virtual memory management.
Grades are based on two in-class exams (a midterm and a final), two projects, and assignemnts. Grades will be numerical on the scale 0-100. Your final numerical grade, G, is computed as follows:
| G = | 0.25 * Midterm + 0.15 * Project1 + 0.25 * Project2 + |
| 0.25 * Final_Exam + 0.10 * Assignments | |
The following table is used to convert the final numerical grade to a letter grade:
| G | letter grade |
|---|---|
| [95,100] | A+ |
| [90,95) | A |
| [85, 90) | A- |
| [80, 85) | B+ |
| [75, 80) | B |
| [70, 75) | B- |
| [65, 70) | C+ |
| [60, 65) | C |
| [55, 60) | C- |
| [50, 55) | D |
| [0, 50) | F |
There is no curving. No assignments will be accepted after the due date.
No extra credit assignments will be given after the semester is over to increase grades. The instructor may decide to give an extra-credit assignment during the semester. Everyone will be given the opportunity to do the extra-credit assignment.
| Weeks 1-2: | Introduction to OSs and Computer System Structures |
| Week 2: | Computer System Structures and OS Structures |
| Week 3: | Processes |
| Week 4: | Threads |
| Week 5: | CPU Scheduling |
| Week 6: | OS Performance |
| Week 7: | Midterm |
| Weeks 8-9: | Process Synchronization |
| Week 10: | Deadlocks |
| Week 11: | Memory Management |
| Week 12: | Virtual Memory |
| Week 13: | File System Interface |
| Week 14: | File System Implementation |
Required reading:
Other recommended readings:
The TA for this course is Ms. Younhee Kim (ykim9@cs.gmu.edu). She will be available to answer technical questions about labs and projects. Programming questions should be addressed to the TA while conceptual questions should be addressed to your instructor. When sending a question to the TA, please prefix the subject with cs471. The TA's office hours are Wednesdays and Thursdays from 2 to 4pm in room 422A, ST II.
The first project will be an individual project and the second is a group project. For the second project, students will work in teams of at most three people. A single final group technical report is due for the second project. Besides the group report, each member of the group has to turn in an individual (one-page) report indicating his or her perception of how the work was distributed among the group members and what the percent contribution of each was. It is an unnacceptable work distribution to have one student write the report while others are involved in technical tasks. Everyone has to be involved in all aspects of the project: design, programming and testing, analysis and interpretation of the results, and report writing. Students should report any breakdowns on group organization and operational aspects immediately, so that these problems can be corrected. For projects to complete successfully, it is very important to plan ahead and follow a schedule. Starting to work on a project a few days before it is due, will very likely cause problems to its successful completion. The project due date will not be postponed unless major problems (e.g., machine unavailability, etc) occur.
See GMU Fall'04 Calendar. Important dates for this course follow.
| First Class | August 30, 2004. |
| Last day to submit Domicile Reclassification Application | August 30, 2004. |
| Labor Day (no classes) | September 6, 2004. |
| Last day to drop with no tuition liability | September 14, 2004. |
| Last day to drop with no academic liability | October 1, 2004. |
| Columbus Week (no classes) | October 11, 2004. |
| Columbus Week (Midterm) | October 12, 2004 (Tuesday). |
| Last Class | December 6, 2004. |
| Final Exam | December 13, 2004. |
WEB BASED TUTORIALS and WORKBENCHES :
We will be using tutorial modules developed by the Hyperlearning Center to supplement the material covered in this course. In particular, we will use the Interprocess Synchronization and Virtual Memory Module .
A series of OS workbenches developed in Java illustrate, through animation, several concepts in OS.
No collaboration is allowed among students in any of the individual exams. Students are allowed to discuss with other students the solution of homework assignments. Collaboration in the project is only allowed within the group. Please make sure you are aware of GMU's as well as the CS dept's Honor Code.