Skip to main content
Back to USENIX
  • Conferences
  • Students
Sign in

USENIX Conference Policies

  • Event Code of Conduct
  • Conference Network Policy
  • Statement on Environmental Responsibility Policy

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

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 Java runtime system that provides these features. The KaffeOS architecture takes many lessons from operating system design, such as the use of a user/kernel boundary, and employs garbage collection techniques, such as write barriers. 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 of objects. Overall, KaffeOS is no more than 11% slower than the freely available JVM on which it is based, which is an acceptable penalty for the safety that it provides. Because of its implementation base, KaffeOS is substantially slower than commercial JVMs for trusted code, but it clearly outperforms those JVMs in the presence of denial-of-service attacks or misbehaving code.

Godmar Back, University of Utah

Wilson H. Hsieh, University of Utah

Jay Lepreau, University of Utah

BibTeX
@inproceedings {271128,
author = {Godmar Back and Wilson H. Hsieh and Jay Lepreau},
title = {Processes in {KaffeOS}: Isolation, Resource Management, and Sharing in Java},
booktitle = {Fourth Symposium on Operating Systems Design and Implementation (OSDI 2000)},
year = {2000},
address = {San Diego, CA },
url = {https://www.usenix.org/conference/osdi-2000/processes-kaffeos-isolation-resource-management-and-sharing-java},
publisher = {USENIX Association},
month = oct
}
Download

Links

Paper: 
http://www.usenix.org/events/osdi2000/full_papers/back/back.pdf
Paper (HTML): 
http://www.usenix.org/events/osdi2000/full_papers/back/back_html/index.html
  • Log in or register to post comments

© USENIX
EIN 13-3055038

  • Privacy Policy
  • Contact Us