Bibliography

[1]   Michael J. Accetta, Robert V. Baron, William J. Bolosky, David B. Golub, Richard F. Rashid, Avadis Tevanian, and Michael Young. Mach: A new kernel foundation for UNIX development. In Proceedings of the Summer 1986 USENIX Conference, pages 93-112, June 1986.

[2]   Ali-Reza Adl-Tabatabai, Geoff Langdale, Steven Lucco, and Robert Wahbe. Efficient and language-independent mobile programs. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, pages 127-136, Philadelphia, Pennsylvania, May 1996.

[3]   Gerald Aigner and Urs Hölzle. Eliminating virtual function calls in C++ programs. In ECOOP `96: 10th European Conference on Object-Oriented Programming Proceedings, Lecture Notes in Computer Science 1098, pages 142-166. Springer Verlag, July 1996. ISBN: 3-540-61439-7.

[4]   Godmar V. Back. Safe memory revocation in Java. Unpublished proposal, June 1998.

[5]   Godmar V. Back and Wilson C. Hsieh. Drawing the red line in Java. In Proceedings of the Seventh Workshop on Hot Topics in Operating Systems, Rio Rico, Arizona, March 1999.

[6]   Godmar V. Back, Patrick A. Tullmann, Leigh B. Stoller, Wilson C. Hsieh, and Jay Lepreau. Java operating systems: Design and implementation. Technical Report 98-015, Department of Computer Science, University of Utah, August 1998.

[7]   Dirk Balfanz and Li Gong. Experience with secure multi-processing in Java. In Proceedings of the Eighteenth International Conference on Distributed Computing Systems, May 1998. Available electronically at http://www.cs.princeton.edu/sip/pub/icdcs.html.

[8]   Philippe Bernadat, Laura Feeney, Dan Lambright, and Franco Travostino. Java sandboxes meet service guarantees: Secure partitioning of CPU and memory. Technical Report TOGRI-TR9805, The Open Group Research Institute, June 1998.

[9]   Brian N. Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gün Sirer, Marc E. Fiuczynski, David Becker, Craig Chambers, and Susan Eggers. Extensibility, safety, and performance in the SPIN operating system. In Proceedings of the Fifteenth ACM Symposium on Operating Systems Principles, pages 267-284, Copper Mountain, Colorado, December 1995.

[10]   Gilad Bracha and William Cook. Mixin-based inheritance. In Proceedings of the Conference on Object-Oriented Programming: Systems, Languages, and Applications, pages 303-311, Ottawa, Canada, October 1990. ACM Press.

[11]   Patrick Chan and Rosanna Lee. The Java Class Libraries: Volume 2. The Java Series. Addison-Wesley Publishing Company, second edition, November 1997.

[12]   Patrick Chan, Rosanna Lee, and Douglas Kramer. The Java Class Libraries: Volume 1. The Java Series. Addison-Wesley Publishing Company, second edition, November 1997.

[13]   Glynn Clements and George D. Morrison. Kore--an implementation of the Java core class libraries. Available electronically at ftp://sensei.co.uk/misc/kore.tar.gz or http://www.cs.utah.edu/flux/java/kore/.

[14]   Cygnus Solutions. egcs project home page, 1998. Available electronically at http://egcs.cygnus.com/.

[15]   Cygnus Solutions. The GCJ homepage, 1998. Available electronically at http://sourceware.cygnus.com/java/gcj.html.

[16]   Drew Dean, Edward W. Felten, and Dan S. Wallach. Java security: From HotJava to Netscape and beyond. In Proceedings of the 1996 IEEE Symposium on Research in Security and Privacy, Oakland, California, May 1996.

[17]   Sean Dorward, Rob Pike, David Leo Presotto, Dennis Ritchie, Howard Trickey, and Phil Winterbottom. Inferno. In Proceedings of the 42nd IEEE Computer Society International Conference, pages 241-244, San Jose, CA, February 1997.

[18]   Bryan A. Ford. User-memory-based kernel objects. University of Utah. Postscript slides available from http://www.cs.utah.edu/flux/fluke/, 1995.

[19]   Bryan A. Ford, Godmar V. Back, Greg Benson, Jay Lepreau, Albert Lin, and Olin Shivers. The Flux OSKit: A substrate for OS and language research. In Proceedings of the Sixteenth ACM Symposium on Operating Systems Principles, pages 38-51, St. Malo, France, October 1997.

[20]   Bryan A. Ford, Mike J. Hibler, and Flux Project Members. Fluke: Flexible m-kernel Environment (draft documents). University of Utah. Postscript and HTML available from http://www.cs.utah.edu/flux/fluke/, 1996.

[21]   Bryan A. Ford, Mike J. Hibler, Jay Lepreau, Roland McGrath, and Patrick A. Tullmann. Interface and execution models in the Fluke kernel. In Proceedings of the Third Symposium on Operating Systems Design and Implementation, New Orleans, Louisiana, February 1999. USENIX Association.

[22]   Bryan A. Ford, Mike J. Hibler, Jay Lepreau, Patrick A. Tullmann, Godmar V. Back, and Stephen Clawson. Microkernels meet recursive virtual machines. In Proceedings of the Second Symposium on Operating Systems Design and Implementation, pages 137-151, Seattle, Washington, October 1996. USENIX Association.

[23]   Bryan A. Ford and Sai Susarla. CPU inheritance scheduling. In Proceedings of the Second Symposium on Operating Systems Design and Implementation, pages 91-105, Seattle, Washington, October 1996. USENIX Association.

[24]   Michael Franz and Thomas Kistler. Introducing Juice. Available electronically at http://www.ics.uci.edu/$\protect \let \prOteCt \relax \Protect \acp:c {3}{}$juice/intro.html, October 1996.

[25]   Michael Franz and Thomas Kistler. Slim binaries. Communications of the ACM, 40(12):87-94, December 1997.

[26]   Robert P. Goldberg. Survey of virtual machine reseach. IEEE Computer Magazine, pages 34-45, June 1974.

[27]   James Gosling and Henry McGilton. The Java language environment: A white paper. Technical report, Sun Microsystems Computer Company, 1996. Available electronically at http://java.sun.com/doc/language\protect \unhbox \voidb@x \kern .06em\vbox {\hrule width.3em}environment/.

[28]   Chris Hawblitzel, Chi-Chao Chang, Grzegorz Czajkowski, Deyu Hu, and Thorsten von Eicken. SLK: A capability system based on safe language technology. Available electronically at http://www2.cs.cornell.edu/SLK/papers.html, 1997.

[29]   Chris Hawblitzel, Chi-Chao Chang, Grzegorz Czajkowski, Deyu Hu, and Thorsten von Eicken. Implementing multiple protection domains in Java. In Proceedings of the 1998 USENIX Annual Technical Conference, pages 259-270, New Orleans, Louisiana, 1998.

[30]   Chris Hawblitzel and Thorsten von Eicken. A case for language-based protection. Technical Report 98-1670, Department of Computer Science, Cornell University, March 1998.

[31]   Sheng Liang and Gilad Bracha. Dynamic class loading in the Java virtual machine. In Proceedings of ACM Conference on Object-Oriented Programming Systems, Languages and Applications, Vancouver, British Columbia, Canada, October 1998.

[32]   Tim Lindholm and Frank Yellin. The Java Virtual Machine Specification. The Java Series. Addison-Wesley Publishing Company, January 1997.

[33]   Marshall Kirk McKusick, Keith Bostic, Michael J. Karels, and John S. Quarterman. The Design and Implementation of the 4.4BSD Unix Operating System. Addison-Wesley UNIX and Open Systems Series. Addison-Wesley Publishing Company, 1996. ISBN: 0-201-54979-4.

[34]   George C. Necula and Peter Lee. Safe kernel extensions without run-time checking. In Proceedings of the Second Symposium on Operating Systems Design and Implementation, pages 229-243, Seattle, Washington, October 1996. USENIX Association.

[35]   David L. Presotto, Rob Pike, Ken Thompson, and Howard Trickey. Plan 9, a distributed system. In Proceedings of the Spring 1991 EurOpen Conference, pages 43-50, Tromsø, Norway, May 1991. EurOpen.

[36]   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):81-92, 1980.

[37]   Marc Rozier, Vadim Abrossimov, F. Armand, I. Boule, M. Gien, M. Guillemont, F. Herrmann, C. Kaiser, S. Langlois, P. Léonard, and W. Neuhauser. CHORUS distributed operating system. Computing Systems, 1(4):305-370, Fall 1988.

[38]   Margo I. Seltzer, Yasuhiro Endo, Christopher Small, and Keith A. Smith. Dealing with disaster: Surviving misbehaved kernel extensions. In Proceedings of the Second Symposium on Operating Systems Design and Implementation, pages 213-227, Seattle, Washington, October 1996. USENIX Association.

[39]   Emin Gün Sirer, Arthur J. Gregory, Sean McDirmid, and Brian N. Bershad. The Kimera project. Available electronically at http://kimera.cs.washington.edu/.

[40]   Emin Gün Sirer, Arthur J. Gregory, Sean McDirmid, and Brian N. Bershad. The Kimera project: Flaws in Java implementations. Available electronically at http://kimera.cs.washington.edu/flaws/.

[41]   Richard M. Stallman. GNU Emacs Manual. Free Software Foundation, thirteenth edition, 1997.

[42]   Sun Microsystems. The HotJava(tm) product family. Available electronically at http://java.sun.com/products/hotjava/index.html.

[43]   Sun Microsystems, Inc. JavaOS: The standalone Java application platform, February 1997. Available electronically at http://www.javasoft.com/products/javaos/.

[44]   Daniel C. Swinehart, Polle T. Zellweger, Richard J. Beach, and Robert B. Hagmann. A structural view of the Cedar programming environment. ACM Transactions on Programming Languages and Systems, 8(4):419-490, October 1986.

[45]   Patrick A. Tullmann and Jay Lepreau. Nested Java processes: OS structure for mobile code. In Proceedings of the Eighth ACM SIGOPS European Workshop, pages 111-117, Sintra, Portugal, September 1998. ACM.

[46]   Patrick A. Tullmann, Jay Lepreau, Bryan A. Ford, and Mike J. Hibler. User-level checkpointing through exportable kernel state. In Proceedings of the Fifth International Workshop on Object Orientation in Operating Systems, pages 85-88, Seattle, Washington, October 1996. IEEE.

[47]   Patrick A. Tullmann, Jeff Turner, John D. McCorquodale, Jay Lepreau, Ajay Chitturi, and Godmar Back. Formal methods: A practical tool for OS implementors. In Proceedings of the Sixth Workshop on Hot Topics in Operating Systems, pages 20-25, Cape Cod, Massachusetts, May 1997.

[48]   Volano. Volano and JavaWorld release first java virtual machine server-side scalability report, July 1998. Available electronically at http://www.volano.com/vn072098.html.

[49]   Dan S. Wallach, Dirk Balfanz, Drew Dean, and Edward W. Felten. Extensible security architectures for Java. In Proceedings of the Sixteenth ACM Symposium on Operating Systems Principles, pages 116-128, October 1997.

[50]   Robert Welland, Greg Seitz, Lieh-Wuu Wang, Landon Dyer, Tim Harrington, and Daniel Culbert. The Newton operating system. In Proceedings of the 1994 IEEE Computer Conference, San Francisco, California, 1994. IEEE.

[51]   Tim J. Wilkinson. Kaffe--a virtual machine to compile and interpret Java bytecodes. Available electronically at http://www.transvirtual.com/kaffe.html and http://www.kaffe.org/.

[52]   Nicklaus Wirth. The programming language Oberon. Software-- Practice and Experience, 18(7):671-690, 1988.

[53]   Niklaus Wirth and Jürg Gutknecht. Project Oberon: The Design of an Operating System and Compiler. Addison-Wesley Publishing Company, 1992.

[54]   ZDNet. Your guide to Java for 1998, 1998. Available electronically at http://www.zdnet.com/pcmag/features/java98/index.html.