University of Arizona, Department of Computer Science
 

CSc 552

Advanced Operating Systems 
Fall 2004 

Instructor John H. Hartman 
jhh@cs.arizona.edu
747 Gould Simpson
Office Hours: T 1:45-3:00pm, W 1:30-300pm, and by appointment.
Grader TBD
Lectures TTh 12:30-1:45pm, Gould-Simpson 701 
Prerequisite CSc 452: Principles of Operating Systems, or equivalent. 

You should be comfortable with the following topics: 

  • processes -- management, synchronization, scheduling 
  • virtual memory -- implementation 
  • file systems -- file abstraction, directories, disk layout 
  • security -- ACLs, capabilities 
Course Description This course studies fundamental concepts in modern operating systems, emphasizing the design and implementation of operating systems for distributed systems. Specific topics include: 
  • operating system design
  • concurrency
  • virtual memory
  • interprocess communication 
  • distributed systems 
  • protection and security 
  • local and distributed file systems 
The lectures will be based on selected papers from the literature. We will read approximately 29 journal and conference papers describing the history and state of the art in operating systems. The papers are listed in the course reading list in the approximate order in which we will be reading them (the reading list is subject to change). I will hand out specific reading assignments a few lectures in advance. We will cover about two papers each week, which means somewhere around six hours of reading per week. It is essential that you read the material before class. I recommend that you read them at least twice, and far enough in advance so the material has time to sink in. Class time will be spent providing background material and discussing the important points and more controversial features of the papers, not simply rehashing their contents. I expect everyone to participate in these discussions, and your class participation grade will depend on that. 

You will be required to turn in a brief homework assignment for each paper prior to the class in which we discuss it.  The homework is intended to help stimulate the discussion, and will not necessarily reflect the types of questions that will be asked on the midterm and the final exam.  There may also be quizzes on the papers throughout the semester.

In addition to the readings, there will be two programming assignments that will explore some of the topics discussed in the lectures. There will be a substantial amount of programming.

Reading materials
  • Reading list . Papers will be handed out in class.
  • Texts(optional): 
    • A. Tanenbaum. Modern Operating Systems. Prentice Hall (1992).
    • W. Richard Stevens. Advanced Programming in the UNIX Environment. Addison Wesley, 1992.
Schedule
Please check the schedule regularly.
Grading
  • Programming Assignments  40%
  • Midterm 15%
  • Final exam 25% 
  • Homework/Quizzes 10%
  • Class participation 10%
  • Current grades

Exams
  • Midterm: Tuesday October 19, 2004 
  • Final: Thursday December 16, 2004, 11am-1pm 
All exams will be closed-book. 
Programming Projects: There will be two programming assignments during the semester. The first one will be done individually, the second in groups of two.

Homework Homework will be due for each paper we read. Usually it will be to  summarize briefly the three major points of each paper we read, plus one significant weakness or limitation, but it may vary. Due in class prior to discussing each paper. Home work may be done in groups; turn in one homework for the entire group with the members' names at the top. Homework may be emailed to cs552@cs.arizona.edu prior to class.
Policies
  • All exams will be closed-book. 
  • Without prior arrangement, missed exams result in a grade of zero.
  • Instructor reserves the right to fail for the course any student failing the final exam. 
  • Late assignments receive a grade of zero. 
  • You are expected to attend lecture. Excessive absences without permission will affect your class participation grade.
Academic Integrity I encourage you to talk with your friends about the work you are doing for this class; both giving and taking advice will help you to learn. Assignments require individual attention and effort to be of any benefit. Unless otherwise stated on the assignment sheet, all work is expected to be that of each student alone, without consultation with others, and not the product of team efforts or collaboration with others. Plagiarism or the incorporation of another student's words, code, or ideas constitutes theft of intellectual property; at the minimum you will receive a grade of `zero' for the assignment. I refer you to the University's Code of Academic Integrity for further details. 
Computer Accounts: Each student will be assigned an account on lectura. It takes several days to complete the process, so get started early. To receive your account you will have to read and sign a copy of the Computer Science Department's Appropriate Use Guidelines.
Information Dissemination Course-related email should be sent to the cs552 account (cs552@cs.arizona.edu). It is preferable, however, to ask questions of general interest via the course newsgroup. The newsgroup is cs.course552, and by asking questions and receiving the reply via the newsgroup it is possible for everyone to see both the questions and answers and thus avoid duplication. Therefore, if your question concerns the course in general, rather than you in particular, please use the newsgroup. 

The web site for this class can be found at http://www.cs.arizona.edu/classes/cs552/fall04 . My intent is to hand out as few pieces of paper as possible and put everything on the web. This includes copies  of the papers, programming assignments, etc. 
Other resources


Last updated 11/17/04
http://www.cs.arizona.edu/classes/cs552/fall04