This document is available in four formats at the following Uniform Resource Locators.
Office: | McBryde 521 |
---|---|
Office Hours: | 4:00-5:00 Monday and Thursday, 3:00-5:00 Wednesday, and by appointment |
Email: | cstruble@vt.edu |
Phone: | 231-5914 |
Office: | McBryde 133 |
---|---|
Office Hours: | To Be Determined |
Email: | kkiran@csgrad.cs.vt.edu |
This course covers both theoretical and practical issues underlying operating system design and implementation. Lectures focus primarily on theoretical and conceptual aspects of operating systems. Programming projects focus on the application of concepts and implementation details.
Homework and Quizzes | 200 points |
Programming Assignment 1 | 100 points |
Programming Assignment 2 | 150 points |
Programming Assignment 3 | 150 points |
Programming Assignment 4 | 150 points |
Midterm | 100 points |
Final Exam | 150 points |
There is no formal curve given for any single project or test. The final grades will be determined based on your relative performance in the class. I do guarantee that anyone getting 900 points or higher receives at least an A-, 800 points at least a B-, 700 points at least a C-, etc.
Homework assignments will be given out throughout the course of the semester. Homeworks may include very short programming assignments, short answer questions, and lab exercises. Assignments are due in class one week from their handout date. No late assignments will be accepted.
In addition, pop quizzes based on the material in the book may be given during any class. Each quiz given will be worth 10 points. There will be no make up quizzes for any reason.
There are four programming assignments. The program grades consist of 70% for functionality and 30% for documentation and coding style. Documentation includes appropriate README files for building and executing your assignment as well as in code documentation. Design documentation may also be required for some assignments.
Assignments must be turned in on the due date and time given. Assignments MAY NOT be turned in late for any reason. Be sure to make frequent backups, use a source code control system such as CVS, and start early on the assignments. Hard drive crashes, power outages, and lab closings are not valid excuses for late assignments.
Further information regarding assignment submissions will be available on the home page. This information must also be followed to receive full credit on the program.
All programming assignments must be implemented using ANSI C or ANSI C++ under FreeBSD or Linux. A reasonably recent version of each environment (e.g., FreeBSD 4.x or a Linux distribution based version 2.2.x of the kernel) is expected. These environments will also be used for several homework assignments.
NOTE: The GTA and instructor will be using the RedHat 6.2 Linux distribution for all assignments, and we will be able to answer environment specific questions only for that platform. You are on your own if you choose a different platform.
There will be one midterm and one final examination. These tests may be of any format. The tests cover material presented in class as well as in the textbook. No make up tests will be given unless the instructor is notified at least 24 hours in advance that you will be missing a test and a valid excuse must be given to warrant a make up test.
Chapter | Topic |
1 | Introduction |
2 | Using the Operating System |
3 | Operating System Organization |
4 | Computer Organization |
6 | Process Management |
7 | Scheduling |
8 | Basic Synchronization Principles |
10 | Deadlock |
11 | Memory Management |
12 | Virtual Memory |
9 | High-Level Synchronization |
13 | File Management |
5 | Device Management |
Note, this schedule is subject to change at the instructor's discretion.