Welcome to your first the Wisconsin Operating Systems course. This course will describe a number of topicsincluding 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).
You should have the following textbook:
Operating System Concepts (7th Edition)You should also own:
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
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.
Without Final | With Final |
20% Writing | 15% Writing |
30% Quizzes | 22% Quizzes |
50% Projects | 38% Projects |
25% Final |