CS 3204: Operating Systems - Syllabus (Spring 2005)
Mir Farooq Ali
miali AT cs DOT vt DOT edu
Mon 1:30 - 3:00 PM, Wed 2:00 - 3:30 PM
Graduate Teaching Assistant
yuchen AT csgrad DOT cs DOT vt DOT edu
Tue, Thu 9:45-11:45AM, Fri 10:00-11:00AM
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 implementation
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 System Concepts, 7th Edition , by Abraham Silberschatz,
Peter Baer Galvin, Greg Gagne, Wiley, 2004, ISBN: 0-471-69466-5.
Scores in this class will be on a 1000 point scale distributed as follows
|Midterm Exam - I
|Midterm Exam - II
Quizzes - 50 pts
Short quizzes will be given during lecture sessions throughout the semester.
Quizzes will mostly cover material from the previous lectures.
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 plain-text file.
Programming projects - 500 pts
The majority of your grade will come from individual programming assignments.
There will be five programming assignments. The number of points per assignment
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.
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
There will be three exams in this class. The midterm exams will cover
approximately two-thirds the course material and will be tentatively scheduled
February and March, respectively. The final exam will be a comprehensive exam
covering the entire course material and is scheduled for May 10th, 3:25 PM -
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
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 CS3204_11528@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 and clarifications.
A discussion forum for the class is available at
. 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 programming 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. You are required to have a CS undergraduate lab account. See
for details on obtaining an account.
At least one assignment might 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 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
ftp://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 Assistant. 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
Students with Disabilities:
If you need adaptations or accommodations because of a disability (learning
disability, attention deficit disorder, psychological, or physical), if you
have emergency medical information to share with the instructor, or if you need
special arrangements in case the building must be evacuated, please meet with
the instructor as soon as possible.
There are no make-ups on the homeworks, programs, or tests except under special
circumstances as explained above.
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 2005.