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)