Design of Operating Systems: G22.2250

Spring 1997 Semester

Table of contents

Course statement

This course is about the design and implementation of operating systems. An operating system is the software that enables users to access the hardware associated with a computer in a convenient and efficient fashion. Almost all interaction with a computer today is mediated by an operating system. The primary goal of this course is to move beyond the role of users to understand the principles that underly the design of operating systems. Topics that will be covered include: The course will require knowledge of fundamental algorithms as imparted in G22.1170 or any equivalent course. Several programming exercises will be required.



Josyula R. Rao,
Office: Warren Weaver Hall, Room 109,
Office hours: Wednesday, 7:00-8:00pm
Office-hour phone: (212) 998-3081

Teaching Assistants: Owing to the large enrollment, there are two teaching assistants for this course. They will be available to answer all questions regarding the course at their offices at the timings given below:

Zhao Tao,
Office: Warren Weaver Hall, Room 417,
Office hours: Monday, 4:10-6:10pm
Office-hour phone: (212) 998-3106

David Tanzer,
Office: 715 Broadway, Room 1015
Office hours: Thursday, 5:00-7:00pm
Office-hour phone: (212) 998-3366


If you need help with the class material, you have four options:


The textbook for the course is:
A. Silberschatz and P.B. Galvin. Operating Systems Concepts. Fourth Edition. Addison Wesley, Mass. 1995
Other textbooks that you will find useful for clarifications and further explanations are:
Andrew S. Tannenbaum and Albert S. Woodhull. Operating Systems: Design and Implementation . Second Edition. Prentice Hall, New Jersey 1995
Andrew S. Tannenbaum. Distributed Operating Systems.. Second Edition. Prentice Hall, New Jersey 1997
If you need a good reference for the C programming language, the following is a classic:
B.W. Kernighan and D.M. Ritchie. The C Programming Language. Second Edition. Prentice Hall, N.J. 1988.

Lecture Notes

A copy of the transparencies that will be used during the lectures can be purchased from Unique Copy, 252, Greene Street, New York, NY 10003. The store is between Waverly Place and 8th Street. Their phone number is (212) 420-9198. Ask for the notes for the Design of Operating Systems course taught by Prof. Rao. They should cost around $10.00.

I have been exploring ways to make the transparencies available on this Web page. The transparencies are available in both Powerpoint and Postscript formats. Powerpoint is part of the suite of tools packaged with Microsoft Office '95 and '97. To use Powerpoint, you have two alternatives.

Once you have access to a Powerpoint viewer, you can do one of two things: Alternately, you can access the Postscript version of the transparencies. Most browsers on UNIX systems have Postscript viewers that will enable you to view and print the slides. You can now access the following transparencies:

Assessment of Student Performance

Your grade will be determined on the basis of your performance on your homeworks, programming assignments and a final examination. There will be no midterm in this course. The breakdown of the grade will be as follows: Note that all homeworks regardless of their total points will carry EQUAL weight in the final grade. A good on-time homework record can boost your final grade, if you are on the fence.

Important Announcements

Please check this section for important announcements.
Jan 22, 1997: There will be no class on January 29, 1997.
Feb 12, 1997: Lecture notes are now available in Postscript from this page. The first homework assignment has been announced.
Feb 13, 1997: A problem in the hyperlink to one of the postscript files and problems with two postscript files were pointed out to me by Mohammed Rahman. I have fixed both of them. If you encounter any problems, let me know.
Feb 18, 1997: See instructions for subscribing to the Majordomo class list given below.
Mar 5, 1997: David Tanzer's phone number has changed. Solution to homework 1 has been put on the Web page. The programming assignment has not been put on the Web page owing to network connectivity problems. I expect to put it out sometime today.
Mar 31, 1997: I have added the remaining reading assignments, homework 3, programming assignment 2 and homework 4 on the web page. Programming assignment 2 will be given out by Apr 9, 1997.
Apr 1, 1997: The final exam will be held from 5-7pm on May 14 in Room 901, Main Building, 100, Washington Square East. Please note that it will not be in the same room as the class.
Apr 8, 1997: The second (and last!) programming assignment has been put on this web page.
Apr 22, 1997: The solution to the second homework has been placed on the web page.
May 9, 1997: The solutions to the third and fourth homeworks have been placed on the web page.


Reading assignments:

Homework assignments:

Programming assignments:

Instructions for the Majordomo list

Major Domo is a popular "List Server", that is, software that automatically manages mailing lists through the use of commands You should send email to and enclose in the *body* (the subject header is ignored) of the message the following two lines:

subscribe g22_2250_sp97

Now you can send messages to to every student on the list by sending a message to Note that you will *not* receive a copy of the message unless you explicitly subscribe to the list yourself before you send the message!

Majordomo understands several commands, and is not limited to a single command per message (it will process commands until reaching end-of-message or the command "end"). The command "help" will tell you about all the other commands.

Academic Honesty

I expect you to be honest at all times. You are expected to do all the assignments by yourself. Discussing assignments with classmates is OK but you may not copy a classmate's solution. This also applies to programming assignments. If in doubt, I expect you to exercise common-sense and reasonable judgement. "I didn't know" is not a good answer. All incidents of suspected dishonesty will be reported to the office of student affairs.

About the Instructor

Josyula R. Rao is an Adjunct Assistant Professor at the Department of Computer Science at New York University. He is currently employed by IBM at IBM's Thomas J. Watson Research Center as a member of the Object and Distributed Systems group. He received the Bachelor of Technology degree in Electrical Engineering from Indian Institute of Technology, Kanpur, India, in 1984, the Master of Science degree in Computer Science from the State University of New York at Stony Brook, in 1986, and a doctoral degree in Computer Science from the University of Texas at Austin in 1992. His research interests are in the theory and practice of all aspects of distributed systems.
This page was last updated on May 9, 1997.