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

News

Jan. 28 - Reading list is now available. Please send me email with a list of papers that you would like to present. Note that we have 20 papers and 10 people on my sheet taking the course for credit. That means that someone will have to present the papers for this week. Volunteer early or risk being tapped on the shoulder on Wednesday.

Visit the "Readings" link on the navigation bar for a complete course schedule for this term. Note that this list will not be complete until next week.

Recommended review exercises have been posted on the "Readings" page.

Overview

Course Info Sheet

This course examines the design and analysis of selected aspects of operating systems and distributed systems. It covers topics such as concurrency and distributed communication; fault-tolerance, availability, and persistence; and operating system structure. This is a seminar-style course based on occassional lectures, paper presentations by students, and discussions of readings. The focus is on the principles used in the design of operating systems and distributed systems, and algorithms and data structures used in their implementation. Readings include case studies, seminal papers, and recent conference and journal articles.

General Information

Meeting Time/Place:
Friday 1-3pm, BA 026

Instructor
Angela Demke Brown   BA 5228 946-8080   demke@cs.toronto.edu

Prereqs

Members of this class are expected to have taken an operating systems course equivalent to UofT's CSC 369 and achieved a grade of A or better. This includes familiarity as a user with an interactive operating system (e.g., Unix) and solid understanding of basic concepts in the design and implementation of operating systems. Students without this prerequisite knowledge are likely to struggle.

Some knowledge of advanced OS topics such as are covered in UofT's CSC 469/CSC 2208 is also assumed. In particular, students should be familiar with common OS structuring techniques (e.g. monolithic vs microkernels and virtual machine basics), performance evaluation strategies, synchronization, issues and strategies for 64-bit virtual address spaces, and timing (synchronous vs asynchronous) and failure (fail-stop vs Byzantine) models for distributed systems.

Components

Topics planned

This course will be a broad survey of Operating Systems research, rather than an in-depth study of a particular sub-area. The exact list of topics is still evolving, but will be drawn from the following list (unfortunately, we will not be able to cover all of these):

Books

There is no assigned textbook. However, there will be a variety of readings that will be available on the web page. The following list of books are available at the E&CS library and may be useful for background reading and deeper study:

Conferences

These conferences are the major arenas for the publication of new ideas in computer systems research:

Grading

Final Note

* Everything here is subject to change.

Last modified: Thu Jan 10 17:19:27 EST 2008