All Categories :
Java
Chapter 47
The Scoop on JavaOS, Java Microprocessors,and JAR Files
by Michael Morrison
CONTENTS
This chapter picks up where the previous chapter left off by peering
into the crystal ball and taking a look at some of the emerging
new Java technologies. More specifically, this chapter discusses
JavaOS, Java microprocessors, and the new JAR file format. JavaOS
is a new compact operating system based on and fully supporting
the Java platform. Java microprocessors are full-blown
microprocessors geared toward supporting the Java virtual machine.
JAR files are compact archive files designed to package
complete Java applets for more efficient storage and transfer.
The Java technologies you learn about in this chapter are still
in their early stages as of this writing, which means that I can
give you only a preliminary look at what they have to offer. Nevertheless,
you should be able to take from this chapter a better understanding
of where Java is headed and what it might mean to your own development
efforts.
Even though Java has been touted largely as a neat new programming
language, it is, in fact, much more than that. Java is also a
very powerful and compact runtime system that in many ways mimics
the facilities provided by a full-blown operating system. Knowing
this, it wasn't a complete surprise to some that JavaSoft decided
to build a complete operating system around the Java technology.
This new operating system is called JavaOS and is described by
JavaSoft as "a highly compact operating system designed to
run Java applications directly on micro-processors in anything
from net computers to pagers."
The status of the JavaOS project is still largely under wraps
as of this writing, but there is enough information out to at
least give you an idea of where JavaSoft is headed with it. First
and foremost, JavaOS is no doubt planned to ride the wave created
by Java and its insanely rapid success. However, don't let that
statement mislead you into thinking that JavaOS is any less legitimate
than the technology on which it is built. The idea of building
a complete operating system on top of the existing Java technology
makes perfect sense. If JavaSoft puts as much thought into JavaOS
as it did into Java, JavaOS will no doubt be a very interesting
and useful operating system-to say the least.
The applications of a compact, efficient operating system that
can natively run Java programs are far and wide. In fact, JavaSoft
has already made mention of a variety of devices to which the
JavaOS technology could be easily applied. These devices include
everything from networked computers to cellular telephones; basically
any device that could benefit from a compact operating system
and support for a powerful programming language like Java.
Overhead
JavaOS has been described by JavaSoft as just enough of an operating
system to run the Java virtual machine. With this minimal design
goal, it only stands to reason that JavaSoft is largely targeting
consumer electronic devices with the JavaOS technology. As part
of this approach, JavaOS is specifically designed to be fully
ROMable, meaning that it will work well in the embedded systems
common to electronic devices. A ROMable software technology
is one that can be implemented in Read-Only Memory (ROM). ROM
is commonly used in electronic devices to store executable system
code because there is typically no other storage means beyond
Random Access Memory (RAM), which is temporary.
JavaSoft has made mention of JavaOS being able to run with as
little as 512K of ROM and 256K of RAM in an embedded environment.
Likewise, an entire JavaOS system running on a networked computer
requires only 3M of ROM and 4M of RAM. These last figures include
space for JavaOS, the HotJava Web browser, and a cache for downloading
Web content and applets. JavaOS's minimal requirements set the
stage for some unique products such as compact personal digital
assistants (PDAs) with complete Internet support.
Industry Support
Because of the success of Java, JavaOS is able to enjoy industry
support before its availability in even a preliminary form. An
impressive group of technology companies have already announced
plans to license JavaOS. Likewise, an equally important group
of software tools companies have announced plans to provide development
tools for JavaOS. These two areas of support provide the one-two
punch necessary for JavaOS to be a success.
JavaSoft is already working with the software tools companies
to define a set of APIs for developing applications for JavaOS.
Major players on the Java development scene have already announced
intentions to enhance their development environments to support
JavaOS embedded systems development. This is a pretty major step
in the embedded programming world, where many development tools
are still fairly primitive compared to the visual tools used by
computer applications developers.
Note |
On a similar front, both the Solaris and Windows platforms are slated to include full support for Java at the operating system level. However, this support will be aimed more at supporting the Java runtime system than serving as an implementation of JavaOS.
|
As if Sun isn't branching out enough with JavaOS, they recently
surprised the microprocessor world by announcing the development
of a line of microprocessors optimized for Java. Microprocessors
aren't new to Sun, whose Sun Microelectronics division is responsible
for the popular SPARC line of microprocessors. However, the idea
of Sun Microelectronics developing microprocessors specifically
to support Java no doubt caught a lot of people off guard, including
other microprocessor companies!
Note |
Just so you don't get confused, both JavaSoft and Sun Microelectronics are divisions of Sun Microsystems. Whenever I refer to Sun, I'm referring to the company as a whole.
|
Java microprocessors are quite obviously yet another move on Sun's
part to capitalize on the success of Java. However, like JavaOS,
Sun legitimately has an interesting and potentially lucrative
angle in developing Java microprocessors. Also like JavaOS, the
primary target application for Java microprocessors is embedded
systems. Speed is a very critical factor in embedded systems,
primarily because of the limited horsepower available in such
small systems. Java microprocessors have the potential to significantly
increase performance because they are being designed around the
highly efficient Java technology. Contrast this with other embedded
microprocessors that typically have a more generic design.
Sun is pushing Java microprocessors based on a new microprocessor
product paradigm: simple, secure, and small. Add to this Sun's
promise of delivering Java microprocessors at a fraction of the
cost of traditional microprocessors. Sun is clearly appealing
to the consumer electronics market, where a compact, low-cost
microprocessor would probably rock a lot of boats. Sun has also
announced the development of a full range of component-level and
board-level products to support the microprocessors.
Although the prospect of a Java microprocessor may seem strange
at first, it's not hard to see Sun's motivation. By 1999, the
average American home is expected to contain between 50 and 100
microcontrollers. Worldwide, there are also expected to be more
than 145 million cellular phone users, with each phone containing
at least one microcontroller. And each microcontroller contains
at least one microprocessor. Are you starting to get the picture?
Note |
A microcontroller is a miniature computer system, usually implemented on a single circuit board, scaled down to support a limited function such as those required by consumer electronic devices.
|
The Java processor family is slated to consist of three lines
of microprocessors:
- picoJAVA
- microJAVA
- UltraJAVA
The next few sections describe these different processor lines
and the application for which each is targeted.
picoJAVA
The specification for a minimal Java microprocessor is called
picoJAVA and serves as the basic design on which all the microprocessors
are based. picoJAVA isn't a physical processor that Sun intends
to manufacture and sell; rather, it is the core specification
on which all Java microprocessors will be designed and built.
The picoJAVA specification will be made readily available for
licensing to other chip manufacturers who want to develop their
own Java microprocessors. The picoJAVA specification is geared
toward a microprocessor with the best price/performance ratio
that fully supports the Java virtual machine.
microJAVA
The first physical microprocessor in the works at Sun is microJAVA,
which builds application-specific I/O, memory, communications
and control functions onto the picoJAVA core. microJAVA processors
are expected to cost anywhere from $25 to $100, which makes them
good candidates for a wide range of electronic devices such as
telecommunications equipment and other nonnetwork applications
such as printers and video games.
UltraJAVA
Sun's high-end Java microprocessor offering is called UltraJAVA.
It is designed to encompass the very fastest Java processors available.
The UltraJAVA processor line includes support
for advanced graphics by virtue of Sun's Visual Instruction Set
(VIS), which defines high-
performance hardware graphics extensions. Not surprisingly, the
UltraJAVA line of processors is primarily targeting high-end 3D
graphics and multimedia applications. With a projected cost starting
at $100, the UltraJAVA processor line may still be a bargain.
Another interesting Java technology in the works at Sun is the
JAR file format, which is an archive file format aimed at grouping
all the files that comprise an applet and its resources. By combining
all an applet's resources into one compact file, both local storage
and transfer overhead time are reduced. This is a technology that
will have huge implications as Java applets gain acceptance and
become more widespread because the task of managing a bunch of
files over an Internet connection is something that would be nice
to avoid.
The JAR file format is being designed to meet the following criteria:
- Compact
- Platform independent
- Support for Unicode
- Extensible
By being compact, JAR files can better meet their goal of minimizing
the storage space and transfer times associated with Java applets
and their resources. Part of the compactness of JAR files is attributable
to their support for compression, which can greatly reduce the
size of applet resources. Platform independence is a crucial requirement
because Java applets are expected to run on a wide range of systems.
Unicode support is important so that there is consistency regarding
textual information stored in JAR file headers. Finally, the JAR
file format must be extensible so that new features such as code
signing can be easily incorporated. For more information on the
JAR file format, check out JavaSoft's JAR File Format Specification
Web site at http://www.javasoft.com/security/codesign/jar-format.html.
Note |
The JAR file format is slated to be included in the upcoming 1.1 release of Java. Java 1.1 will not only include built-in support for JAR files, but also an API for working with and managing JAR files.
|
In this chapter, you broke away from the programming aspects of
Java and learned about some new technologies that are based on
the Java framework. Although these technologies may not directly
impact your Java development efforts in the immediate future,
they will no doubt play a significant role in Java reaching maturity
as a technology with widespread application.
You began the chapter by learning about JavaOS, which is a new
operating system based entirely on the Java virtual machine. You
followed this up with a look at the new Java microprocessors,
which aim to be the first physical Java implementation on silicon.
You finished up the chapter by learning about the JAR file format,
which provides a means to combine an applet and all its resources
into one compact file.
Hopefully, this chapter has sparked your interest in some of the
applications of Java beyond the traditional programming areas.
If you're still hungry for more applied Java, Chapter 48,
"Serving the Net with Jeeves," delves into a new Java
Internet server technology called Jeeves.
Contact
reference@developer.com with questions or comments.
Copyright 1998
EarthWeb Inc., All rights reserved.
PLEASE READ THE ACCEPTABLE USAGE STATEMENT.
Copyright 1998 Macmillan Computer Publishing. All rights reserved.