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 - 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