CS541 - Advanced Operating Systems

Instructor: Bob Rinker
Office: JEB 226
Email: rinker@cs.uidaho.edu
Phone: (208)885-7378, (800)824-2889
Office Hours (Fall 2003): 10:30-11:30 MWF, 12:30 TTh, or by appointment, or stop in anytime my door is open!



Catalog Description:
CS 541 Operating Systems (3 cr). Principles of contemporary operating systems for network and distributed computer systems; sequential processes, scheduling, process synchronization, device management, file systems, memory management, and protection and security. Prereq: CS 341 or perm.
Syllabus: (On-Campus) Downloadable from here (ps or pdf).
(Video)(ps or pdf).


Policy on Academic Honesty and Cheating - your continued registration in this class indicates that you understand and agree to abide by the policy.

Grading:
Your grade will be calculated using the following percentages:
Two mid-semester exams (15% ea) 30%
Final exam (comprehensive) 25%
Homework/Projects 20%
Term Paper/Project 25%
Total 100%
The instructor reserves the right to adjust these percentages lower if deemed necessary.
Announcements - Any announcements for the class will appear here
Info regarding checkin - for some reason checkin doesn't seem to work into my directory. So, use the command "~cs541/checkin file" instead. Sorry for the inconvenience.
- If you don't have a UNIX account on the CS Dept machines (or don't remember what yours is!) you should get one! Go to the CS Dept Web page, click on "Student Labs," then click on "Account Requests." If you need help, send email to "help@ cs.uidaho.edu" or see the sysadmins in JEB 40.

Assignments:
Assignment #1 -
Do problem #23 on page 96 of the text.

Assignment #2 -
Repeat assignment #1, except this time use Posix threads for your implementation. Also, implement a "strong readers" solution. That is, if a writer is currently writing, and both another writer and one or more readers would like to execute, your program should favor the reader. Some info about POSIX threads is available below.
Assignment #3 -
Using the MPI installation on our Sun machines, implement the Row-Column- Oriented Matrix Multiply Algorithm. The assignment sheet is available here ( pdf or ps ). Some notes on the algorithm is available here ( pdf or ps )
Assignment #4 -
See the description here ( pdf or ps ).

An intro to Posix threads is available here. The code discussed in the handout (corrected!) is available in a tar file.
How to use the checkin program (corrected!): ( pdf or ps )
A tar file containing several of the UNIX process programs we looked at in class is available here. To "untar" them, use the command "tar xvf filename" (without the quotes).
Link to the CS341 textbook slides website (the semaphore stuff is in Chapter 7): (here )
A decent vi editor Cheat Sheet (pdf or ps)
Unix tutorial (from the University of Edinburgh) here.
Last updated Friday, December 5, 2003