15-712 Systems Software

Spring 1999
12 University credits, 1 CSD core unit

Tuesday and Thrusday
10:00 am - 11:20 pm
5409 Wean Hall

Instructor:
Garth Gibson
8113 Wean Hall
http://www.cs.cmu.edu/~garth
garth@cs.cmu.edu
412-268-5890
office hours: Monday and Wednesday 5 pm - 6 pm

Teaching Assistant:
Ted Wong
8101 Wean Hall
http://www.cs.cmu.edu/~tmwong
tmwong+@cs.cmu.edu
412-268-3060
office hours: By appointment

Description: This course studies 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; security; 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. Prerequisites for the course are familiarity as a user with an interactive operating system, e.g. Unix, and an understanding of basis concepts in the design and implementation of operating systems, e.g., concurrent processes, semaphores.

Grading:
35% in-class final exam (last day of classes) (110 min)
15% in-class midterm exam (around first day of roman calendar) (80 min)
35% project report (groups of two; four written handins)
15% subjective evaluation (participation, paper presentations and summaries)

Lecture format: Most topics are covered in three parts over the period of a week or two: a background lecture where needed, a discussion of about three seminal or comprehensive papers, and where appropriate a topical research presentation, typically by a guest speaker.

Text: There is no assigned textbook. There is, however, a number of books on reserve in the library for deeper study:

  • Coulouris et al. Distributed Systems: Concepts and Design. 2nd Ed. 004.36 C85d2
  • Lynch, Nancy. Distributed Algorithms. 004.36 L98d
  • Lynch, et al. Atomic Transactions. 005.74 A88i
  • Bernstein et al. Cincurrency Control and Recovery in Database Systems. 004.35 B53c
  • Korth & Silberschatz. Database Systems Concepts. 005.74 K85d2
  • Casevant & Singhal. Readings in Distributed Computing Systems. 004.36 C33r
  • Ananda & Srinivasan. Distributed Computing Systems: Concepts and Structures. 005.36 D614
  • Mullender, Sape. Distributed Systems. 004.36 D6142a2
  • Filman & Friedman. Coordinated Computing: Tools and Techniques for Distributed Software. 004.36 F48c
  • Ceri & Pelagatti. Distributed Databases: Principles and Systems. 510.7848 C41d
  • Andrews, G. Concurrent Programming: Principles and Practice. 004.65 P48c
  • Jain, Raj. The Art of Computer Systems Performance Analysis. 004.24 J25a
  • Schedule:

    Additional Resouces