21. Java
21.4 JavaOS
JavaOS is a small and efficient operating environment developed by JavaSoft that allows Java applications to run directly on hardware platforms without requiring a host operating system. The goal of JavaOS is to enable the development of secure, high performance, and highly robust, intelligent, and dynamic network devices built on multiple hardware platforms in heterogeneous, distributed networks. JavaOS is currently targeted at systems such as intranet terminals for enterprise desktops, consumer Internet computers suitable for Web surfing, and embedded devices where hardware resources are even more restricted. For example, devices having only 1 - 2 MB of RAM and 1 - 2 MB of ROM, set-top boxes, PDA's and even electronic devices without any graphical display. One of the best ways of reducing a device's hardware requirements is to remove the overhead caused by requiring a host operating system.
The Java Platform can be provided in many environments by embedding the Java Virtual Machine and foundation classes within an application, like a Web browser, or embedding them within an operating system. Both of these methods rely on the support of a host operating system
Figure 1 illustrates the software architecture used when running Java programs on a conventional operating system. The most important line in this diagram is the line that defines the Java API. Above that line all Java programs and applets are platform independent. The API is the same on all platforms no matter what underlying operating system or hardware is.
Each of the major features provided in the Java Platform directly or indirectly places requirements on host operating system. One must perform the following tasks to match the Java run-time and classes to particular host operating system:
In order to meet the goal of providing Java Platform without a host operating system, one has to perform the following tasks:
Figure 2 shows a high-level view of the JavaOS architecture. As in Figure 1, the most important line in this diagram is the line that defines the Java API. Above that line all Java programs and applets are platform independent. The API is the same on all platforms no matter what underlying operating system or hardware is. The API supported by JavaOS is implemented by the exact same packages of classes written in the Java programming language.
With little performance tuning and minimal use of native methods, the first measurements and benchmarks indicate that performance is not only better than expected but also better than some more mature systems written in C or C++.
The TCP/IP throughput on Java OS is already double Sun's original goal and far more than adequate for Web browsing. Encouraging results have been observed by running Pendragon Software's CaffeineMark benchmark on several systems to compare their performance when executing Java applets.
These good results come from the removal of the many layers of software architecture that other operating systems have built up to make programming in languages like C safer and less platform-dependent.
A complete JavaOS needs a total of 4MB of ROM and 4MB of RAM. JavaOS can also be tailored to fit particular devices like set-top boxes, PDA's and even electronic devices without any graphical display. In these cases, those classes and code that are not needed, could be removed to relax the minimal memory requirements. For example, if there is no display, the AWT class, the window and graphics code could be removed. The minimal memory for JavaOS in its smallest possible configuration will be about 128K of RAM and 512K of ROM. This minimal memory requirement does not include additional memory that would be needed for applications.
The current JavaOS runs on two sets of platforms: platforms based on SPARC microprocessors and platforms based on microprocessors compatible with Intel's x86 instruction set.
The following advantages of using JavaOS are claimed in JavaSoft's white paper about JavaOS.
Copyright 1996 Guowei Huang, All Rights Reserved
Guowei Huang
<ghuang@csgrad.cs.vt.edu>
Last modified: Sun Nov 24 11:50:05 1996