CSE 121 Spring 2003

Operating Systems: Architecture and Implementation

Lectures Tuesday and Thursday 3.30 to 4:50 in HSS  1128A
Section Wednesdays 3:00-3:50 in Center Hall 222.
Discussion board on discus.
 
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.


Course Objectives

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;

kernel architecture.

Course Prerequisites

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.

Textbook

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:

Silberschatz et. al.,  Operating System Concepts (sixth edition), Wiley 2003.
Nutt, Operating Systems: A Modern Perspective. Addison-Wesley 2000.

The lectures don't follow any textbook.  I'll also be passing out papers and will make notes available as necessary.

Discussion Section

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.

Grading
Project 

Programming and
    presentation: 90%
Group skills: 10% 

40% 
Homework 30%
Final 30% 
Total:  100% 

"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. No late homework will be accepted.

Collaboration

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 assignment.