1. 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. unix.ps
K. Thompson. Unix Implementation. Bell System Technical Journal, 57(6), pp. 1931-1946, July 1978. unix-imp.ps
B. W. Lampson. Hints for Computer System Design. Proc. of the 9th ACM Symposium on Operating Systems Principles, pp. 33-48, October 1983. hints.ps
2. 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. mach-app.ps
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. spin.ps
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. disco.ps
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. oskit.ps
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. javaos.ps
3. Threads and Concurrency
A. Birrell. An Introduction to Programming with Threads. Research Report 35, DEC Systems Research Center, January 1989. thread.pdf
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. sched-act.pdf
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.
4. Communication and Networking
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.
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. am.ps
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. fbufs.ps
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.
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. xkernel.ps
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. actnet.ps
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.
5. Virtual Memory
H. M. Levy and P. Lipman. Virtual Memory Management in VAX/VMS. 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.
6. File Systems and IO
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. coda.ps
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. lfs.ps
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. Proc. of the 3rd Symposium on Operating Design and Implementation, New Orleans, pp. 15-28, February 1999.
7. Protection and Security
B. W. Lampson. Protection. Proc. of the 5th Princeton Symposium on Information Sciences and Systems, pp. 437-443, March 1971. http://www.research.microsoft.com/lampson/09-Protection/Acrobat.
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, September1975. http://web.mit.edu/Saltzer/www/publications/protection
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. http://www.research.microsoft.com/lampson/45-AuthenticationTheoryAndPractice/Abstract.html
K. Thompson. Reflection on Trusting Trust. Communications of ACM, 27(8), pp. 761-763, August 1984. http://www.acm.org/classics/sep95
N. Haller. The S/Key One-Time Password System. Proc. of the ISOC Symposium on Network and Distributed System Security, February 1994.
8. Distributed Systems
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. nemesis.ps
9. 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. lrvm.ps
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. mars.ps
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 Processors. Proc. of ASPLOS 1992. fastlock.ps
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.