Utah Flux Java Projects
Utah's Flux Research Group
is using Java in several research projects,
exploring the intersection of type-safe languages and traditional
operating systems. We currently have four related projects
targeting systems research in Java.
Alta: The Nested Process Model in Java
Our microkernel-based research operating system,
was designed to provide strong, hierarchical resource
management through a process model we've designed, the
"nested process model." Our goal with
provide a similar OS and process model for Java, using type-safety
instead of the MMU to provide protection.
We are using Kaffe as the
basis for our Alta, along with the Kore class library.
We aim to maintain backwards compatibility with "legacy" Java.
Kaffe on the
We are using Kaffe and our OSKit to develop a stand-alone Java system that
uses the OSKit framework and its components (the FreeBSD protocol stack, device
drivers, etc.) to enable systems-level programming in Java.
Look at our OSKit
and Kaffe downloads for using the
recently-released OSKit with Transvirtual's Kaffe.
Janos - a Java OS for Active Networks
All of these projects are coming together, along with additional
research, to build a new operating system we call Janos.
Janos is an OSKit-based operating system containing a
special Java virtual machine and Java run-time, for
executing Java byte code. Janos puts particular emphasis on
local-node resource control and security. Although Janos
is relevant to any environment running
less-than-fully-trusted Java byte code, our focus is on the
needs of an active network node.
For a Janos project overview, see
the new base Janos page, a
short summary and
Software and Documentation
We use MIT's
Active Node Transfer System (ANTS)
system as a component. To support resource management, we have
made substantial, but still only a first round, of
changes to ANTS 1.2.
This version is still entirely user-mode based. We expect to release frequent
updates for this version and would appreciate
download our June 1st release
(315K gzip'ed tar file); our changes and their rationale
are described in a document in
formats. The API is documented in
Kore infrastructure work
Kore is a freely available, clean-room re-implementation of
the Java core classes (the
java.* packages). We
have provided the necessary infrastructure to Kaffe so that it
can use the Kore libraries. This lets us experiment with
changes to the Virtual Machine and the basic set of classes
that it uses.
We maintain a web page with
news about Kore and patches for Kaffe.
Other Flux Projects:
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
Fluke and Flask
- The Fluke microkernel and OS support the Fluke API.
Fluke was designed to provide hierarchical
resource control to user-mode processes.
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.
- 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 home page.
Last modified: May 10 1999
Dept. of Computer Science
University of Utah