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, Location TBD (tentatively, BA 4010)
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 brief (20 minute conference-style) presentation
of research papers by students and involvement in discussions.
(Wednesdays and Fridays)
- 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
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):
- Operating System structure and virtual machines
- File Systems: Performance and Integrity
- Communication Models
- Resource usage accounting
- Concurrency, Event Ordering and Multi-Party Consensus
- Multiprocessor Scheduling
- Large-scale memory management
- 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 (including paper presentations)
Final Note
* Everything here is subject to change.
Last modified: Thu Dec 21 17:19:27 EST 2006