CS 3204: Operating Systems - Fall 2002
Graduate Teaching Assistants
- Name: Reenal Mahajan
- E-mail: email@example.com
- Office: McB124
- Office hours: M 9 - 11 AM, F 12 - 2 PM
- Name: Scott Preddy
- E-mail: firstname.lastname@example.org
- Office: McB 124
- Phone: TBA
- Office hours: T 3:30 - 5:00, W 4:00 - 5:30, H 3:30 - 4:30
MW 2:30 - 3:45 PM (Randolph 221 - CRN 91386), TH 2:00 - 3:15 PM (GBJ 100 - CRN 91388)
This course covers both theoretical and practical issues underlying operating system design
and implementation. Lectures and homework assignments focus primarily on theoretical and conceptual
aspects of operating systems. Programming projects focus on the application of concepts and
- Passed ECE 2504: Introduction to Computer Engineering
- CS Major/Minor: >= 2.0 (C) in CS 2604
- ECE Major: >= 1.7 (C-) in CS 2604,
The following book is required:
Operating Systems: A Modern Perspective, 2nd Edition, by Gary Nutt,
Addison Wesley, 2001, ISBN: 0201741962.
Scores in this class will be on a 1000 point scale distributed as follows
Quizzes - 50 pts
Short quizzes (including pop-quizzes without any prior notification) will be given
during lecture sessions throughout the semester. Quizzes will mostly cover
material from the previous and current
Homework - 100 pts
There will be a number of homework assignments that may consist of problems from the textbook or
small programming assignments. All solutions should be submitted electronically using the curator
system as a word, PDF or plain-text file.
Programming projects - 500 pts
The majority of your grade will come from individual programming assignments. There will be four or five programming assignments. The number of points each assignment is worth will be indicated on the assignment description. All programs have to be submitted to the curator system. Precise instructions regarding each individual submission will be provided with each assignment specification.
- Note: These projects will be quite challenging and will
require extensive investment of your time and effort. Make sure that you start early on the
assignments, understand the specifications and ask questions if you face any problems.
- No late submissions of homework or programs will be accepted.
- Your programs must work on the lab machines in McB 124. You will be asked to demo your program
to the GTA in that lab.
Exams - 350 pts
The midterm exam will cover approximately half the course material and is tentatively scheduled for
the week of October 27. The final exam will be a comprehensive exam covering the entire course
material and is scheduled for December 16, 1:05 PM - 3:05 PM for CRN 91386 and 3:25 PM - 5:25 PM
for CRN 91388.
Note: There will be no make-up of the midterm or final exam, unless
there is a valid reason. If you have a valid excuse for not being able to take the exam in the
scheduled time-slot, please inform the instructor atleast 24 hours in advance. The request has
to be accompanied by a letter from the Dean's office.
Upon receiving grades for attendance, quiz, homework, or project, you have two weeks to
question/contest your grade. After that, you will not be able to contest the grade which you
received on an assignment, project, exam or quiz. This is to ensure that the grader remembers
the grading criteria and is able to fairly consider any re-grading request.
Class web site, listserv and forum
The url for the class is
Announcements regarding availability of assignments and grades will be posted to the class listserv.
The listserv address is L91386_91388@listserv.vt.edu
Every student who is registered by the first day of class is automatically subscribed to the class
list. The listserv will be used primarily for announcements.
A discussion forum for the class is available at https://forum.cs.vt.edu/
The forum should be used for discussion about the projects rather than the class listserv. Questions
(and answers) of relevance to the entire class will be posted to the class listserv by the instructor
and/or the GTAs.
Posting of solutions to the listserv or forum is NOT permitted.
The Honor Code applies to both the listserv and forum too.
Absolutely NO late homework assignments or projects will be accepted. Plan in advance
to make sure that you submit before the deadline.
All programming assignments and any homework assignments involving programming will be expected to
run under Linux with gcc/g++. Assignments are expected to compile and execute
on the Linux machines in the Computer Science undergraduate lab, which run Mandrake Linux 8.2. You are
required to have a CS undergraduate lab account. See
for details on
obtaining an account.
At least one assignment will require modifying the source code of the Linux kernel. To complete this assignment, you will need root access to the operating system. Since you cannot have root access in the CS undergraduate lab, you will be required to install Linux on your personal machine. It is recommended that you do this at the beginning of the semester as possible to identify any potential difficulties with this process.
You are encouraged to download and install the Mandrake system on your own
machine. Information and downloads can be obtained from
http://www.mandrake.org/. A local mirror site for downloading different versions of Linux,
including the latest version of Mandrake, is
http://raven.cslab.vt.edu/pub/Linux/. Installing Linux can be a tricky task, and differs widely
depending on your own system configuration. The Virginia Tech Linux/UNIX User's Group
http://www.vtluug.org/ is available to help you with this process.
The Honor Code
The Honor Code applies to this course and will be enforced. All graded assignments must be your own work. You may seek help during office hours from the instructor or the Graduate Teaching Assistants. Always give credit for work that is not entirely yours (e.g., parts of programs or homework answers borrowed from a book). You can find the Computer Science departmental policy on koofers at
If any student needs special accommodations because of a disability, please
contact the instructor during the first week of classes.
There are no make-ups on the homeworks, programs, or tests except under special circumstances as
Keep all returned assignments until the end of the semester.
Keep a personal backup copy of each assignment/program you are to turn
in. This is particularly important for programming assignments. Make sure that you save your
assignments on a different machine and/or disk.
© Mir Farooq Ali, 2002.