Beyond Address Spaces - Flexibility, Performance, Protection, and Resource Management in the Type-Safe JX Operating System

  • Author:

    Michael Golm, Jürgen Kleinöder, and Frank Bellosa

  • Source:

    Proceedings of the 8th Workshop on Hot Topics in Operating Systems (HotOS-VIII) , Elmau/Oberbayern, Germany, May 20-23, 2001

  • Date: 20.-23.05.2001
  • Abstract:

    Early type-safe operating systems were hampered by poor performance. Contrary to these experiences we show that an operating system that is founded on an object-oriented, type-safe intermediate code can compete with MMUbased microkernels concerning performance while widening the realm of possibilities.

    Moving from hardware-based protection to softwarebased protection offers new options for operating system quality, flexibility, and versatility that are superior to traditional process models based on MMU protection. However, using a type-safe language-such as Java-alone, is not sufficient to achieve an improvement. While other Java operating systems adopted a traditional process concept, JX implements fine-grained protection boundaries. The JX System architecture consists of a set of Java components executing on the JX core that is responsible for system initialization, CPU context switching and low-level domain management. The Java code is organized in components which are loaded into domains, verified, and translated to native code.

    JX runs on commodity PC hardware, supports network communication, a frame grabber device, and contains an Ext2-compatible file system. Without extensive optimization this file system already reaches a throughput of 50% of Linux.

    BibTex:

    @inproceedings{golm01addressspaces,
      author = {Michael Golm and J\"urgen Klein\"oder and Frank Bellosa},
      title = {Beyond Address Spaces - Flexibility, Performance, Protection, and Resource Management in the Type-Safe JX Operating System},
      booktitle = {Proceedings of the 8th Workshop on Hot Topics in Operating Systems (HotOS-VIII)},
      address = {Elmau/Oberbayern, Germany},
      month = may # "~20--23",
      year = 2001,
      url = {http://i30www.ira.uka.de/research/publications/}
    }