|Professor:||Keith Marzullo, x4-3729, office hours Tu/Thu 10:30 - 12:00 in APM 4824 or by appointment.|
|TA:||Richard Huang, office hours Fri 10:30-12:00 in APM 3337D.|
This course builds on the material covered in CSE 120, Principles of Computer Operating Systems. We will revisit the major themes of the prior course, such as file systems, memory systems, concurrency, communications. This time through, however, we'll concentrate more on the tension between the specification of the system and the properties of the environment upon which the system is built. We'll use Unix as a case study, but we'll also look at other systems, including those that are just now being developed in research laboratories and universities.
Topics that will be covered include:
file systems, including caching and layout;
memory management, including allocation and memory hierarchies;
processes and threads;
You should feel comfortable programming in C (the programming language used in the project), but just in case, we'll cover the basics in discussion section. You should have taken CSE 120, CSE 100, and CSE 141 or their equivalent.
There is no required textbook for the lectures; the text you used for CSE 120 is probably a good choice. Two books that you might consider looking at are:
The lectures don't follow any textbook. I'll also be passing out papers and will make notes available as necessary.
Most of the discussion on the project will be conducted in the discussion section. You will probably find your TA much more pleased to help you if you've made it a habit of attending discussion section.
"Group skills" refers to the cooperation and sharing of work that your group exhibits in doing the project. If you as an individual don't pull your share in your group, then you will do poorly in this category.
Note that homeworks should be handed in by the date and time they are marked due.
You are expected to maintain the utmost level of academic integrity in all your academic endeavors. ``I didn't know it wasn't allowed'' is not a valid excuse; if you are in doubt, ask.
In CSE 121, you may discuss homework problems and solutions with other
students (in fact we encourage you to do so), but you must write up the
solutions yourself to hand in. You may not work from written notes taken
during collaborative sessions; this amounts to handing in the work of
someone else as your own. If your solutions have been the result of discussions
with other students, you should explicitly credit them when submitting your