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 any further questions on Java RTS, please contact Java RTS Engineering and Marketing. Learn More

 

News & Community

Reuters Selects Sun Java Real-Time System Software

February 2008

Java RTS has been chosen to develop and deploy market-facing services for Reuters' sales and trading division.

New! Java RTS 2.0 update 1 now available for download.

November 2007

This update release provides support for Solaris 10 u4 and J2SE 5.0 u13 libraries as well as various security enhancements.

On the road with Java RTS

October 2007

Perrone Robotics, Team Jefferson, and the 2007 DARPA Urban Challenge. See how Java RTS played a major roll.


Tell us what you think

Java RTS-based Application Server

An application server built on top of the Sun Java Real-Time System means that you can manage resources reliably across increasing system loads. Contact us to learn more.


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 JVM 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 Events 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 specifies 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 supports an innovative real-time garbage collector, Java SE 5u4, and support for x86. 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.

 
Java SE Site Map
 
JavaOne
May 6-9, 2008
The Moscone Center
San Francisco, CA
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. 
 
    Upcoming classes:
  • Nov 17-21 Burlington, MA
Register online or call 1-800-422-8020.
 
 
Related Resources