CSC 2227S: Topics in the Design and Implementation of Operating Systems

Papers

For each meeting, readings are assigned. Usually, the readings will consist of two or three computer systems papers. The papers selected for this course are either classic papers or papers from recent top conferences. You are expected to read these papers thoroughly and summarize them BEFORE arriving at class on Wednesdays.

Each paper will be briefly presented by a student in the class, who will also lead the discussion of that paper. For each class meeting, we identify the topic and papers below; for each, we also try to identify good sources for background reading and for further investigation.

Electronic versions are linked where available (access will be denied for IP addresses outside of UofT). When electronic versions are not available, paper copies will be provided in class at least a week in advance.

(NOTE: This schedule is not set in stone. Some changes may be made to this schedule during the term)

Week 1 - January 11: Welcome to CSC 2227

This first meeting will be largely organizational in nature. In it, we will discuss how the class is going to work and what will be covered. In addition, we will very rapidly recap stuff you should already know, discussing what defines operating systems and distributed systems and what makes them continue to be interesting after all these years, and overviewing how the various topics in the course fit together.

There are no readings for this week, but the following items are intended to help you refresh your memory of operating systems. These are to help you prepare for the course and assess your own knowledge of the pre-requisite material. Sample solutions to the OS exam questions will be posted next week.

Week 2 - Early Systems

presented by Angela Demke Brown

Jan. 18

Read and provide summaries for the following papers:

Additional suggested reading (to be added)

Week 3

Jan. 25 - No class.

Week 4

Feb. 1

Read and provide summaries for the following papers:

Additional suggested reading

There are a wide range of papers that address OS performance and flexibility, many of them coming from the microkernel camp. A related line of work looks at extending OS functionality by downloading code into the kernel (we will be looking at one specific method for this later in the term).

Week 5 - Concurrency

Feb. 8

Read and provide summaries for the following papers:

Additional suggested reading

The following items provide some additional background and perspectives on the challenges of programming with threads:

Week 6 - OS Specialization and Non-blocking Synchronization.

Feb. 15

Read and provide summaries for the following papers:

Additional suggested reading

Feb. 18-22: Reading Week, No Classes

Week 7 - Scheduling and Resource Accounting

Feb. 29

Read and provide summaries for the following papers:

Additional suggested reading (to be added)

Week 8 - Local File Systems

Mar. 7

Read and provide summaries for the following papers:

Additional suggested reading (to be added)

Week 9 - Distributed File Systems

Mar. 14

Read and provide summaries for the following papers:

Additional suggested reading (to be added)

Week 10 - Virtualization

Mar. 20 - Reschedule to Thursday due to Good Friday

Read and provide summaries for the following papers:

Additional suggested reading (to be added)

Week 11 - Operating Systems for Multiprocessors

Mar. 28

Read and provide summaries for the following papers:

Additional suggested reading (to be added)

Week 12 - Languages and Systems

Apr. 4

Read and provide summaries for the following papers:

Additional suggested reading (to be added)

Week 13 - More Languages and Systems

Apr. 11

Read and provide summaries for the following papers:

Additional suggested reading (to be added)

Last modified: Thu Jan 11 23:22:20 EST 2008