@import url(http://pages.cs.wisc.edu/~swift/classes/cs537-fa10/wiki/pub/skins/sinorca/basic.css); @import url(http://pages.cs.wisc.edu/~swift/classes/cs537-fa10/wiki/pub/skins/sinorca/layout.css); @import url(http://pages.cs.wisc.edu/~swift/classes/cs537-fa10/wiki/pub/skins/sinorca/sinorca.css);
Welcome to your first Wisconsin Operating Systems course. This course will describe a number of topics including basic operating system structure, process and thread synchronization and concurrency, file systems and storage servers, memory management techniques, process scheduling and resource management, system security, and a few other "hot" topics.
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 not Java) to perform the assignments in the course. If you don't have much experience in this language, don't worry (too much), 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! (i.e., stop complaining).
We recommend coming to class and reading the book in advance, before we cover a topic in class
You should have the following textbook:
It is not required, but in the past many students have commented that they found it useful reading. In addition, some quiz questions will come out of the book.
Prof. Remzi Arpaci-Dusseau has produced a set of notes that cover much of the material in this class. They are available on his website.
You should also own:
You are expected to present your own original work in this class. Any material produced by others but submitted as your own work will be considered cheating and will receive a grade of zero.
In this course, you will be doing group progects. More information is available on the Projects page. All projects will be done in the C language.
Here is a short, free, and incomplete overview of the C programming environment by Andrea Arpaci-Dusseau as a PDF.
It would also be useful to figure out how to use the debugger, gdb.
Here is a link to a short tutorial -- there are others on the web too. Learning how to use such tools is a good idea.
There will be 8 quizes during the discussion section over the course of the semester. The lowest score will be dropped. The quizes will be closed-book, closed-note and will cover material from the lecture.
There will be one writing assignment during the course of the semester to introduce you to advanced OS topics. You will be expected write a 3-5 page paper describing recent advances or the state-of-the-art in an OS-related area.
There will be an optional final.
For the exam, a single page "cheat sheet" (8.5 by 11 inches) is allowed, and you can use both sides; exams are otherwise ''' closed-book and closed-note '''.
|Task||Without Final||With Final|
Assignments are due at the start of class on the date listed on the handout. Late assignments will receive no credit .
Grades will be listed with the Learn@UW.
The mailing list address is compsci537-2-f10 "at" lists.wisc.edu.