EECS 482: Introduction to Operating Systems
- Exam: Monday April 21st, 7:30-9:30 PM. Room assignments:
1200 EECS: uniqnames A-F
1500 EECS: uniqnames G-L
1013 Dow: uniqnames M-Z
Here is a sample final exam. Note that this is a fairly old exam, and this year's may be different in coverage.
- The fourth set of practice questions were posted to the newsgroup. They will be here shortly.
- The third set of practice questions is available. It is due March 31st/April 2nd in discussion section.
- The specification for Project 3 is available. The support files are available now as well. However, the autograder machine needs a kernel reconfiguration. I will not do that until early next week, to avoid bringing the machine down during Project 2 submission.
- Just a reminder of exam rooms for tomorrow.
If you are registered in Lecture 1: 11:30-1:00
1311 EECS uniqnames a--mduane
2150 DOW uniqnames mkiwala--z
If you are registered in Lecture 2: 1:00-2:30
1109 FXB uniqnames a-p
1371 GGB uniqnames r-z
Closed book, no notes, no calculators. Good luck!
- A sample midterm is available. It should give you a sense of what my midterms usually look like. There is no solution key; the best way to use the sample midterm is to get together in small groups and work on the problems together. Here is one hint: in problem 1, the program sometimes works and sometimes does not.
- Project 2 is currently available.
- More cool stuff, including the Therac-25 paper. I strongly encourage every one of you to at least skim this paper. If you weren't convinced that testing can't always find concurrency bugs, this paper will convince you.
- The second set of practice questions are now available. They are due in discussion section on Monday, March 3rd or Wednesday, March 5.
- The first set of practice questions are now available. They are due in discussion section on Wednesday, January 29th or Monday, February 3rd.
- Project 1 is currently available; the autograder has been up since last week, as announced on the newsgroup.
Note that the schedule of office hours is subject to change. Please check the web site frequently!
Monday Tuesday Wednesday Thursday Friday 9:00 9:30 10:00 10:30 11:00 11:30 Disc 011
12:30 Disc 021
1:00 Lecture 002
2:00 2:30 Matt
3:00 3:30 Brian
4:00 4:30 5:00
Course InformationCourse Newsgroup: umich.eecs.class.482
Course MaterialsRequired Textbook:
Lecture Notes (all in PDF)
- Modern Operating Systems (2nd ed.), Andrew S. Tanenbaum, Prentice Hall.
- address spaces
- virtual memory tricks
- disks and file systems
- zero-interaction authentication
Other Course-Related Resources
- An Introduction to Programming with Threads, A. Birrell
- Programming with Sockets, Sun Microsystems
- Standard Template Library Programmer's Guide, Silicon Graphics
- Why copy protection schemes are doomed.
- The Therac-25 paper. This paper looks at a medical device that seriously injured and killed patients. The deaths were due at least in part to a race condition in the code--the programmer was trying to use atomic load and store to provide synchronization. Every single one of you should read this paper, despite its length.
- The scheduler activations paper; it describes how to get the best of both kernel-level threads and user-level threads.
- The worse is better paper, or why balancing effort and accomplishment is important to success. See particularly Section 2.1..
- Edsgar Dijkstra's manuscripts. These are also known as the EWD series. I mentioned these in the 11:30 lecture. They are worth browsing; very interesting (and sometimes controversial) reading! Thanks to Jesse Buck for digging up the URL.
- Leslie Lamport's happens-before paper. I mentioned this in the 1:00 lecture. A formal treatment for what it means for something to be "concurrent." Not an easy read, but a very good one.
- Research on Student Notetaking, UM Center for Research on Learning and Teaching
- Dealing with problem group members, Tomorrow's Professor mailing list
- On the effectiveness of lectures, personal email