Course Syllabus  


Text (Optional):

        Operating Systems: Gary Nutt

        Notes (Must Purchase):

        Not available in soft copy.

        Available at:

                  A-1 Copies
                    University Mall
                    Tel. 552-2008


This course covers both theoretical and practical issues underlying operating systems design and implementation.  The programming projects cover the implementation and the lectures and exams cover both the theory and implementation.


Other: You are responsible for reading your email everyday and any announcement made in class.



This course has a prerequisite of CS2604. Only CS and CPE majors are allowed. Exceptions will be made for CSA grad students.
Fill out the prerequisite if you did not have 2604 with a grade of C or better.




Midterm: 20%

Final:       20%


Project 1:     15%     Design due one week after assignment is given out.
Project 2:     10%     Design due one week after assignment is given out.
Project 3:     20%     Design due one week after assignment is given out.
Project 4:       5%     Design due one week after assignment is given out.

Quizzes and Miscellaneous: 10%


The project percentages reflect the difficulty of the projects.  In addition, Project 2 will build on Project 1 and Project 3 will build on Projects 1 and 2. If your design for Project 1 is poor then Project 2 and Project 3 will be next to impossible to receive credit.


All projects will be written in C++ and will run under UNIX.

If the design is not turned in, you will lose 10% of the project grade.

A -- 90% - 100%
B -- 80% - 89.99%
C -- 70% - 79.99%
D -- 60% - 69.99%


How to achieve success in this course:


Honor system:


All work is to be done under the provisions of the Virginia Tech Honor System. Students may discuss the interpretation of an assignment; however solutions must be independent.

I will report all violations of the Honor System.



Programming Projects:


Projects will be graded by the GTA. They will be graded on a 100-point scale. 60% is for correctness. If the project does not work for all test cases, then you do not receive all of the 60%. 40% is for "elegance"-- follow the guidelines for programming style.

You must test your own program. The "test data" will not be given until a few days prior to the due date. In other words, if you wait for the "test data", you will probably not make the due date.

Unless stated otherwise, each project must be submitted with the following:

1. A copy of the program containing:  

o        A description of the design (and the design) the names of files

o        Program execution output

o        A document explaining the design and how to compile the program

2. Disk:  

o        Labeled with name, course number and semester, compiler name and version, hardware configuration, operating system name, and version, and instructions for running your program

o        Source code

o        Executable file

o        Program execution output

3. Put the disk in the envelope in a manner that will prevent the disk from falling out.

4. A demo for some of the projects is required. It is your responsibility that your program works on the required machine in the lab.

Misc. problems: 

o        Let me know if you are going to be gone from a class (before you miss)

o        If you are ill and provide a doctor's written excuse (with the proper date)

o        If someone in your family dies, bring a copy of the death certificate or the obituary (with your name and relationship to the deceased)

o        Other reasonable excuses will be considered.



Division of labor:



GTAs (Nara and Li)

The project demos will be overseen by the GTAs.

If you have a problem with the grading of something, take it to the person who graded it.


Please send any comments / suggestions to: