The Nested Process Model In Java

  • Publications
  • Documentation
  • Software
  • People
  • Other Flux Projects
  • The Alta Virtual Machine is our Java-compatible Virtual Machine designed to provide nested process services to Java applications.

    Alta Publications:

    Patrick Tullmann's master's thesis: The Alta Operating System. December 1999. Alta implements the Fluke operating system's nested process model within a Java virtual machine.

    A short paper which appeared at the European SIGOPS'98 Workshop outlines Alta and its applicability to mobile code.

    A recent tech report covers a number of issues when designing a Java OS.

    Our paper Microkernels Meet Recursive Virtual Machines provides a good background on the nested process model which we "imported" into Java.

    Alta Documentation:

    Alta is composed of the following parts:
    * The Alta Virtual Machine

    Based on Kaffe, the VM has been enhanced to support nested processes.

    * Core NPM Interfaces

    The basic objects to support nested processes. This is preliminary, automagically generated API documentation (generated by Polardoc). The API won't be very useful if you don't already understand the nested process model, described in our OSDI'96 paper Microkernels Meet Recursive Virtual Machines.

    There are two versions of the API document, the "public" version which lists only the public interfaces visible from an application, and the "internal" version which documents all the private, internal interfaces.

    Public API Documentation
    Internal API Documentation

    * Interposable IPC-based interfaces

    These are the interposable interfaces upon which processes ("nesters") can provide services for other processes. These are termed the "Common Protocols" in our OSDI'96 paper referenced above.
    Documentation forthcoming.

    * The Kore Libraries

    We use the Kore native libraries, with a modified native interface to support nested process semantics.
    Documentation forthcoming.

    Alta Software:

    None of our software is currently available. The entire package (the Virtual Machine and all the libraries) will be made available "when it's ready."

    Alta People:

    Patrick Tullmann, <>, leads the Alta project, with help from others members of the Flux Project.

    Other Flux Projects:

    * The OSKit
    The OSKit is a framework and set of modularized library code together with extensive documentation. Its goal is to make it easier for OS developers to create a new OS; to run user code directly on the hardware, including programming language runtimes; to port an existing OS to a platform supported by the OS kit; or to enhance an OS to support a wider range of devices, file system formats, or executable formats.
    * Fluke and Flask
    The Fluke microkernel and OS support the Fluke API. Fluke was designed to provide hierarchical resource control to user-mode processes. Flask is a security-enhanced version of the Fluke kernel and OS, being developed cooperatively by the Utah Flux team and the US Department of Defense.
    * Flick
    The Flick IDL Compiler. Flick is a highly optimizing and flexible IDL compiler that supports multiple IDLs, language presentations, encodings, and transports.

    Back to the Flux Project Java page.
    Back to the Flux Project home page.

    Jay Lepreau
    Dept. of Computer Science
    University of Utah

    Last modified: Tue May 14 13:52:57 MDT 2002