Historical Perspective
- E. W. Dijkstra. The Structure of the THE Multiprogramming System. Communications of the ACM 11(5), May 1968.
- D. M. Ritchie and K. Thompson. The UNIX Timesharing System. Communications of the ACM 17(7), July 1974.
- K. Thompson. Unix Implementation. Bell System Technical Journal, 57(6), pp. 1931-1946, July 1978.
- D. M. Ritchie The Evolution of the UNIX Time-sharing System. Proc. of the Symposium on Language Design and Programming Methodology, pp. 25-35, September 1979.
- B. W. Lampson. Hints for Computer System Design. Proc. of the 9th ACM Symposium on Operating Systems Principles, pp. 33-48, October 1983.
Structure and Organization
- D. D. Redell, Y. K. Dalal, T. R. Horsley, H. C. Lauer, W. C. Lynch, P. R. McJones, H. G. Murray, and S. C. Purcell. Pilot: An Operating System for a Personal Computer.. Communications of the ACM 23(2), pp. 81-92, February 1980.
- M. Accetta, R. Baron, W. Bolosky, D. Golub, R. Rashid, A. Tavanian, and M. Young. Mach: A New Kernel Foundation for Unix Development. Proc. of the Summer 1986 USENIX Conference, pp. 93-112, June 1986.
- D. Golub, R. Dean, A. Forin, and R. Raashid. Unix as an Application Program. Proc. of the Summer 1990 USENIX Conference, pp. 87-95, June 1990.
- H. Massalin and C. Pu. Theads and Input/Output in the Synthesis Kernel. Proc. of the 12th ACM Symposium on Operating Systems Principles, pp. 191-201, December 1989.
- T. Anderson, H. Levy, B. Bershad, and E. Lazowska. The Interaction of Architecture and Operating System Design. Proc. of the 4th Conference on Architecture Support for Programming Languages and Operating Systems, pp. 108-119, April 1991.
- J. Chase, H. Levy, M. Feeley, and E. Lazowska. Sharing and Protection in a Single Address Space Operating System. ACM Trans. on Computer Systems, November 1994.
- B. Bershad, S. Savage, P. Pardyak, E. Sirer, M. Fiuczynski, D. Becker, C. Chambers, and S. Eggers. Extensibility, Safety and Performance in the SPIN Operating System. Proc. of the 15th ACM Symposium on Operating Systems Principles, pp. 267--284, December 1995.
- J. Liedtke. On Micro-Kernel Construction. Proc. of the 15th ACM Symposium on Operating Systems Principles, pp. 237-250, December 1995.
- E. Bugnion, S. Devine, and M. Rosenblum. Disco: Running Commodity Operating Systems on Scalable Multiprocessors. Proc. of the 16th ACM Symposium on Operating Systems Principles, pp. 143-156, December 1997.
- B. Ford, G. Back, G. Benson, J. Lepreau, A. Lin, and O. Shivers. The Flux OSKit: A Substrate for OS and Language Research. Proc. of the 16th ACM Symposium on Operating Systems Principles, pp. 38-51, December 1997.
- G. Back, P. Tullmann, L. Stoller, W. C. Hsieh, and J. Lepreau. Java Operating Systems: Design and Implementation. Technical Report UUCS-98-015, Univ. of Utah, August 1998.
Threads and Concurrency
- C.A.R. Hoare. Monitors: An Operating System Structuring Concept. Communications of the ACM 17(10), pp. 549-557, October 1974.
- C.A.R. Hoare. Communicating Sequential Processes. Communications of the ACM 21(8), pp. 666-677, August 1978.
- B. W. Lampson and D. D. Redell. Experience with Processes and Monitors in Mesa. Communications of the ACM 23(2), pp. 105-117, February 1980.
- M. Herlihy. A Methodology for Implementing Highly Concurrent Data Structures. Proc. of the 2nd ACM SIGPLAN Symp. on Principles and Practice of Parallel Programming, pp. 197-206, March 1990.
- T. Anderson, B. Bershad, E. Lazowska, and H. Levy. Scheduler Activations: Effective Kernel Support for the User-Level Management of Parallelism. ACM Trans. on Computer Systems 10(1), pp. 53-79, Feburary 1992.
- S. Savage, M. Burrows, G. Nelson, P. Sobalvarro, and T. Anderson. Eraser: A Dynamic Race Detector for Multithreaded Programs. ACM Transaction on Computer Systems, 15(4), November 1997.
Communication and Networking
- R. M. Metcalfe and D. R. Boggs. Ethernet: Distributed Packet Switching for Local Computer Networks. Communications of the ACM 19(7), pp. 395-404, July 1976.
- A. D. Birrell and B. J. Nelson. Implementing Remote Procedure Calls. ACM Trans. on Computer Systems 2(1), pp. 39-59, February 1984.
- B. N. Bershad, T. E. Anderson, E. D. Lazowska, and H. M. Levy. Lightweight Remote Procedure Call. ACM Trans. on Computer Systems 8(1), pp.37-55, February 1990.
- N. C. Hutchinson and L. L. Peterson. The x-Kernel: An Architecture for Implementing Network Protocols. IEEE Trans. on Software Engineering, 17(1), pp. 64-76, January 1991.
- T. von Eicken, D. E. Culler, S. C. Goldstein, and K. E. Schauser. Active Messages: a Mechanism for Integrated Communication and Computation. Proc. of the 19th Int. Symp. on Computer Architecture, pp. 256-266, May 1992.
- J. Liedtke. Improving IPC by Kernel Design. Proc. of the 14th ACM Symp. on Operating Systems Principles, pp. 175-187, December 1993.
- P. Druschel and L. L. Peterson. Fbufs: A High-Bandwidth Cross-Domain Transfer Facility. Proc. of the 14th ACM Symp. on Operating Systems Principles, pp. 189-202, December 1993.
- E. A. Brewer, R. H. Katz, et al. A Network Architecture for Heterogeneous Mobile Computing. IEEE Personal Communications, October 1998.
- D. L. Tennenhouse and D. J. Wetherall. Towards an Active Network Architecture. Proc. Multimedia Computing and Networking'96, January 1996.
- A. Fox, S. Gribble, Y. Chawathe, E. Brewer, and P. Gauthier. Cluster-based Scalable Network Services. Proc. of the 16th ACM Symp. on Operating Systems Principles, pp. 78-91, October 1997.
Virtual Memory
- H. M. Levy and P. Lipman. Virtual Memory Management in the VAX/VMS Operating System. Computer 15(3), pp. 35-41, March 1982.
- R. Rashid, A. Tevanian, M. Young, D. Golub, R. Baron, D. Black, W. Bolosky, and J. Chew. Machine-Independent Virtual Memory Management for Paged Uniprocessor and Multiprocessor Architectures. Proc. of the 2nd International Conference on Architectural Support for Programming Languages and Operating Systems, pp. 31-39, October 1987.
- M. Young, A. Tevanian, R. Rashid, D. Golub, J. Eppinger, J. Chew, W. Bolosky, D. Black, R. Baron, The Duality of Memory and Communication in the Implementation of a Multiprocessor Operating System. Proc. of the 11th ACM Symp. on Operating Systems Principles, pp. 63-76, November 1987.
- K. Li and P. Hudak. Memory Coherence in Shared Virtual Memory Systems. ACM Trans. on Computer Systems 7(4), pp. 321-359, November 1989.
- D. Scales and K. Gharachorloo. Towards Transparent and Efficient Software Distributed Shared Memory. Proc. of the 16th ACM Symp. on Operating Systems Principles, pp. 157-169, Oct. 1997.
File Systems and I/O
- M. K. McKusick, W. N. Joy, S. J. Leffler, and R. S. Fabry. A Fast File System for UNIX. ACM Trans. on Computer Systems 2(3), pp. 181-197, August 1984.
- M. Satyanarayanan, J. H. Howard, D. A. Nichols, R. N. Sidebotham, A. Z. Spector, and M. J. West. The ITC Distributed File System: Principles and Design. Proc. of the 10th ACM Symposium on Operating Systems Principles, pp. 35-50, December 1985.
- D. A. Patterson, G. Gibson, and R. H. Katz. A Case for Redundant Array of Inexpensive Disks (RAID). Proc. ACM SIGMOD International Conference on Management of Data, pp. 109-116, June 1988
- M. N. Nelson, B. B. Welch, and J. K. Ousterhout. Caching in the Sprite Network File System. ACM Trans. on Computer Systems 6(1), pp. 134-154,February 1988.
- J. H. Howard, M. L. Kazar, S. G. Menees, D. A. Nichols, M. Stayanayanan, R. N. Sidebotham, and M. J. West. Scale and Performance in a Distributed File System. ACM Trans. on Computer Systems 6(1), pp. 51-81, February 1988.
- D. K. Gifford, P. Jouvelot, M. Sheldon, and J. O'Toole. Semantic File Systems. Proc. of the 12th ACM Symposium on Operating Systems Principles, pp. 16-25, October 1991.
- J. J. Kistler and M. Satyanarayanan. Disconnected Operation in the Coda File System. Proc. of the 13th Symposium on Operating Systems Principles, pp. 213-225, October 1991.
- M. Rosenblum and J. K. Ousterhout. The Design and Implementation of a Log-Structured File System. ACM Trans. on Computer Systems 10(1), pp. 26-52, February 1992.
- C. Thekkath, T. Mann, and E. Lee. Frangipani: A Scalable Distributed File System. Proc. of the 16th ACM Symposium on Operating Systems Principles, pp. 224-237, October 1997.
- V. Pai, P. Drushel, and W. Zwaenepoel. IO-Lite: A Unified I/O Buffering and Caching System. ACM Trans. on Computer Systems 18(1), pp. 37-66, February 2000.
Protection and Security
- B. W. Lampson. Protection. Proc. of the 5th Princeton Symposium on Information Sciences and Systems, pp. 437-443, March 1971.
- B. W. Lampson. A Note on the Confinement Problem. Communications of the ACM, 16(10), pp. 613-615, October 1973.
- J. H. Saltzer and M. D. Schroeder. The Protection of Information in Computer Systems. Proc. of the IEEE 63(9), pp. 1278-1308, September 1975.
- R. M. Needham and M. D. Schroeder. Using Encryption for Authentication in Large Networks of Computers. Communications of the ACM 21(12), pp.993-998, December 1978.
- D. E. Denning and P. J. Denning. Data Security. Computing Surveys, 11(3), pp. 227-249, September 1979.
- R. Morris and K. Thompson. Password Security: A Case History. Communications of the ACM, 22(11), pp. 594-597, November 1979.
- R. L. Rivest, S. Shamir, and L. Adleman. A Method for Obtaining Digital Signatures and Public Key Cryptosystems. Communications of the ACM, 21(2), pp. 120-126, February 1978.
- J. G. Steiner, C. Neuman, and J. I. Schiller. Kerberos: An Authentication Service for Open Network Systems. Proc. of USENIX '88, pp. 191-202, February 1988.
- B. Lampson, M. Abadi, M. Burrows, and E. Wobber. Authentication in Distributed Systems: Theory and Practice. ACM Transactions on Computer Systems, 10(4), pp. 265-310, November 1992.
- K. Thompson. Reflections on Trusting Trust. Communications of ACM, 27(8), pp. 761-763, August 1984.
- N. Haller. The S/Key One-Time Password System. Proc. of the ISOC Symposium on Network and Distributed System Security, February 1994.
Distributed Systems
- D.S. Parker, Jr., G. J. Popek, G. Rudisin, A. Stoughton, B. J. Walker, E. Walton, J. M. Chow, D. Edwards, S. Kiser, and C. Kline. Detection of Mutual Inconsistency in Distributed Systems. IEEE Trans. on Software Engineering, SE-9(3), May 1983.
- B. Walker, G. Popek, R. English, C. Kline, and G. Thiel. The LOCUS Distributed Operating System. Proc. of the 9th ACM Symposium on Operating Systems Principles, pp. 49-69, October 1983.
- M. D. Schroeder, A. D. Birrell, and R. M. Needham. Experience with Grapevine: The Growth of a Distributed System. ACM Trans. on Computer Systems, 2(1), February 1984.
- E. Jul, H. Levy, N. Hutchinson, and A. Black. Fine-Grained Mobility in the Emerald System. ACM Trans. on Computer Systems 6(1), pp. 109-133, February 1988.
- R. Pike, D. L. Presotto, K. Thompson, and H. Trickey, Plan 9 from Bell Labs. Proc. of 1990 USENIX Conference.
- I. Leslie, D. McQuley, R. Black, T. Roscoe, P. Barham, D. Evers, R. Fairbairns, and E. Hyden. The Design and Implementation of an Operating System to Support Distributed Multimedia Application. Journal on Selected Areas in Communications, June 1995.
- D. B. Terry, M. M. Theimer, K. Petersen, A. J. Demers, M. J. Spreitzer, and C. H. Hauser. Managing update conflicts in Bayou, a weakly connected replicated storage system. Proc. of 1995 Proc. of the 15th ACM Symposium on Operating Systems Principles, pp. 172-183, December 1995.
Reliability and Recovery
- Jim Gray. The Transaction Concept: Virtues and Limitations. Proc. 7th International Conference on Very Large Data Bases, pp. 144-154, September 1981.
- B. M. Oki, B. H. Liskov, and R. W. Scheifler. Reliable Object Storage to Support Atomic Actions. Proc. of the 10th ACM Symposium on Operating Systems Principles, pp. 147-159, December 1985.
- A. Borg, W. Blau, W. Graetsch, F. Herrmann, and W. Oberle. Fault Tolerance under UNIX. ACM Trans. on Computer Systems 7(1), pp. 1-24, February 1989.
- J. Gray and D. P. Sieworek. High-Availability Computer Systems. Computer 24(9), pp. 39-48, September 1991.
- K. R. Birman. The Process Group Approach to Reliable Distributed Computing. Communications of the ACM, 36(12), December 1993.
- M. Satyanarayanan, H. H. Mashburn, P. Kumar, D. C. Steere, and J. J. Kistler. Lightweight Recoverable Virtual Memory. ACM Trans. on Computer Systems, 12(1), pp.33-57, February 1994.
Bugs and System Failures
- N. G. Leveson and C. S. Turner. An Investigation of the Therac-25 accidents. IEEE Computer, 26(7), pp. 18-41, July 1993.
- J. Lions, L. Lebeck, J. Fauquembergue, G. Kahn, W. Kubbat, S. Levedag, L. Mazzini, D. M. Thomson, and C. O'Halloran. ARIANE 5 Flight 501 Failure: Report by the Inquiry Board. European Space Agency Report, Paris, July 1996.
- G.E. Reeves. What Really Happened on Mars?. Personal Communication. December 1997.
Miscellaneous
- R. Scheifler and J. Gettys. The X Window System. ACM Trans. on Graphics, 5(2), pp. 79-109, April 1986.
- B. Bershad, J. Ellis, and D. Redell. Fast Mutual Exclusion for Uniprocessors. Proc. of ASPLOS 1992.
- C.A.R. Hoare. The Emperor's Old Clothes. Communications of the ACM, 24(2), pp. 75-83, February 1981.
- R. Levin, D. D. Redell, An Evaluation of the 9th SOSP Submissions. Operating Systems Review, 17(3), pp. 35-40, July 1983.