CITATIONS FOR READINGS

Textbooks

Andrew S. Tanenbaum. Modern Operating Systems. Prentice--Hall, 1992. ISBN 0--13--588187--0.

Frederick P. Brooks, Jr. The Mythical Man--Month. Addison--Wesley, 1974. ISBN: 0--201--00650--2.

Introduction to computer systems

1 Richard P. Gabriel. Worse is better. From LISP: good news, bad news, how to win BIG, AI Expert 6, 6 (June, 1991) pages 33--35.

2 Jerome H. Saltzer. The study of systems. Chapter 1 of The Engineering of Computer Systems, M. I. T. Department of Electrical Engineering and Computer Science (in preparation, February, 1985).

3 Herbert A. Simon. The architecture of complexity. Proceedings American Philosophical Society 106, 6 (December, 1962) pages 467--482. Republished as Part 4, pages 84--118, of The Sciences of the Artificial, M. I. T. Press, 1969. ISBN: 0--262--191051--6 (hardbound) 0--262--69023--3 (paperback).

4 Fernando J. Corbató. On building systems that will fail. Communications of the ACM 34, 9 (September, 1991) pages 73--81.

5 George D. Gopen and Judith A. Swan. The science of scientific writing. American Scientist 78, 6 (November--December, 1990) pages 550--558.

6 Jerome H. Saltzer. Objectives of an information system. Chapter 2 of The Engineering of Computer Systems, M. I. T. Department of Electrical Engineering and Computer Science (in preparation, February, 1985).

7 Nancy G. Leveson and Clark S. Turner. An investigation of the Therac--25 accidents. Computer 26, 7 (July, 1993) pages 18--41.

8 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).

Computer system organization

9 Per Brinch Hansen. The nucleus of a multiprogramming system. Communications of the ACM 13, 4 (April, 1970) pages 238-250.

10 Peter D. Varhol. Small kernels hit it big. Byte 19, 1 (January, 1994) pages 119--128.

11 Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy. Lightweight remote procedure call. ACM Transactions on Computer Systems 8, 1 (February 1990) pages 37--55.

12 Thomas E. Anderson, Henry M. Levy, Brian N. Bershad, and Edward.D. Lazowska. The interaction of architecture and operating system design. Proceedings of the Fourth International Conference on Architectural Suppoert for Programming Languages and Operating Systems, Santa Clara, California (April 8-11, 1991), pages 108-121.

13 Robert Wahbe, Steven Lucco, Thomas E. Anderson, and Susan L. Graham. Efficient software-based fault isolation. Proceedings of the Fourtheenth ACM Symposium on Operating Systems Principles, Asheville, North Carolina (December 5-8, 1993), pages 203-216.

14 Andrew D. Birrell. An introduction to programming with threads. SRC Technical Report 35 Digital Equipment Corporation, Systems Research Center, Palo Alto, California, January 6, 1989.

Networking

15 Robert H. Halstead, Jr. 6.033 notes on networking and communication. M. I. T. Department of Electrical Engineering and Computer Science, September, 1987.

16 Andrew D. Birrell and Bruce Jay Nelson. Implementing remote procedure calls. ACM Transactions on Computer Systems 2, 1 (February, 1984) pages 39--59.

17 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.

18 . Michael D. Schroeder, Andrew D. Birrell, Michael Burrows, Hal Murray, Roger M. Needham, Thomas L. Rodeheffer, Edwin H. Satterthwaite, and Charles P. Thacker. Autonet: A high--speed, self--configuring local area network using point--to--point Links. IEEE Journal on Selected Areas in Communications 9, 8, (October 1991) pages 1318--1335.

19 J. Ioannidis, D. Duchamp, and G.Q. Maguire Jr. IP-based protocols for mobile internetworking. Proceedings of SIGCOMM `91 Conference on communication architectures and applications, Zurich, Switserland, (September 1991) pages 235-245.

20 Jerome H. Saltzer, David. P. Reed, and David. D. Clark. End--to--end arguments in system design. ACM Transactions on Computer Systems 2, 4 (November, 1984) pages 277--288.

21 Danny Cohen. On holy wars and a plea for peace. IEEE Computer 14, 10 (October, 1981) pages 48--54.

22 Jerome H. Saltzer. Case study: Synchronized file transfer; failure retry. Section 7.5 of The Engineering of Computer Systems, M. I. T. Department of Electrical Engineering and Computer Science (in preparation, December 6, 1983).

Naming

23 Jerome H. Saltzer. Name binding in computer systems. Section 5 of The Engineering of Computer Systems, M. I. T. Department of Electrical Engineering and Computer Science (in preparation, December 6, 1983).

24 Andrew D. Birrell, Roy Levin, Roger M. Needham, and Michael D. Schroeder. Grapevine: An exercise in distributed computing. Communications of the ACM 25, 4 (April, 1982) pages 260--274.

25 Tim Berners-Lee, Robert Cailiau, Ari Luotonen, Henrik Frystyk Nielsen, and Arthur Secret. The World-Wide Web. Communications of the ACM 37, 8 (August 1994) pages 76-82.

26 Gary Stix. The speed of write. Scientific American, (December, 1994) pages 106-111.

Security and society

26a Eugene H. Spafford. Crisis and aftermath. Communications of the ACM 32, 6 (June, 1989) pages 678--687.

26b Donn Seeley. Password cracking: A game of wits. Communications of the ACM 32, 6 (June, 1989) pages 700--703.

26c David J. Farber. NSF poses code of networking ethics. Communications of the ACM 32, 6 (June, 1989) page 688.

26d .Gary Chapman. CPSR statement on the computer virus. Communications of the ACM 32, 6 (June, 1989) page 699.

26e Steven R. Lerman, James D. Bruce, and Jerome H. Saltzer. Teaching students about responsible use of computers. Communications of the ACM 32, 6 (June, 1989) page 704. The publication omits the names of the first two authors.

26f Vint Cerf. Ethics and the Internet. Communications of the ACM 32, 6 (June, 1989) page 710.

26g M.Douglas McIlroy. Green Light for Bad Software. In ACM Forum, edited by Robert L. Ashenhurst, Communications of the ACM 33, 5 (May, 1990) page 479.

Security

27 Roger M. Needham. Cryptography and Secure Channels. Chapter 20 of Mullender, Sape, ed. Distributed Systems, 2nd Edition, Addison--Wesley, 1993. ISBN 0--201--62427--3.

28 Steven P. Miller, B. Clifford Neuman, Jeffrey I Schiller, and Jerome H. Saltzer. Kerberos authentication and authorization system. Section E.2.1 of Athena Technical Plan, M. I. T. Project Athena, October 27, 1988.

29 Ross. J. Anderson. Why cryptosystems fail. Communicationof the ACM 37, 11 (November 1994) pages 32-40.

30 Jerome H. Saltzer and Michael D. Schroeder. The protection of information in computer systems. Chapter 6 of The Engineering of Computer Systems, M. I. T. Department of Electrical Engineering and Computer Science (in preparation, July, 1975). Also published, omitting appendix 6--A, in Proceedings of the IEEE 63, 9 (September, 1975) pages 1278--1308.

Storage

31 Jeff Rothenberg. Ensuring the longevity of digital documents. Scientific American 272, 1 (January 1995) pages 42-47.

32 Randy H. Katz, Garth A. Gibson, and David A. Patterson. Disk system architectures for high performance computing. Proceedings of the IEEE 77, 12 (December, 1989) pages 1842--1857.

33 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.

34 Wiebren de Jonge, M. Frans Kaashoek, and Wilson C. Hsieh. The logical disk: A new approach to improving file systems. Proceedings of the Fourteenth ACM Symposium on Operating Systems Principles, December 5-8, 1993, Asheville North Carolina. In Operating Systems Review 27, 5 (December, 1993) pages 15-28.

35 James J. Kistler and Mahadarev Satyanarayanan. Disconnected operation in the Coda file system. Proceedings of the Thirteenth ACM Symposium on Operating Systems Principles, October 13-16, 1991, Pacific Grove, California. In Operating Systems Review 25, 5 (December, 1991) pages 213-225.

Coordination, atomicity, and failure recovery

36 Jim Gray and Daniel P. Sieworek. High--availability computer systems. Computer 24, 9 (September, 1991) pages 39--48.

37 Alfred Spector and David Gifford. The space shuttle primary computer system. Communications of the ACM 27, 9 (September, 1984) pages 874--900.

38 Henry Petroski. Engineering: History and failure. American Scientist 80, 6 (November--December, 1992) pages 523--526.

39 Phillip J. Plauger. Chocolate. Embedded Systems Programming 7, 3 (March, 1994) pages 81--84.

40 Jim Gray, Paul McJones, Bruce Lindsay, Raymond Lorie, Tom Price, Franco Putzolu, and Irving Traiger. The recovery manager of the System R database manager. ACM Computing Surveys 13, 2 (June, 1981) pages 223--242.

41 David Gifford and Alfred Spector. The CIRRUS banking network. Communications of the ACM 28, 8 (August, 1985) pages 798--807.

42 William E. Weihl. Transaction-processing techniques. Chapter 13 of Mullender, Sape, ed. Distributed Systems, 2nd Edition, Addison--Wesley, 1993. ISBN 0--201--62427--3.

43 David Gifford and Alfred Spector. The TWA reservation system. Communications of the ACM 27, 7 (July, 1984) pages 649--665.

44 Effy Oz. When professional standards are lax: the CONFIRM failure and its lessons. Communications of the ACM 37, 10 (October 1994) pages 29-36.

45 James L. Woodward. What makes business programming hard? BYTE 7, 10 (October, 1982) pages 68--72.

Historical perspective

46 Larry Press. Before the Altair: The history of personal computing. Communications of the ACM 36, 9 (September, 1993) pages 27--33.