News
- [Fri Dec 14] If you want more sample questions to review for the final exam, here are some: Processes, More Processes with Solutions, Memory with Solutions and File Systems with One Solution
- [Wed Dec 12] The sign-up sheet for Project 4 testing is now available. You must sign up for a 15 minute time-slot on Friday to have your project graded with the TA in her office. Both project partners should show up.
- [Tue Nov 27] The reading for Thursday of FFS is available.
- [Mon Nov 26] Project 4 is available.
- [Wed Nov 21] The sign-up sheet for Project 3 testing is now available. You must sign up for a 15 minute time-slot on either Monday or Tuesday to have your project graded with the TA in her office. Both project partners should show up.
- [Tue Nov 20] Gwendolyn's Wednesday office hours are cancelled this week.
- Old news is here.
Overview
This course assumes familiarity with basic computer organization
(e.g., processors, memory, and I/O devices as covered in cs354) and
data structures (e.g., stacks and hash tables). You will need to be
able to program in C (not C++, and definitely Java) to perform
the assignments in the course. If you don't have much experience in
this language, don't worry: we will spend some time
covering background, but of course, learning on your own is important
and valuable (in this class and in real life). For those of you who
are new to C (e.g., you just know Java), realize this is an
opportunity to broaden your skill set!
Materials
We recommend coming to class and following along with the class notes (which are available below online). I think it is fine to read the book in the background (e.g., after we cover a topic in class), both to fill in your knowledge and to get a different perspective on operating systems.You should have a copy of the following textbook:
Operating System Concepts (7th Edition)You must use C on the system programming assignments in the class. The best C book in the world is Kernighan and Ritchie's beautifully sparse The C Programming Language. It is worth purchasing.
Silberschatz, Galvin, Gagne
ISBN: 0-471-25060-0
Wiley
The C Programming Language (2nd edition)
Kernighan and Ritchie
ISBN: 0-13-110362-8 (paperback)
Prentice Hall
Mailing Lists
Important announcements will be sent to the class mailing list, so please read your mail frequently (particularly around project time)! You are responsible for the material sent to that list. The mail sent to the class list is also archived. Note that the class list is automatically generated based on who is enrolled in the class and sends mail to your wisc.edu account; you should forward your mail appropriately from that account if you want to read it elsewhere.
You can check the archives to see if you've missed anything.
We will be using mailing lists to communicate questions and answers about the projects. If you have questions about the project, please them to cs537-q "at" cs.wisc.edu; these questions will go to both the TA and the instructor. We will then send our reply both to you and to the mailing list, cs537-a. If you would like, you can subscribe to this mailing list, using this web page. The answer mailing list is also archived.
Projects
As part of this course, you will complete four intensive programming assignments. More details are available here.
Project 1 -- The Unix Shell
Project 2 -- Multi-threaded Web Server
Project 3 (Not yet available).
Project 4 (Not yet available)).
Quizzes
In this course, there will be no midterm exam and an optional final exam. Instead, to help you learn the material incrementally, each week there will be a 15-30 minute quiz in the discussion section. Material for the quizzes will be taken from the lecture material, reading, and projects. Each quiz may include any material covered up through and including the lecture on the previous day. For each quiz, you are encouraged to create a single page "cheat sheet" (8.5 by 11 inches) filled with any information that you think will be useful; you can use both sides. Quizzes are otherwise closed-book and closed-note. To help you prepare, we will provide ungraded problem sets similar to the quiz questions. We will also drop your lowest quiz grade from your average.
More information to help you prepare for the weekly quizzes is available.
Grading
The formula for your course grade depends upon whether or not you elect to take the final exam (which you will decide during the last week of classes). If you decide to take the final exam, you cannot change your mind, even if taking the final exam makes your course grade lower.
Without final exam: | With final exam: | |
Projects | 50% | 40% |
Quizzes | 50% | 35% |
Final exam | 0% | 25% |
The grading scale is not curved and will be as follows (with some discretion on my part, especially on the lower end of the scale):
Average | Letter Grade | |
90+ | A | |
85-90 | AB | |
80-85 | B | |
70-80 | BC | |
60-70 | C | |
<60 | D |
Late work causes trouble for us and trouble for you -- if you get behind at the beginning of the quarter, you won't have enough time for the harder assignments at the end of the semester. Therefore, turning assignments in on time is strictly enforced: we simply will not accept any late assignments.
Tentative Schedule
See this page for the schedule for the semester.If you have questions or comments or just are up late, send mail; we may even reply!