by Niall Mckay

Java drills further into embedded OS arena

news
Oct 1, 19973 mins

Sun signs licensing agreements with RTOS vendors for PersonalJava and EmbeddedJava

September 30, 1997 โ€” Java is making progress as an embedded or real-time operating system, this week, as vendors announced products ranging from software co-processors to small footprint operating systems at the Embedded Systems West trade show, in San Jose, CA.

Meanwhile, Sunโ€™s JavaSoft division published its PersonalJava (P-Java) specification and a style guide for building embedded systems. Sun describes P-Java as a subset of Java, designed for specific-need small devices with sophisticated displays. Other Java subsets include the JavaCard spec (for smart cards) and Embedded Java (E-Java โ€” for devices with character or no displays). As a subset, Sun emphasizes that the JDK can be used to create applications for each set.

The company also signed licensing agreements with real-time OS (RTOS) vendors such as Acorn, Chorus, GeoWorks, Lucent, Microtec, Microware, QNX, and WindRiver. Through the deals, the vendors will integrate PersonalJava and EmbeddedJava into their OSes, allowing them to run Java applications.

The RTOS companies create the operating software for small NC devices such as pagers, Web and cellular phones, and set-top boxes. Each vendor gets a license to resell P-Java and E-Java binary code with their platforms to the customers who manufacture the hardware side of the devices. Sunโ€™s small-device RTOS partners are responsible for more than half of the commercial RTOS market, said Sunโ€™s Tim Byers at a recent teleconference.

However, one analyst is not convinced that Java is the ideal solution for embedded systems.

โ€œThere is a real problem with implementing Java in embedded devices,โ€ said James McAteer, a senior research analyst at SRI Consulting, in Palo Alto, CA. โ€œJava is not mature enough yet, and itโ€™s going to take a few years before there are real benefits of using Java in devices such as microwaves and toasters.โ€

Javaโ€™s shortcomings include its inability to provide real-time compilation and carry out memory allocation, according to McAteer.

โ€œA washing machine canโ€™t crash; a microwave canโ€™t crash,โ€ said McAteer. โ€œSo embedded Java has to be absolutely stable before it can be used in consumer goods.โ€

Addressing some of these issues is NewMonics, a company that has developed picoPerc, a small footprint, real-time Java operating system.

PicoPerc is a clean-room Java operating system (not licensed from Sun) and requires only 64KB of RAM or ROM to run, compared to Sunโ€™s Embedded Java that requires about a 512KB footprint.

The product uses NewMonicsโ€™ ROMizer, a real-time compiler designed to give the operating system the same speed as a C++, according to Kelvin Neilsen, president at NewMonics, in Ames, Iowa.

PicoPerc also saves memory by excluding unnecessary functionality and by using explicit memory management rather than garbage collection (a technique used in Java and other programming languages, such as SmallTalk, to automatically remove unwanted objects).

Meanwhile, NSI Com has launched its software co-processor called the Java Software Co-Processor (JSCP). The product is designed specifically to bridge the gap between the Embedded JavaOS and embedded devices.

JSCP behaves as an additional operating system on the CPU and carries out tasks such as multi-threading, program scheduling, and communications management. It is designed to implement the EmbeddedJavaOS on embedded devices such as data communications devices, personal digital assistants, and telecommunication devices.