Processes in KaffeOS: Isolation, Resource Management, and Sharing in Java

Abstract

Single-language runtime systems, in the form of Java virtual machines, are widely deployed platforms for executing untrusted mobile code. These runtimes provide some of the features that operating systems provide: inter-application memory protection and basic system services. They do not, however, provide the ability to isolate applications from each other, or limit their resource consumption. This paper describes KaffeOS, a system that provides these features for a Java runtime. The KaffeOS architecture takes many lessons from operating system design, such as the use of a user/kernel boundary. The KaffeOS architecture supports the OS abstraction of a process in a Java virtual machine. Each process executes as if it were run in its own virtual machine, including separate garbage collection of its own heap. The difficulty in designing KaffeOS lay in balancing the goals of isolation and resource management against the goal of allowing direct sharing. Overall, KaffeOS is up to 11% slower than the freely available JVM on which it is based, which is an acceptable penalty for the safety that it provides. KaffeOS is substantially slower than commercial JVMs, but exhibits much better performance scaling in the presence of uncooperative code.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Apr 01, 2000
Accession Number
ADA440101

Entities

People

  • Godmar Back
  • Jay Lepreau
  • Wilson C. Hsieh

Organizations

  • University of Utah

Tags

Communities of Interest

  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Accounting
  • Accumulators
  • Air Force Research Laboratories
  • Compilers
  • Computer Programming
  • Computer Science
  • Computers
  • Containers
  • Denial Of Service Attack
  • Environment
  • Information Operations
  • Language
  • Measurement
  • Operating Systems
  • Resource Management
  • Standards
  • Virtual Machines

Fields of Study

  • Computer science

Readers

  • Database Systems and Applications
  • Parallel and Distributed Computing.