CSC 2227S: Topics in the Design and Implementation of Operating Systems
News
Visit the "Readings" link on the navigation bar for a complete course
schedule for this term.
Recommended review exercises have been posted on the
"Readings" page.
Note that not all papers for the term have been listed at this point.
Overview
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. Lectures focus 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:
Wednesday and Friday 1-2pm, BA B024
Instructor
Angela Demke Brown
BA 4266
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.
Components
- Regular lectures by the instructor on core topics. (Fridays)
- Critical study and discussion of recent literature in each of the
core topic areas. This will include student involvement in discussions!
(Wednesdays)
- Summaries of papers.
- A term project that involves designing,
constructing, and evaluating an interesting software system related
to the problems and techniques discussed in class.
Topics planned
- System evaluation and benchmarking
- System structure and virtual machines
- File Systems: Performance and Integrity
- Communication Models and Mobile Code
- Concurrency, Event Ordering and Multi-Party Consensus
- Fault Tolerance and reliability
- Language Tools for Systems
- Security: Dilemmas and Mechanisms
- Mobility and Energy Management
- Extensibility and Flexibility
- Distributed Operating Systems
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:
- Tanenbaum, Modern Operating Systems, 2nd ed. (Background), QA 76.76.063T359 2001X
- Silberschatz & Galvin, Operating System Concepts, 6th ed. (Background), QA 76.6.P475 1998
- Coulouris et al., Distributed Systems: Concepts and Design, 3rd ed., QA 76.9.D5C68 2001
- Lynch, Distributed Algorithms, QA 76.9.D5L96 1996
- Lynch et al., Atomic Transactions, QA 76.545.A86 1994
- Bernstein et al., Concurrency Control and Recovery in Database Systems, QA 76.9.D3B48 1987
- Silberschatz et al., Database System Concepts, 3rd ed., QA 76.9.D3K76 1997 (2nd ed. with Korth as first author at Gerstein Library)
- Casevant & Singhal, Readings in Distributed Computing Systems, QA 76.9.D5C35 1994
- Ananda & Srinivasan, Distributed Computing Systems: Concepts and Structures QA 76.9.D5D526 1991
- Mullender, Distributed Systems QA 76.9.D5D5937 1989
- Filman & Friedman, Coordinated Computing: Tools and Techniques for Distributed Software, QA 76.9 D5F55 1984
- Ceri & Pelagatti, Distributed Databases: Principles and Systems, QA 76.9.D3C386 1984X
- Andrews, Concurrent Programming: Principles and Practice. QA 76.642 A53 1991
- Jain, The Art of Computer Systems Performance Analysis, QA 76.9 E94J32 1991
- Schneier, Secrets and lies: digital security in a networked world, QA 76.9.A25S352 2000X
- Gray & Reuter, Transaction processing: concepts and techniques
, QA 76.545.G73 1993
Conferences
These conferences are the major arenas for the publication of new ideas in computer systems research:
- SOSP - Symposium on Operating Systems Principles
- OSDI - Symposium on Operating Systems Design and Implementation
- FAST - Conference on File and Storage Technologies
- IEEE S&P - Security & Privacy
- Usenix Security
- ACM CCS - Computer and Communications Security
- ASPLOS - Architectural Support for Programming Languages and Operating Systems
- SIGCOMM - Computer Communication
- SIGMETRICS - Computer/communication system performance
- USENIX Annual Technical Conference
- ISCA - International Symposium on Computer Architecture
- HotOS - Hot Topics in Operating Systems Workshop
Grading
- 60% project
- 20% paper summaries
- 20% class discussion
Final Note
* Everything here is subject to change.
Last modified: Tue Jan 10 23:00:27 EST 2006