Archives
 
 
 
  Special
 
 
 
  About Us
 
 
 

Newsletter
Free E-mail Newsletter from BYTE.com

 
    
           
Visit the home page Browse the four-year online archive Download platform-neutral CPU/FPU benchmarks Find information for advertisers, authors, vendors, subscribers Request free information on products written about or advertised in BYTE Submit a press release, or scan recent announcements Talk with BYTE's staff and readers about products and technologies

ArticlesA JVM for Embedded Real-Time Apps


January 1998 / Javatalk / More Java Persistence / A JVM for Embedded Real-Time Apps

In my July column, I discussed PERC from NewMonics. If you recall, PERC is an implementation of Java for real-time systems. Now Israel-based NSI Com (+972 3 533 1976; fax +972 3 533 2371; http://www.nsi.co.il ) has developed what it calls a "Java Software Coprocessor," called JSCP, for embedded real-time systems.

A quick run-through of JSCP's features set leaves you with the idea that you're looking at no more than a Java virtual machine (JVM) ported to a real-time system. True, JSCP has been ported to several real-time OSes (RTOSes), such as VxWorks from WindRiver, pSOS from ISI, LynxOS from Lynx, and Nucleaus from ATI, but other RTOSes (OS9, for example) already have JVMs available. What's so special about JSCP? And how does it differ from PERC?

First, JSCP is more than a JVM. The reason it's more has to do with its target environment: an embedded real-time system. While that's the same target that PERC is aimed at, PERC's approach is more rigorous. PERC provides hard real-time (i.e., deterministic) performance, and it does so at the expense of adding nonstandard syntax to the Java language (which is why it's called PERC, and not "Java-something"). JSCP does not provide hard real-time performance. Instead, it provides a well-isolated JVM that runs as its own process within the parent RTOS.

This isolation of the JVM to its own process has an unexpected benefit, which becomes apparent if you consider the alternative: a JVM that's integrated into the RTOS. Such a JVM might, for example, use the RTOS's thread support for managing Java threads. Consider, however, what it would mean to debug such a heterogeneous thing. You would be dealing with the application itself, the bytecode interpreter, and the JVM-to-RTOS interface. NSI maintains that implementing the JVM as its own process (with well-defined communications between RTOS tasks and JVM applications) makes for an easier-to-debug solution.

JSCP's other strength is its configurability. For example, you can set an external memory-limit parameter to set the memory-size limit that JSCP will use. JSCP regulates its memory consumption automatically. Similarly, you can set the maximum processor time slice given over to the JSCP. (Remember, JSCP is running as one of a number of tasks that share RTOS resources.) Constraining system resources -- memory and processor utilization -- is critical in a real-time system.


Up to the Javatalk section contentsGo to previous article: More Java PersistenceSearchSend a comment on this articleSubscribe to BYTE or BYTE on CD-ROM  
Flexible C++
Matthew Wilson
My approach to software engineering is far more pragmatic than it is theoretical--and no language better exemplifies this than C++.

more...

BYTE Digest

BYTE Digest editors every month analyze and evaluate the best articles from Information Week, EE Times, Dr. Dobb's Journal, Network Computing, Sys Admin, and dozens of other CMP publications—bringing you critical news and information about wireless communication, computer security, software development, embedded systems, and more!

Find out more

BYTE.com Store

BYTE CD-ROM
NOW, on one CD-ROM, you can instantly access more than 8 years of BYTE.
 
The Best of BYTE Volume 1: Programming Languages
The Best of BYTE
Volume 1: Programming Languages
In this issue of Best of BYTE, we bring together some of the leading programming language designers and implementors...

Copyright © 2005 CMP Media LLC, Privacy Policy, Your California Privacy rights, Terms of Service
Site comments: webmaster@byte.com
SDMG Web Sites: BYTE.com, C/C++ Users Journal, Dr. Dobb's Journal, MSDN Magazine, New Architect, SD Expo, SD Magazine, Sys Admin, The Perl Journal, UnixReview.com, Windows Developer Network