Beyond address spaces-flexibility, performance, protection, and resource management in the type-safe JX operating system

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 MMU-based microkernels concerning performance while widening the realm of possibilities. Moving from hardware-based protection to software-based 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.

[1]  Wilson C. Hsieh,et al.  Processes in KaffeOS: isolation, resource management, and sharing in java , 2000, OSDI.

[2]  John H. Hartman,et al.  Experiences building a communication-oriented JavaOS , 2000 .

[3]  Robin Fairbairns,et al.  The Design and Implementation of an Operating System to Support Distributed Multimedia Applications , 1996, IEEE J. Sel. Areas Commun..

[4]  李幼升,et al.  Ph , 1989 .

[5]  Wilson C. Hsieh,et al.  Techniques for the Design of Java Operating Systems , 2000, USENIX Annual Technical Conference, General Track.

[6]  Anne-Marie Kermarrec,et al.  An Efficient and Scalable Approach for Implementing Fault-Tolerant DSM Architectures , 2000, IEEE Trans. Computers.

[7]  K. Calvert,et al.  Architectural Framework for Active Networks Version 1 . 0 , 2022 .

[8]  David R. Cheriton,et al.  Low and High Risk Operating System Architectures (Panel Statement) , 1994, OSDI.

[9]  Emin Gün Sirer,et al.  Protection is a software issue , 1995, Proceedings 5th Workshop on Hot Topics in Operating Systems (HotOS-V).

[10]  Deyu Hu,et al.  Implementing Multiple Protection Domains in Java , 1998, USENIX Annual Technical Conference.

[11]  Vinny Cahill Flexibility in Object-Oriented Operating Systems : A Review , 1996 .

[12]  Thorsten von Eicken,et al.  A Case for Language-Based Protection , 1998 .

[13]  Trent Jaeger,et al.  The SawMill multiserver approach , 2000, EW 9.

[14]  Bruce R. Montague JN: An Operating System for an Embedded Java Network Computer , 1996 .

[15]  John H. Hartman,et al.  Experiences building a communication-oriented JavaOS , 2000, Softw. Pract. Exp..

[16]  Ian A. Pratt The User-Safe Device I/O Architecture , 1997 .

[17]  Sheng Liang,et al.  Dynamic class loading in the Java virtual machine , 1998, OOPSLA '98.