CS350: Operating Systems
WARNING : CONTENTS ARE SUBJECT TO CHANGE!!!
Contents
Announcements |
Contents |
Lectures |
Course Personnel
General Info |
Exams |
Assignments |
Nachos Info
Reappraisals |
Lecture Notes |
Reading List |
Visual CS350 |
Useful Links
Lectures
Section 1 |
08:30 - 09:50 |
Tuesday, Thursday |
MC 4059 |
David Taylor |
Office Hours Mon/Tues 10-11, Fri 11-12 MC 5116 |
Section 2 |
10:00 - 11:20 |
Tuesday, Thursday |
MC 1056 |
Eugene Zima |
Office Hours Thurs 4 - 5 pm DC 2304 |
Section 3 |
11:30 - 12:50 |
Tuesday, Thursday |
MC 4020 |
Tim Brecht |
Office Hours Tues/Thurs 1:45 - 2:15 DC 3508 |
Section 4 |
14:30 - 15:50 |
Tuesday, Thursday |
MC 4059 |
Tim Brecht |
Office Hours Tues/Thurs 1:45 - 2:15 DC 3508 |
|
Course Personnel
Name |
Office |
Phone |
Email |
Office Hours |
David Pariag |
Head TA |
DC 3308 |
x3151 |
db2paria at math.uwaterloo.ca |
Wednesday 10:00-11:00 |
Jason Selby |
TA |
DC 3548A |
x4822 |
j2selby at uwaterloo.ca |
Monday 10:00-11:00 |
Ben Korvemaker |
TA |
DC 2509 |
N/A |
bfkorvem at uwaterloo.ca |
Tuesday 1:00-2:00 |
Matt Nichols |
TA |
DC 3509 |
x3509 |
mjnichol at math.uwaterloo.ca |
Thursday 1:30-2:30 |
Richard Jang |
TA |
DC 3515 |
x3522 |
rjang at math.uwaterloo.ca |
Friday 11:30-12:30 |
Bradford Hovinen |
TA |
DC 2302B |
x5390 |
bghovinen at math.uwaterloo.ca |
No regular hours
(But see website) |
Xuhui Li |
TA |
DC 3543 |
x3628 |
x5li at uwaterloo.ca |
None |
Feng Jiao |
TA |
DC 2306B |
x 5389 |
fjiao at math.uwaterloo.ca |
None |
Erin Lester |
TA |
DC 2125 |
N/A |
eclester at cgl.uwaterloo.ca |
None |
Alex Stewart |
TA |
DC 2302B |
x5390 |
am2stewa at uwaterloo.ca |
None |
Ian Rutherford |
TA |
N/A |
N/A |
ijrutherford at math.uwaterloo.ca |
None |
Qiang Wang |
TA |
N/A |
N/A |
q6wang at math.uwaterloo.ca |
None |
|
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)
-
Course Notes will be made available soon.
-
Course Email - cs350@student.cs.uwaterloo.ca
This will be checked infrequently!!
-
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/W04
- 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.
- Midterm Exam
- Monday Febrary 16, 7:00 - 9:00 PM
Watch here and in the newsgroup for information about
where you will write your exams.
Note that all exam conflicts must be reported by
Jan 30.
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, 16 January
- 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
-
- Design Document Due: 11:59 am on Friday, 30 January
- Full Assignment Due: 11:59 am on Friday, 6 February
- General Assignment Information (PDF)
The information in this document applies to all of the assignments.
- Assignment 1 Description (PDF)
- Assignment 1 Marking Guide/Cover Sheet (PDF)
- Replacement files for code/userprog/syscall.h and code/userprog/errno.h:
Be sure you use these files when doing your assignment
(i.e., they replace the files originally distributed with Nachos).
- A NachOS test program for generating overflow exceptions.
Note that the compiler produces code that will not generate an
overflow but this code will.
- 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.
- Nachos Tutorial Slides
-
PDF version of the slides used in the Nachos tutorial
- 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
Lecture notes Part I and II are available for purchase at the DC copy center
(outside of the Davis Center Library).
- Introduction PDF,Postscript,Postscript 2up
- Processes PDF,Postscript,Postscript 2up
- Example System Call PDF 2up,Postscript 2up
Brecht's sections: please print this and bring it with you to class.
- Synchronization PDF,Postscript,Postscript 2up
- Memory Management 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
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
Miscellaneous
Last Modified: 17 March 2004
CS350 Web master (cs350@student.cs.uwaterloo.ca)