George Mason University
DEPARTMENT OF COMPUTER SCIENCE

CS 471 -- Operating Systems
Spring 2005

T,R 10:30 - 11:45 pm, Innovation Hall 132

Prerequisites | Description | Readings | Topics | Grading | Lateness | Home Page


Professor Richard Carver
703-993-1550
rcarver@cs.gmu.edu
Course office hours: (After class) T, R 12:30 - 1:30pm
Sci & Tech II Room 343


PREREQUISITES :
C or better in CS330 and CS365


DESCRIPTION :
CS471 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.


READINGS:
A. Silberschatz, P.B. Galvin, and G. Gagne, Operating System Concepts with Java, Sixth Edition, John Wiley & Sons, 2004. If you are not familiar with Java or need a refresher, please check the Java Primer that comes with the book. You can also logon to ACM's to take free Java online courses. Most of the slides used in the course are prepared by the authors of the book. They are available at the Student Companion Site for the text.


SYLLABUS (tentative):

Week 1: Introduction to OSs and Computer System Structures
Week 1: OS Structures
Week 2: Processes
Weeks 3-4: Threads
Week 5: CPU Scheduling
Weeks 6-7: Process Synchronization
Week 8: Midterm
Week 9: Deadlocks
Weeks 10-11: Distributed Systems
Week 12: Memory Management
Week 13: Virtual Memory
Week 14: File System Interface
Week 15: File System Implementation



GRADING POLICY :

Grades are based on two in-class exams (a midterm and a final), homework assignments, and programming projects. Grades will be numerical on the scale 0-100. Your final numerical grade, G, is computed as follows (tentatively):

G = (0.25 * Midterm) + (0.25 * Final_Exam) + (0.50 * Homework and Programming Assignments)

The following table is used to convert the final numerical grade to a letter grade:

G letter grade
[98,100] A+
[92,97] A
[90, 91] A-
[88, 89] B+
[82, 87] B
[80, 81] B-
[78, 79] C+
[70, 77] C
[60, 69] D
[0, 59] F

Grades will not be curved. No assignments will be accepted after the due date.


TEACHING ASSISTANT:

The TAs for this course are Mohamed Bennani (mbennani@gmu.edu) and Pallavi Gangaiah (pgangaia@gmu.edu). Pallavi is also the TA for CS571. Mohamed's office hours are Tuesdays and Thursdays from 1-3pm in ST2 room 365. Pallavi's office hours are Monday 2-4pm and Wednesday 4-6pm in ST2 room 365.

The TAs are available to answer technical questions about labs and projects. Programming questions should be addressed to the TAs while conceptual questions should be addressed to your instructor. When sending a question to the TAs, please prefix the subject with CS471.


HONOR CODE:

Violations of the honor code will result in severe penalties. Click here for the CS Department's Links to materials on the honor code, ethics and integrity.


CLASS HOME PAGE:

CS471 has a home page (http://www.cs.gmu.edu/~rcarver/cs471/)


RESOURCES:

  1. ACM's Special Interest Group in Operating Systems (SIGOPS).
  2. IEEE Computer Society's Distributed Systems Online.

IMPORTANT DATES :

See GMU Fall'05 Calendar.


WEB BASED TUTORIALS and WORKBENCHES :

Several tutorial modules have been developed by the Hyperlearning Center to supplement the material covered in this course: Interprocess Synchronization and Virtual Memory Module .

A series of OS workbenches developed in Java illustrate, through animation, several concepts in OS.


IMPORTANT RULES :

No collaboration is allowed among students in any of the individual exams. Please make sure you are aware of GMU's as well as the CS dept's Honor Code.