Check out the new USENIX Web site. next up previous
Next: 9 Interrupt service routines Up: JaRTS: A Portable Implementation Previous: 7 JaRTS: basic concept

8 JaRTS implementation

To get quick results the JaRTS compiler is based on in Open Source Java to C translator called bock, written by Charles Briscoe-Smith [6]. This translator did not support threads and therefore no synchronization. This was added to implement CoreTask, ISRTask and SporadicTask of the RTCE specification. Since we needed a periodic task--which is a task executing periodically after a specified time--we added an additional class PeriodicTask.

The Core library was implemented straightforward, mapping mutexes, interrupt handlers etc. directly to the functions provided by the underlying system. Native C code used in the libraries is weaved directly into the output of the compiler. So there is no additional runtime overhead for invoking native methods.

In the following section handling of the interrupt service routines, the communication between real-time and non-real-time parts as well as the memory management strategy is described.

Urs Gleim 2002-05-29