Spring 2006


Reading List

Class notes

  • Jerome H. Saltzer and M. Frans Kaashoek. Principles of Computer System Design.  M.I.T. 6.033 class notes, draft release 3.0 (February 2006).

The class notes are a work in progress. (The class notes will be available  as a separate package.)


Introduction to computer systems

  1. Richard P. Gabriel. The rise of "Worse is better". On-line version of "Worse is Better", From LISP: good news, bad news, how to win BIG, AI Expert 6, 6 (June, 1991) pages 33-35. 
  2. Herbert A. Simon. The architecture of complexity. Proceedings of the American Philosophical Society106, 6 (December, 1962) pages 467-482. Republished as Part 4, pages 84-118, of The Sciences of the Artificial, MIT Press, 1969. ISBN: 0-262-191051-6 (hardbound) 0-262-69023-3 (paperback). 
  3. George D. Gopen and Judith A. Swan. The science of scientific writing. American Scientist 78, 6 (November-December, 1990) pages 550-558. 
  4. Nancy G. Leveson and Clark S. Turner. An investigation of the Therac-25 accidents. Computer 26, 7 (July, 1993) pages 18-41.

Computer system organization

  1. Dennis M. Ritchie and Ken L. Thompson. The UNIX time-sharing system. Bell System Technical Journal 57, 6, part 2 (1978) pages 1905-1930.
  2. Robert Scheifler and Jim Gettys. The X window system. ACM Transactions on Graphics 5, 2 (April, 1986) pages 79-109. 
  3. Yuan Yu, Tom Rodeheffer, and Wei Chen. RaceTrack: efficient detection of data race conditions via adaptive tracking. Proc. of 20th ACM Symposium on Operating Systems Principles, Brighton, England, 221-234. October 2005.
  4. Jeffrey Dean and Sanjay Ghemawat.  MapReduce: Simplified Data Processing on Large Clusters, Proc. 6th Symp. on Operating Systems Design and Implementation (OSDI), San Francisco, CA (December 2004).


  1. Robert M. Metcalfe and David R. Boggs. Ethernet: Distributed packet switching for local computer networks. Communications of the ACM 19, 7 (July, 1976) pages 395-404. 
  2. J.H. Saltzer, D.P. Reed and D.D. Clark. End-to-end arguments in system design. ACM Trans. on Computer Systems 2, 4 (November, 1984), pp. 277-288.
  3. Hari Balakrishnan. An Introduction to Wide-Area Internet Routing. 6.033 case study MIT (January 2004). 
  4. Geoff Huston, Anatomy: A Look Inside Network Address Translators. The Internet Protocol Journal, 7(3), (September 2004), pages 2-32. 

Failure recovery, coordination, and atomicity

  1. Mendel Rosenblum and John K. Ousterhout. The design and implementation of a log-structured file system. Proceedings of the Thirteenth ACM Symposium on Operating Systems Principles, Pacific Grove, California (October 13-16, 1991) pages 1-15. Published as Operating Systems Review 25, 5 (1991). Also appeared in ACM Transactions on Computer Systems 10, 1 (February, 1992) pages 26-52. 
  2. C. Mohan, D. Haderle, B. Lindsay, H. Pirahesh, and P. Schwarz. ARIES: A transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging. ACM Transactions on Database Systems, 17(1), 1992.
  3. Henry Petroski. Engineering: History and failure. American Scientist 80, 6 (November-December, 1992) pages 523-526. 
  4. Phillip J. Plauger. Chocolate. Embedded Systems Programming7, 3 (March, 1994) pages 81-84. 


  1. Ken Thompson. Reflections on Trusting Trust. Communications of the ACM 27, 8 (August 1984) pages 761-763.
  2. Ross J. Anderson. Why cryptosystems fail. Proceedings of the 1993 ACM Conference in Computer and Communications Security, (1993) pages 32-40.
  3. Jonathan Pincus and Brandon Baker. Beyond stack smashing: recent advances in exploiting buffer overruns. IEEE Security and privacy, August 2004.
  4. A. Kumar, V. Paxson and N. Weaver. Exploiting Underlying Structure for Detailed Reconstruction of an Internet Scale Event. Proc. ACM IMC, October 2005.

More complexity 

  1. Butler W. Lampson. Hints for computer system design.  Proceedings of the Ninth ACM Symposium on Operating Systems Principles, Bretton Woods, New Hampshire (October 10-13, 1983), pages 33-48. Published as Operating Systems Review 17, 5 (1983)


Questions or comments regarding 6.033? Send e-mail to the 6.033 staff at or to the 6.033 TAs at

Top // 6.033 home // $Revision: 1.6 $, last modified on $Date: 2006/02/16 19:56:33 $ GMT by $Author: rseater $