Sun Java Real-Time System

Real-Time Java for the Real World

All the power and benefits of the Java platform plus unprecedented control
» Download Java Real-Time System Now

>  Overview
 
»  FAQ
 
»  Mediacasts
 
»  Partners
 
»  Tech Docs/Code Examples
 
»  Reference
 

The Sun Java Real-Time System (Java RTS) is Sun's commercial implementation of the Real-Time Specification for Java (JSR-001). Implementations of the RTSJ make standard Java technology more deterministic and enable it to meet rigorous timing requirements for mission-critical real-time applications. Java RTS is available for evaluation licensing. For commercial licensing terms, or further information on Java RTS, please contact Java RTS Engineering and Marketing. Learn More

 

News & Community

Java Real-Time System 2.2 Released

September 2009

New! Download the latest Java RTS 2.2 release which supports 32- and 64-bit systems running on Solaris 10, SUSE Linux Enterprise Real-Time 10 (SP2), and Red Hat Enterprise MRG 1.1. Get the most from your real-time application using our Thread Scheduling Visualizer, DTrace probes, tuning & troubleshooting tools.

Real-Time Java Programming With Java RTS
Real-Time Java Programming With Java RTS

May 2009

This new book, which focuses on the Java RTS APIs, features working code examples and visual diagrams that make real-time concepts clear.

News Archive


Contents
 
What is Real-Time?
Java RTS Features and Benefits
Java RTS Minimum Recommended System Requirements
Obtaining Java RTS
 
What is Real-Time?

Many developers typically think that "real-time" means "really fast" as in moment-to-moment interaction with the system. While we work to keep Java RTS fast, real-time in the RTSJ context means "the ability to reliably and predictably respond to a real-world event". So "real-time" is more about timing than speed, per se. The ability to program a real-time solution means that developers need the appropriate support from the system in order to reason in a temporal fashion.

Said more formally:

  • Real-Time application development requires:
  • An API set and semantics which allow developers to correctly reason about and control the temporal behavior of applications.
  • RTSJ /Java RTS provides:
  • An API set, semantic Java VM enhancements, and JVM-to-OS layer modifications which allow Java developers to correctly reason about and control the temporal behavior of Java applications.
Java RTS Features and Benefits

Java RTS is not only the first commercial implementation of RTSJ, it's a very robust implementation. Here are the important features and benefits offered by the RTSJ and Sun's Java RTS implementation:

  • New Real-Time Threads, Scheduling, and Synchronization
  • The RTSJ introduces the concept of two new threads: real-time threads and no-heap real-time threads (a thread which cannot be interrupted by garbage collection). These threads offer more precise scheduling than with standard Java threads. They have 28 levels of priority and unlike standard Java, their priority is strictly enforced.

    Real-time threads are synchronized and are not subject to so-called priority inversion situations, where a lower priority thread has a block on a resource needed by a higher priority thread and thus prevents the higher priority thread from running. Rigorous testing with partners has shown that Java RTS completely avoids any priority inversions - which is crucial for mission-critical applications.

  • New Memory Management Schemes

    The RTSJ defines two new types of memory areas that allow real-time applications to avoid unpredictable delays commonly caused by traditional garbage collectors:

    1. Immortal memory holds objects without destroying them except when the program ends. This means that objects created in immortal memory must be carefully allocated and managed.
    2. Scoped memory is used only while a process works within a particular section, or scope, of the program such as in a method. Objects are automatically destroyed when the process leaves the scope. This is a useful feature akin to garbage collection in that discrete creation and deletion is not required as in the immortal memory case - but the process must be sure to exit the scope to ensure memory is reaped.

    Neither immortal nor scoped memories are garbage collected, so using them avoids problems of GC interference.

  • Asynchronous Event Handling & Asynchronous Transfer of Control
  • The RTSJ provides two mechanisms for asynchronous communication: asynchronous event handling, and asynchronous transfer of control.

    Asynchronous event handlers deal with external events (known as "happenings") which can occur outside the JVM. The RTSJ is unique in that it allows developers to schedule the response to asynchronous events in order to avoid disrupting the temporal integrity of the rest of the real-time application.

    Asynchronous Transfer of Control (ATC) provides a carefully controlled way for one thread to interrupt another thread in a safe manner.

  • Time & Timers
  • The RTSJ provides several ways to specify high-resolution (nanosecond accuracy) time including absolute time and relative time.

  • Direct Access to Physical Memory
  • While still maintaining security protections, the RTSJ allows direct access to physical memory. This means that device drivers can be created and written entirely in Java. Previously, Java applications had to link to native code to communicate directly with the hardware.

Java RTS Minimum Recommended System Requirements
Obtaining Java RTS

Java RTS is only available from Sun's OEM Sales team, which has knowledgeable sales staff worldwide. Please contact them at this address. You can also call Sales at +1-800-786-0404, Prompt 1, Prompt 3.

Real-Time Specification for Java
The Real-Time Specification for Java was developed and delivered under JSR-001 and updated under JSR-282.

Java RTS Evaluation Program
Developers interested in exploring and gaining experience with the rich set of advanced real-time features included in Java RTS (on top of all the J2SE 5.0 features), can do so through Sun's Java RTS Evaluation Program, which grants download access to a free-of-charge 90-day evaluation version of the technology, subject to a (click-through) binary licensing agreement. Start your evaluation today.

Get Control
Java RTS enables developers to gain unprecedented control over Java execution in order to solve mission-critical problems in areas such as financial trading/pricing, telecommunications infrastructure, and industrial automation. Java RTS includes an innovative real-time garbage collector and supports Java SE 5u20, Solaris Sparc, x86, and several real-time Linux implementations. Java RTS is available under a compelling business model which scales according to your needs. Contact your Sun representative for more information.

If you have further questions about Sun's Java RTS product, the RTSJ, or anything about Java and real-time, please contact engineering and marketing.

 
Tell us what you think
Please take this short survey and let us know which features or enhancements you'd like to see included in future versions of Java RTS.
Real-Time Training
Java developers: Do you need better control of your Java applications? Learn the essential skills necessary to develop Real-Time systems using Java technology. 
 
Register online or call 1-800-422-8020.