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
General Information
-
Textbook - Operating System Concepts 6th Edition.
Silberschatz, Galvin, and Gagne. John Wiley and Sons, 2002.
-
The textbook being sold in the UW Bookstore
is the "Windows XP Update" of the 6th edition.
It does not matter whether you have the Windows XP Update of
the 6th edition or the original 6th edition.
Apparently, the only difference between the two is a new appendix
that is included in the XP Update version.
-
Book's authors' web page, including
errata (PDF)
-
There is now one copy of the textbook on 3 hour reserve at the
Davis Centre library. The reserve call number is UWD1568.
-
Course Notes - CS350/354 Course Notes, Operating Systems, Fall 2003.
The course notes are available in hard copy through the UW
Bookstore. They are also available
on-line in PDF format.
Currently, only Part 1 of the notes is available at the bookstore.
Part 2 will be available later in the term.
-
Course Email - cs350@student.cs.uwaterloo.ca
-
Course Newsgroup - uw.cs.cs350
Read the newsgroup regularly. The web page contains on-line
copies of the course handouts, readings, assignments and other
related resources. The course email account above is for
group formation and assignment submission ONLY. Please send
your questions preferrably to the newsgroup and, if
necessary, directly to instructors and/or TA's.
-
Homepage - http://www.student.cs.uwaterloo.ca/~cs350/F03
- Handbook Description
- Calendar Description
-
Evaluation:
- Assignments: 35% (10/15/10)
- Midterm Exam: 20%
- Final Exam: 45%
To obtain a passing mark in the course, the weighted
average of the two exams
must be at least 50%. Otherwise the weighted
average of the two exams is used for the final
grade.
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.
- Final Exam
- Midterm Exam
- Exam-related Study Documents
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
-
- Due: Noon on Friday, 19 September
- Assignment 0 is to organize and register your project group.
To do so, you should follow the instructions
in the Forming Groups document.
You must register your group and obtain a group number
even if you are your group's only member. Without a group number you will
not be able to submit the remaining assignments.
- 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.
- Introduction PDF,Postscript,Postscript 2up
- Processes PDF,Postscript,Postscript 2up
- Synchronization PDF,Postscript,Postscript 2up
- Memory Management PDF,Postscript,Postscript 2up
- Nachos PDF,Postscript,Postscript 2up
- Virtual Memory PDF,Postscript,Postscript 2up
- Scheduling PDF,Postscript,Postscript 2up
- I/O PDF,Postscript,Postscript 2up
- File Systems PDF,Postscript,Postscript 2up
- Interprocess Communications and Networking PDF,Postscript,Postscript 2up
- Security PDF,Postscript,Postscript 2up
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
-
- Chapter 1
- Chapter 2
- Chapter 3
- Processes and Threads
-
- Chapter 4, Sections 4.1-4.3
- Chapter 5
- Memory Management
-
- Concurrency and Synchronization
-
- Chapter 4, Section 4.4
- Chapter 7, except Section 7.9
- Chapter 8
- Virtual Memory
-
- Processor Scheduling
-
- I/O
-
- Chapter 13
- Chapter 14, except Section 14.7
- File Systems
-
- Chapter 11
- Chapter 12, except Section 12.9
- Interprocess Communication and Networking
-
- Chapter 4, Sections 4.5-4.6
- 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)