|
UNIVERSITY OF WISCONSIN-MADISON
Computer Sciences Department |
|
CS 537
Spring 2008 |
|
Barton Miller |
|
CS 537: Introduction to Operating Systems |
|
-
You were a great class.
I hope that you all have a wonderful summer and I look
forward to hearing about your future successes.
-
Scores for all quizzes and programs, and final grades
are available.
These scores are listed by the last 5 digits of your
student ID number.
Please check to make sure the scores recorded for you are
accurate and complete.
Important note: Check your Total score and grade.
If you do not take the final exam, this will be your course grade.
To increase your grade, you must get a final exam score as least as high
as the one listed in the "Increase Grade" column.
If you get the score in the "Decrease Grade" column, your course grade
will go down from what it is now.
(8 May 2008).
-
Read this paper for class on Thursday:
Jacques-Louis Lions, Lennart Lebeck, Jean-Luc Fauquembergue, Gilles Kahn,
Wolfgang Kubbat, Stefan Levedag, Leonardo Mazzini, Didier Merle Thomson,
Colin O'Halloran,
"ARIANE 5
Flight 501 Failure: Report by the Inquiry Board",
European Space Agency Report, Paris, July 1996.
-
Quiz 10 answers
and statistics
are available (7 May 2008).
-
Programming Assignment 4 is available (22 Apr 2008).
-
Problem Set 3
is available (17 Apr 2008).
-
A list of helpful hints
for Program #2 is available.
As more questions come in, it will be updated.
(10 Mar 2008)
Instructor: Barton Miller
email:
Office: 7363 CS
Phone: 263-3378
Office hours:
Wednesday 11am-noon
Thursday 11am-noon
Indie hour:
Tuesday 10am-11am
|
TA: Tristan Ravitch
email: tristan.ravitch@gmail.com
Office: 1302 CS
Phone: 262-6600
Office hours:
Tuesday 3pm - 4pm
Wednesday 3pm - 4pm
Friday 9am - 11am
|
-
The course is organized around my lecture notes.
The
lecture notes
are available on the class Web page.
-
You will need the textbook
Operating Systems Concepts
by Silberschatz, Galvin, and Gagne.
-
For the programming
assignments this semester, we will use the C programming language.
I am not requiring a specific book for C.
If you have a book already and are happy with it, you probably do not
need to buy a new book.
If you do not have a book, I would recommend the
C Programming Language
by Kernighan and Ritchie.
My lecture notes are available now.
You should read the first section before coming to class.
Operating Systems Concepts
is available in the book store.
Any version of the book, 5th edition or later is satisfactory;
you do not need to buy the latest edition (7th edition).
Lecture times:
Tuesday/Thursday 1pm-2:15pm
1325 Computer Sciences
Discussion section:
Wednesday 1:20pm-2:10pm
1221 Computer Sciences
Note that there is the
mandatory discussion section (Wednesday at 1:20pm).
This section will be used mainly to discuss material
covered in lecture and for the weekly quizzes.
It will be used also to discuss important details of
the programming assignments and homework.
Make sure that you leave room in your schedule to attend this section.
There will be no midterms.
The final is optional.
An
old final exam
is available for you to review.
Each week, starting the second week of classes, there will be a quiz in the
Discussion Section.
The quizzes will last 15-30 minutes.
Following are the past quizzes with answers:
-
Quiz 10,
Statistics,
May 7.
-
Quiz 9,
Statistics,
April 30.
-
Quiz 8,
Statistics,
April 20.
-
Quiz 7,
Statistics,
April 9.
-
Quiz 6,
Statistics,
April 2.
-
Quiz 5,
Statistics,
March 12.
-
Quiz 4,
Statistics,
March 5.
-
Quiz 3,
Statistics,
February 27.
-
Quiz 2 (make up),
Statistics,
March 3.
-
Quiz 2,
Statistics,
February 20.
-
Quiz 1,
Statistics,
February 13.
There will be about four programming assignments during the semester.
Details on these assignments will be given in class handouts.
These assignments will be written in C and done on workstations running
Linux.
It is unlikely that you will be able to do all these assignments on your
personal computer.
-
Programming
assignment #4
is available.
The goal of this assignment is to learn about performance and measurement
issues in system programming.
Due May 7th at noon.
-
Programming
assignment #3
is available.
You are to create a simulator for CPU scheduling algorithms.
You will implement two simulation algorithms: Exponential Queues and
SCTF, and then
perform a variety of experiments with your simulator.
Due April 22th at 5pm.
Here are the
score statistics.
-
Programming
assignment #2
is available.
The goal of this assignment is to write a program that uses threads and
synchronization.
Due March 12th, 5pm.
Here are the
score statistics.
-
Programming
assignment #1
is available.
The goal of this assignment is to practice using C, learn about system
calls,
and try to write a program that is really tolerant to junk input.
Revised: Due February 18th, 5pm.
Here are the
score statistics.
During the semester, I will hand out several
written problem sets based on the lectures.
These problem sets are for your use and do not need to be turned in.
However, you will find that you will do poorly on the weekly quizzes,
if you
don't do the problems
The TA and I will be happy to answer questions on these problems and
look over your solutions.
-
-
Problem Set #3
is available.
The goal of this assignment is to learn about file system structures and methods.
Problem Set #2
is available.
The goal of this assignment is to learn about
memory management hardware and software.
-
Problem Set #1
is available.
The goal of this assignment is to learn about using the various synchronization
primitives (semaphores, monitors, messages) to solve problems.
Assignments are due at the start of class on the date listed on the handout.
Over the entire semester,
you have
three late days
of credit.
You can use these late days on different assignments (e.g., one day on each
of three assignments) or all three days on one assignment.
Other than these three days,
absolutely no late work will be accepted.
Late days are 24-hour days.
Late days cannot be used on any assignment
that is due during the last week
of classes.
Programming assignments will be done with partners.
Each group of two will work independently from other groups; there should
be no collaborations between groups.
Quizzes and exams are individual work; there should be no communication between
students during an exam.
If you have any questions about what is a permissible activity, talk with me
first.
The penalty for cheating will include receiving an
"F" grade for the course
and having an academic misconduct notation marked on your transcript.
Please make sure to turn off your cell phone during class time.
If your cell phone or beeper rings audibly off during class,
you will be asked to leave
and not return until you meet with me in my office.
We will be using the Linux workstations for this course.
All students who have registered for this class should have an account.
If your personal computer has the proper compilers and libraries, you are welcome
to use it for the programming assignments.
If you don't take the final:
|
|
If you take the final:
|
| Programming assignments: | 40% |
|
Programming assignments: |
30% |
| Quizzes: | 60% |
|
Quizzes: | 45% |
| Final: | 0% |
|
Final: | 25% |
Your lowest quiz grade will be dropped from the average; there will be
no quizzes during the first two weeks.
If you take the final exam, it will be counted as above.
In the past, when I've taught this class, the class GPA has been
around 3.0.
The following schedule is tentative and could (and probably will) change:
| Date |
Lecture |
Discussion |
|---|
| Week 1 |
January 22 & 24 |
Introduction and overview, processes |
Intro to C |
| Week 2 |
January 29 & 31 |
Dispatching, process creation
Guest lecturer: Drew Bernat
|
Intro to C |
| Week 3 |
February 5 & 7 |
Cooperating processes, synchronization |
I/O libraries |
| Week 4 |
February 12 & 14 |
Semaphores |
Quiz 1: Processes |
| Week 5 |
February 19 & 21 |
Monitors, message passing
| Quiz 2: Synchronization with Semaphores |
| Week 6 |
February 26 & 28 |
Implementing synchronization, CPU scheduling
Guest lecturer (Tues): Mike Brim
|
Quiz 3: Synchronization with Monitors |
| Week 7 |
March 4 & 6 |
Deadlock, dynamic memory allocation |
Quiz 4: Synchronization with Messages |
| Week 8 |
March 11 & 13 |
Relocation
No class Thursday
|
Quiz 5: Scheduling and Deadlock |
| |
March 18 & 20 |
Spring Break
|
| Week 9 |
March 25 & 27 |
Segmentation, Paging, TLBs
|
No quiz |
| Week 10 |
April 1 & 3 |
Virtual memory, page replacement, thrashing
Guest lecturer (Tues): Drew Bernat
|
Quiz 6: Paging |
| Week 11 |
April 8 & 10 |
Working sets, I/O devices, files |
Quiz 7: TLB's |
| Week 12 |
April 15 & 17 |
Disk allocation and scheduling, directories
| Quiz 8: Page Replacement |
| Week 13 |
April 22 & 24 |
Protection, file systems
|
No quiz |
| Week 14 |
April 29 & May 1 |
File systems
No class Tuesday |
Quiz 9 |
| Week 15 |
May 6 & 8 |
File systems, security |
Quiz 10 |
| Finals |
May 14 |
Optional Final Exam (Wednesday, 12:25pm) |
Last modified:
Thu May 8 10:54:18 CDT 2008
by
bart