UW Logo

CS350: Operating Systems


Contents

Announcements   |   Contents   |   Lectures   |   Course Personnel
General Info   |   Exams   |   Assignments   |   Nachos Info
Reappraisals   |   Lecture Notes   |   Reading List   |   Visual CS350   |   Useful Links

Lectures

Section 1 14:30 - 15:50 Tuesday, Thursday MC 4021 Trevor Grove
Section 2 8:30 - 9:50 Tuesday, Thursday MC 2065 Ken Salem
Section 3 11:30 - 12:50 Tuesday, Thursday RCH 307 Eugene Zima

Course Personnel

Name
Office
Phone
Email
Office Hours
Trevor Grove Instructor DC 3344 x4679 trg@csg.uwaterloo.ca Dec 4th 1:00-2:30 PM
Ken Salem Instructor DC 1315 x3485 kmsalem@uwaterloo.ca Dec 3rd 11:30-1:00, Dec 8th 2:30-4:00
Eugene Zima Instructor DC 2304 x3199 ezima@scg.math.uwaterloo.ca
David Pariag Head TA DC 3308 x3151 db2paria at math.uwaterloo.ca Friday 10:00-11:00
Bradford Hovinen TA DC 2302B x5390 bghovinen at math.uwaterloo.ca Tuesday 10:00-11:00
Chris Micacchi TA DC 2132 none cdmicacc@cs.uwaterloo.ca Thursday 1:00-2:00
Richard Jang TA DC 3515 x3522 rjang@math.uwaterloo.ca Monday 1:00-2:00
Jason Selby TA DC 3548A x4822 j2selby@uwaterloo.ca Monday 2:00-3:00
Jun Chen TA DC 3507 x3508 j2chen@uwaterloo.ca Wednesday 2:00-3:00
Xuhui Li TA DC 3543 x3628 x5li@uwaterloo.ca Friday 1:00-2:00
Xiaofen He TA MC4022 x7044 x2he@uwaterloo.ca Wednesday 11:00-12:00

General Information


Exams

NOTE: In addition to materials from class; the text; and course readings, exam questions will also include Nachos specific questions. Group members are responsible for ensuring that they understand all aspects of Nachos, including those portions implemented by other group members.


Assignments

Course assignments are based on Nachos. Nachos consists of an simulator for a MIPS-based workstation plus a rudimentary operating system for that workstation, implemented in over 10,000 lines of C++. Nachos comes originally from UC Berkeley and has been modified for use at Waterloo.

Assignments may be done individually or in groups of 2 or 3 (groups of 3 is recommended). If you want a partner but do not have one, post to and/or read the course newsgroup to find one. Assignment 0 is to register your group.

Code for the assignments must be submitted electronically; documentation is to be prepared using a text formatter and good-quality printer and must be handed in as printed output. Your design documentation MUST use the marking guide as the cover page. See the general assignment information handout for more information.

Discussing assignments with other students is allowed, even encouraged, but work handed in must be that of the individual or group. The standard penalty for copying an assignment or allowing an assignment to be copied is a mark of -100% for that assignment.

Do not leave assignments until the last week. Start early!
Remember: late assignments receive a grade of 0%.

Assignment 0
Assignment 1
Assignment 2
Assignment 3

Nachos and Related Information

Installing Nachos
How to get started by installing Nachos in your account.
Nachos Operating System Overview
A quick tour through the operating system for the simulated workstation.
Nachos Workstation Overview
A quick tour through the simulated workstation.
Working in Groups
Some information about working in groups in CSCF's Unix environment. This includes information about file access control, and some suggestions for sharing Nachos files among the members of a group.
Unix File Permissions
Find out what various file permissions mean and how to manipulate them.
Debugging Nachos
A tour through Nachos' built-in debugging facilities, and how to get started running Nachos under GDB.
Cyclic Include Files
There are dependancies among the header files used in Nachos. Adding one #include can make your code not compile. Find out more.
Running Nachos on Linux
Some information for those who would like to run Nachos at home on a Linux PC.

Non-UW Nachos Material
Nachos Overview Paper
This is a paper about Nachos by the authors of Nachos. It describes the ideas behind Nachos and discusses the assignments as they once existed. The assignments currently being used at Waterloo are different from the ones described in this paper.
Overview of MIPS registers
A description of all the MIPS registers and a mapping between the numeric and symbolic names for them.
Road Map Through Nachos by Thomas Narten
This is a more detailed overview of Nachos, written by Thomas Narten. Previous classes have found it useful. However, you should be aware of several things before reading this. First, it describes an older version of Nachos than the one installed at UW. The descriptions are still mostly relevant, but there have been some changes. Second, the UW versions of the Nachos projects differ from others, including Narten's. Don't take assignment-specific comments too literally. A Postscript version of the Road Map is also available, perhaps unofficially.

Reappraisals

Not that we think that there is a big need for this but for those cases where it is necessary - if you have an assignment or exam that you would like to have reappraised you must use the form provided below. Print this form, fill it out, staple it to the exam or assignment in question and hand that in to your instructor. The entire exam/assignment will be reevaluated and your grade may be raised or lowered. Please look at the grading, remember that it's not an exact science/art and that while you may have deserved a few marks more on one question you may have been given more marks than you deserve on another question. Also please think about whether your final grade will actually be modified if the grade on an individual piece of work is changed.

Note that requests for reappraisal will not be accepted on the same day that work is returned. Unless otherwise specified, you have two weeks from the date that the work was returned to file a request.

Request for Reappraisal Form


Lecture Notes

Pre-printed spiral-bound copies of Part 1 of the course notes are available ($5.84) through the UW bookstore, or you may download them from here for printing or viewing. Part 1 includes the first three sections of the notes: Introduction, Processes, and Synchronization. The remaining notes will be available from Graphic Services in the Davis Centre library.

Note: the interprocess communications notes also include a few extra slides on file systems.

Reading List

The following readings are from the course textbook.
Background and Overview
Processes and Threads
Memory Management
Concurrency and Synchronization
Virtual Memory
Processor Scheduling
I/O
File Systems
Interprocess Communication and Networking
Security

Visual support

Visual CS 350


Useful Links

Programming and Source Code Control Tools

Filesystem pathname translation algorithm (2003-11-11)

Here is a cleaned-up presentation of the Translate(p) algorithm presented in class (all sections) on 2003-11-11.

Extra Materials on IPC

Miscellaneous


Last Modified: 09 September 2003
CS350 Web master (cs350@student.cs.uwaterloo.ca)