java real time_Java Real-Time System

JSR-001 is the specification of java real-time system. Currently, there are two implementation of JSR-001. One is Sun Java Real-Time System which is the first one, another is IBM WebSphere Real Time(V1.0).

Let us give a glance at their announcements:

Sun(more):

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: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.

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 written entirely in Java. Previously, Java applications had to link to native code to communicate directly with the hardware.

IBM(more):

WebSphere Real Time V1.0 is a Java Runtime Environment (JRE) with Software Development Kit (SDK) that delivers the following capabilities: Real-time garbage collection:Greatly simplifies real-time application development using standard Java programming

Real-time Specification for Java:IBM provides a conformant RTSJ Class Library

Ahead-of-Time Compilation:Precompiles to achieve significantly better performance than interpreted compilation

Java Executable support:Improves performance with dynamic class loading

Java RTS enables developers of real-time applications to take a full advantage of Java while maintaining  the predictability of current real-time development platforms, such as QNX, and other, custom, embeded systems. With Java RTS, real-time components and non-real-time components can coexist and share data on a single system. Java RTS features are delivered via a separate real-time enable version of the Java VM. This VM can process both traditional Java SE components and Java RTS components, giving developers heretofore unforeseen flexibility.

If you have interesting in developing RTS application, please read this article.

You must have a attention that, Sun RTS only on Solaris, but IBM RTS can run on Linux.

google Tags:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值