USENIX 2002 Annual Conference - Technical Program Abstract
The JX Operating System
Michael Golm, Meik Felser, Christian Wawersich, Jürgen Kleinöder,
University of Erlangen-Nürnberg
This paper describes the architecture and performance
of the JX operating system. JX is both an operating system
completely written in Java and a runtime system for Java
Our work demonstrates that it is possible to build a complete
operating system in Java, achieve a good performance,
and still benefit from the modern software-technology
of this object-oriented, type-safe language. We explain
how an operating system can be structured that is no longer
build on MMU protection but on type safety.
JX is based on a small microkernel which is responsible
for system initialization, CPU context switching, and low-level
protection-domain management. The Java code is
organized in components, which are loaded into domains,
verified, and translated to native code. Domains can be
completely isolated from each other.
The JX architecture allows a wide range of system configurations,
from fast and monolithic to very flexible, but
We compare the performance of JX with Linux by using
two non-trivial operating system components: a file system
and an NFS server. Furthermore we discuss the performance
impact of several alternative system configurations.
In a monolithic configuration JX achieves between about
40% and 100% Linux performance in the file system bench-mark
and about 80% in the NFS benchmark.
- View the full text of this paper in
The Proceedings are published as a collective work, © 2002 by the USENIX Association. All Rights Reserved. Rights
to individual papers remain with the author or the author's employer.
Permission is granted for the noncommercial reproduction of the complete
work for educational or research purposes. USENIX acknowledges all
trademarks within this paper.
- If you need the latest Adobe Acrobat Reader, you can download it from Adobe's site.
- To become a USENIX Member, please see our Membership Information.