CSC2227S: Topics in the Design and Implementation of Operating Systems
Networked Systems
Spring 2015

News

Jan 14, 2014 - Welcome!

Overview

Course Info Sheet

This course examines the design, implementation and analysis of selected aspects of operating systems with a focus on networked systems. It covers topics such as: resource naming and discovery, scheduling and load balancing; fault-tolerance, availability, and persistence; distributed communication models; and storage. We will explore these topics in the context of a variety of distributed system designs including grid, cloud, peer-to-peer and cluster systems. This is a seminar-style course based on occasional lectures, paper presentations by students, and discussions of readings. The focus is on the principles used in the design of networked 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: Wednesdays 1-3pm, BA 5205
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, and basic aspects of distributed systems (e.g. timing and failure models, consensus, vector clocks, replicated state machines, etc.).

Components

Topics planned

This course will be a broad survey of Networked 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.

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, or through the library's e-resources. They 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.