I'd like to put in a plug for keeping the security section, and maybe
including a good Kerberos paper if there is one. I think a lot of
undergrads will come into grad school without having any exposure to
security - I didn't get any at W&M, and Brian & Hank don't cover it in the
undergrad OS class here. And when i took the grad OS class at Berkeley,
Brewer said there were no good security papers, so he told us just to read
a web page about how his students cracked Netscape. If any of these
experiences are representative, then there's a big need out there for
better security coverage.
> Finally, if you had to cut papers, here would be my list:
> Hansen (although its very short and arguably the first uKernel)
> SPIN
> Scheduler Activations
> RT paper
> RPC in x-kernel
> Kai Li distributed VM paper
> xFS
> security papers
I agree that the RPC in x-kernel could probably be dropped.
One practical heuristic for deciding between papers would be to favor
including the older ones that you can't find on the web. Then it'll be
easy for people to supplement the text with newer stuff from the web.
neal
> -----Original Message-----
> From: tom@emigrant [mailto:tom@emigrant]
> Sent: Sunday, August 23, 1998 1:29 AM
> To: syn@cs
> Subject: revised book list
>
>
> If people have more suggestions. I'm as interested in
> finding stuff to drop as I am finding stuff to add.
>
> tom
> -------
> 1. Historical Background
> ------------------------
>
> Edsger W. Dijkstra.
> The Structure of the "THE" Multiprogramming System.
> Communications of the ACM 11(5), May 1968, pp. 341-346.
>
> Per Brinch Hansen.
> The Nucleus of a Multiprogramming System.
> Communications of the ACM 13(4), April 1970, pp. 238-250.
>
> Jack B. Dennis and Earl C. Van Horn.
> Programming Semantics for Multiprogrammed Computations.
> Communications of the ACM 9(3), March 1966, pp. 143-155.
>
> A. Bensoussan, C. Clingen, and R. Daley.
> The MULTICS Virtual Memory: Concepts and Design.
> Communications of the ACM, Vol. 15, No. 5 (May 1972), pp. 308-318.
>
> Jerome H. Saltzer.
> Protection and the Control of Information Sharing in Multics.
> Communications of the ACM 17(7), July 1974, pp. 388-402.
>
> Dennis M. Ritchie and Ken Thompson.
> The UNIX Timesharing System.
> Communications of the ACM 17(7), July 1974, pp. 365-375.
>
>
> 2. OS Architecture and Structure
> --------------------------------
>
> W. Wulf, E. Cohen, W. Corwin, A. Jones, R. Levin, C. Pierson, and F.
> Pollack.
> HYDRA: The Kernel of a Multiprocessor Operating System.
> Communications of the ACM 17(6), June 1974, pp. 337-344.
>
> R. Levin, E. Cohen, W. Corwin, F. Pollack, and W. Wulf.
> Policy/Mechanism Separation in HYDRA.
> Proceedings of The Fifth Symposium on Operating Systems Principles,
> pp. 132--140.
>
> 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. Symp. on Operating Systems Principles, December
> 1995.
>
>
> 3. Concurrency and Scheduling
> -----------------------------
>
> Andrew Birrell, An Introduction to Programming with Threads,
> DEC SRC Research Report Number 35, January 1989.
>
> Thomas Anderson, Brian Bershad, Edward Lazowska, and Henry Levy.
> Scheduler Activations: Effective Kernel Support for the User-Level
> Management of Parallelism.
> ACM Trans. on Computer Systems 10(1), Feburary 1992, pp. 53-79.
>
> Carl Waldspurger and William Weihl.
> Lottery Scheduling: Flexible Proportional-Share Resource Management.
> Proc. of the First USENIX Symposium on Operating Systems Design
> and Implementation, November 1994.
>
> Sheng-Chang Cheng, John Stankovic, and Krithivasan Ramamritham.
> Scheduling Algorithms for Hard Real-Time Systems -- A Brief Survey.
> In Hard Real-Time Systems, John Stankovic and Krithivasan Ramamritham,
> IEEE Computer Society, 1988.
>
>
> 4. Communication
> ----------------
>
> Andrew Birrell and Bruce Nelson.
> Implementing Remote Procedure Calls.
> ACM Trans. on Computer Systems 2(1), February 1984, pp. 39-59.
>
> Norman Hutchinson, Larry Peterson, Mark Abbott, and Sean O'Malley.
> RPC in the x-Kernel: Evaluating New Design Techniques.
> Proceedings of the 12th SOSP, December 1989, pp. 91-101.
>
> B. Bershad, T. Anderson, E. Lazowska, and H. Levy.
> Lightweight Remote Procedure Call.
> Proceedings of the 12th SOSP, December 1989, pp. 102-113.
>
> Thorsten von Eicken, David E. Culler, Seth C. Goldstein, and Klaus E.
> Schauser.
> Active Messages: A Mechanism for Integrated Communication and
> Computation.
> Proc. 19th Int. Symposium on Computer Architecture, May 1992, pp.
> 256-266.
>
>
> 5. Virtual Memory and Distributed Virtual Memory
> ------------------------------------------------
>
> Henry M. Levy and Peter Lipman. Virtual Memory Management in VAX/VMS.
> Computer 15(3), March 1982, pp. 35-41.
>
> Michael Young, Avadis Tevanian, Richard Rashid, David Golub, Jeffrey
> Eppinger, Jonathon Chew, William Bolosky, David Black, and Robert Baron.
> The Duality of Memory and Communication in the Implementation
> of a Multiprocessor Operating System.
> Proc. of the 11th Symposium on Operating System Principles, pages 63-76,
>
> November 1987.
>
> Kai Li and Paul Hudak.
> Memory Coherence in Shared Virtual Memory Systems.
> ACM Trans. on Computer Systems 7(4), November 1989, pp. 321-359.
>
> J. B. Carter, J. K. Bennett, and W. Zwaenepoel.
> Implementation and Performance of Munin.
> Proc. of the 13th ACM Symp. on Operating Systems Principles, Oct. 1991,
> pp. 152-164.
>
> 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), Feb. 1994, pp.33-57.
>
>
> 6. File Systems
> ---------------
>
> Marshall K. McKusick, William N. Joy, Samuel J. Leffler, and Robert S.
> Fabry.
> A Fast File System for UNIX.
> ACM Trans. on Computer Systems 2(3), August 1984, pp. 181-197.
>
> J. Ousterhout, H. Da Costa, D. Harrison, J. Kunze, M. Kupfer, and J.
> Thompson.
> A Trace-Driven Analysis of the UNIX 4.2 BSD File System.
> Proc. of the 10th SOSP, December 1985, pp. 15-24.
>
> Mendel Rosenblum and John K. Ousterhout.
> The Design and Implementation of a Log-Structured File System.
> ACM Trans. on Computer Systems 10(1), February 1992, pp. 26-52.
>
>
> 7. Distributed File Systems
> ---------------------------
>
> R. Sandberg, D. Goldberg, S. Kleiman, D. Walsh, and B. Lyon,
> Design and Implementation of the Sun Network Filesystem.
> Proc. of the 1985 Usenix Summer Conference, June 1985, pp. 119-130.
>
> John H. Howard, Michael L. Kazar, Sherri G. Menees, David A. Nichols,
> M. Stayanayanan, Robert N. Sidebotham, and Michael J. West.
> Scale and Performance in a Distributed File System.
> ACM Trans. on Computer Systems 6(1), February 1988, pp. 51-81.
>
> T. Anderson, M. Dahlin, J. Neefe, D. Patterson, D. Roselli, and R. Wang.
>
> Serverless Network File Systems.
> ACM Trans. on Computer Systems 14(1), Feb. 1996.
>
> James Kistler and M. Satyanarayanan.
> Disconnected Operation in the Coda File System.
> ACM Trans. on Computer Systems 10(1), February 1992, pp. 3-25.
>
>
> 8. Reliability
> --------------
> J. Gray.
> The Transaction Concept: Virtues and Limitations.
> Proc. of the Seventh VLDB, September 1981, pp. 144-154.
>
> Bruce G. Lindsay, Laura M. Haas, C. Mohan, Paul F. Wilms and Robert A.
> Yost.
> Computation and Communication in R*: A Distributed Database Manager.
> ACM Trans. on Computer Systems 2(1), February 1984, pp. 24-38.
>
> Kenneth P. Birman.
> The Process Group Approach to Reliable Distributed Computing.
> Communications of the ACM 36(12), December 1993, pp. 37-53.
>
> John Chapin, Mendel Rosenblum, Scott Devine, Tirthankar Lahiri,
> Dan Teodosiu, and Anoop Gupta.
> Hive: Fault Containment for Shared-Memory Multiprocessors.
> Proc. of the 15th ACM SOSP, pp. 12-25, December 1995.
>
>
> 9. Distributed Applications and Services
> --------------------------------------------
>
> Michael D. Schroeder, Andrew D. Birrell and Roger M. Needham.
> Experience with Grapevine: The Growth of a Distributed System.
> ACM Trans. on Computer Systems 2(1), February 1984, pp.3-23.
>
> Eric Jul, Henry Levy, Norman Hutchinson, and Andrew Black.
> Fine-Grained Mobility in the Emerald System.
> ACM Trans. on Computer Systems 6(1), February 1988, pp. 109-133.
>
> Douglas B. Terry, Marvin M. Theimer, Karin Peterson, Alan J. Demers,
> Mike J. Spreitzer, and Carl H. Hauser.
> Managing Update Conflicts in Bayou, a Weakly Connected Replicated
> Storage System.
> Proceedings of the Fifteenth ACM Symposium on Operating Systems
> Principles,
> p. 172-183, December, 1995.
>
>
> 10. Security
> -----------
>
> Roger M. Needham and Michael D. Schroeder.
> Using Encryption for Authentication in Large Networks of Computers.
> Communications of the ACM 21(12), December 1978, pp.993-998.
>
> M. Burrows, M. Abadi, and R. Needham.
> A Logic of Authentication.
> ACM Trans. on Computer Systems, 8(1), Feb. 1990.
>
>
> 11. Experience
> --------------
> B. Lampson.
> Hints for Computer System Design.
> IEEE Software, 1(1):11-28, January 1984.
>
> J. Ousterhout.
> The Role of Distributed State.
>
> ----------
> Strongly considered, but left out for now:
>
> David D. Redell, Yogen K. Dalal, Thomas R. Horsley, Hugh C. Lauer,
> William C. Lynch, Paul R. McJones, Hal G. Murray, and Stephen C.
> Purcell.
> Pilot: An Operating System for a Personal Computer.
> Communications of the ACM 23(2), February 1980, pp. 81-92.
>
> David Cheriton.
> The V Distributed System.
>
> B. Walker, G. Popek, R. English, C. Kline, and G. Thiel.
> The LOCUS Distributed Operating System.
> Proc. 9th SOSP, October 1983.
>
> Leach et al., Apollo
>
> Butler Lampson and David Redell.
> Experience with Processes and Monitors in Mesa.
>
> John Ousterhout, Co-scheduling.
>
> Maurice Herlihy.
> A Methodology for Implementing Highly Concurrent Data Structures.
> Proc. of the 2nd ACM SIGPLAN Symposium on Principles and Practice
> of Parallel Programming, March 1990, pp. 197-206.
>
> Henry Massalin and Calton Pu.
> Threads and Input/Output in the Synthesis Kernel.
> Proceedings of the 12th SOSP, December 1989, pp. 191-200.
>
> Leslie Lamport.
> Time, Clocks, and the Ordering of Events in a Distributed System.
> Communications of the ACM, Vol. 21, No. 7 (July 1978), pp. 558-565.
>
> Roger Haskin, et al.
> Recovery Management in QuickSilver.
>
> Alfred Z. Spector, et al.
> Distributed Transactions for Reliable Systems
>
> Ken Thompson's Turing Lecture.
>
> Victor L. Voydock and Stephen T. Kent.
> Security Mechanisms in High-Level Network Protocols.
>
> D. Denning and P. Denning. Data Security.
> Computing Surveys, Vol. 11, No. 3 (September 1979), pp. 227-249.
>