Java de Temps Real

Java de Temps Real, en sigles RTSJ, és un comú denominador d'una combinació de tecnologies per permetre escriure programes que compleixin els requeriments dels Sistemes de Temps Real en el llenguatge de programació Java.

La plataforma Java habitual, mostra una sèrie de mancances que la fan inadequada per al temps real:

  • Java NO suporta un sistema de fils d'execució basat en prioritats. Intencions inicials de dotar-se d'un tal suport varen ésser abandonades degut a requeriments de lligams específics amb les plataformes subjacents, en el cas de Windows i de Solaris.
  • A causa del fet que els fils de Java no admeten prioritats, els mecanismes de bloqueig de Java no ofereixen el degut suport al tractament del problema de la inversió de prioritat.
  • El comportament del recol·lector de memòria brossa introdueix pauses no acotades que malbaraten qualsevol intent de respondre a un senyal dins el termini requerit.

Per superar aquestes dificultats, la Comunitat Java va introduir una especificació de Java de Temps Real anomenada "Real-Time Specification for Java" com a requeriment JSR001.[1]

Aquesta especificació ha donat lloc a un cert nombre d'implementacions, incloent la implementació de referència de TimeSys,[2] "WebSphere Real Time" d'IBM, "Java SE Real-Time Systems" de Sun, i PERC de Aonix.

La RTSJ adreça els temes crítics obligant una especificació mínima per al model de fils d'execució (threads) i altres models endollables a la Màquina Virtual Java i proporcionant, a més a més, àrees de memòria no subjectes al recol·lector de brossa a més de fils d'execució als quals el recol·lector de brossa no pugui arrabassar la CPU.


Developed by StudentB