CSC2227S: Topics in the Design and Implementation of Operating Systems -- Spring 2014

News

Jan 16, 2014 - We are rescheduling the Jan 20 class for later in the week since I am out of town on Monday the 20th. Please fill out this poll to participate in the selection of a meeting time for this week: http://doodle.com/cphxyvdv7mm98mwh

Jan 06, 2014 - The first class will be held Monday, January 13.

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: Mondays 2-4pm, BA 2195
Instructor: Angela Demke Brown
Office: BA 5228
Email: middle-name -at- cs.toronto.edu
Phone: 416-946-8080

Grading

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 Engineering and Computer Science 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:

Final Note

* Everything here is subject to change.