Java en temps réel - Real time Java

Java en temps réel est un terme fourre-tout pour une combinaison de technologies qui permet aux programmeurs d'écrire des programmes qui répondent aux exigences des systèmes en temps réel dans le langage de programmation Java .

La gestion sophistiquée de la mémoire de Java, la prise en charge native du threading et de la concurrence, la sécurité des types et la simplicité relative ont créé une demande pour son utilisation dans de nombreux domaines. Ses capacités ont été améliorées pour prendre en charge les besoins de calcul en temps réel:

La proposition initiale d'une norme ouverte pour Java en temps réel a été présentée par Kelvin Nilsen, alors membre du corps professoral de recherche à l'Iowa State University. Un article de synthèse de suivi a été publié dans le CACM . La réponse extrêmement positive à ces premières propositions a donné lieu à une série de réunions organisées par l'Institut national des normes et de la technologie dans le but d'établir une norme ouverte pour Java en temps réel. Le NIST a finalement été informé qu'il n'était pas l'organe approprié pour établir des normes liées au langage Java, car Java était une marque déposée et que les technologies appartenaient à Sun Microsystems. Par conséquent, le NIST a terminé ses efforts avec la publication d' exigences consensuelles qui pourraient être prises en compte par les futurs efforts de normalisation devant être hébergés par Sun Microsystems.

Lorsque la communauté Java a été formée, le tout premier effort a été la spécification pour Java en temps réel, JSR001. Un certain nombre d'implémentations de la spécification en temps réel pour Java ( RTSJ ) résultante ont vu le jour, y compris une implémentation de référence de Timesys , WebSphere Real Time d' IBM , Java SE Real-Time Systems de Sun Microsystems , PTC Perc de PTC, Inc . , ou JamaicaVM des aicas .

Le RTSJ a résolu les problèmes critiques en imposant une spécification minimale pour le modèle de thread (et en permettant à d'autres modèles d'être connectés à la machine virtuelle) et en fournissant des zones de mémoire qui ne sont pas soumises au garbage collection, ainsi que des threads qui ne sont pas préemptifs par le ramasse-miettes. Ces zones sont plutôt gérées à l'aide de la gestion de la mémoire basée sur la région . La dernière spécification, 2.0, prend également en charge l'accès direct aux périphériques et le ramasse-miettes déterministe.

Spécification en temps réel pour Java

La spécification en temps réel pour Java (RTSJ) est un ensemble d' interfaces et d'améliorations comportementales qui permettent la programmation informatique en temps réel dans le langage de programmation Java . RTSJ 1.0 a été développé en tant que JSR 1 sous le Java Community Process , qui a approuvé la nouvelle norme en novembre 2001. RTSJ 2.0 est en cours de développement sous JSR 282. Une version préliminaire est disponible sur la page JSR 282 JCP . Plus d'informations peuvent être trouvées sur RTSJ 2.0

Voir également

Références

Liens externes