- RTSS
-
RTX
Sommaire
Présentation
RTX est une solution logicielle développée par VenturCom depuis 1997. Elle est depuis maintenue par Ardence, société rattachée au groupe Citrix. Actuellement en version 8.1, le logiciel a suivi l'évolution de l'architecture NT depuis les débuts de NT 3.5
RTX est une addition pour Windows dédiée aux applications en temps-réel pour les systèmes embarqués. Elle apporte vitesse, réactivité et comportement déterministe.
Le fonctionnement en temps-réel est l'une des quatre conditions requises pour le bon fonctionnement d'un ordinateur industriel. Le principe est que la bonne exécution des programmes est plus importante que les résultats qu'on peut en tirer.
RTX est notamment utilisé dans les domaines de l'automatisme, la robotique, l'aéronautique, la mesure de précision, la médecine, les jeux-vidéo.
Fonctionnement
RTX fonctionne en mode noyau (Ring-0), mais en parallèle du noyau NT. De cette manière, RTX n'est pas une encapsulation de Windows, ni un produit dérivé, ni une modification à appliquer. Il n'interfère pas avec le système de base. C'est comme si le système embarqué avait deux centres de décision bien distincts, l'un étant appelé par les API standard de Microsoft, l'autre par des fonctions spécialement conçues (préfixe "Rt"). La différence étant simplement le comportement déterministe apporté par RTX. Un noyau peut planter sans accompagner l'autre.
Ces dispositions forment un RTSS : RealTime Sub-System.
RTX apporte un contrôle précis des IRQ, des entrées et des sorties matérielles (Input/Output) et de la mémoire. Il assure que les tâche soient exécutées avec une priorité certaine et sans retard.
L'architecture RTX est basée sur les API Win32. Les applications temps-réel peuvent être lancée au niveau Ring-3 (mode utilisateur) comme une application normale, moyennement l'appel aux API de RTSS. Ou alors, elles peuvent être compilées pour ne fonctionner que sous RTSS en mode noyau (Ring-0). Cette dernière solution est prioritaire sur le noyau NT, et est incompatible.
Détails techniques
- Support jusqu'à 997 processus indépendants, chacun pouvant lancer une infinité de threads
- 127 niveaux de priorité
- Communication interprocess (IPC) avec des applications Win32 : évènement, mutex, mémoire partagée...
- 3 horloges de synchronisation de résolution différente pour une précision de 1 picoseconde (10^-12)
- 4 timers de 100, 200, 500 et 1000 microsecondes (10^-6)
- Gestion des protocoles réseau : IPv4, IPv6, TCP, UDP
- Gestion de l'USB : 1.1 et 2.0
Développement
RTX dispose d'outils de développement qui s'intègrent dans d'autres produits commerciaux, comme Microsoft Visual Studio par exemple. La dualité du fonctionnement de RTX permet de déboguer indépendamment de l'anneau de fonctionnement, sans apport de modifications particulières sur les applications.
Des outils d'analyse de la mémoire sont également disponible pour les développements.
Liens externes
- Fiche technique du produit sur le site de Ardence
- Descriptif de Microsoft concernant XP et XP Embedded sur MSDN
- Portail de l’informatique
Catégorie : Développement logiciel
Wikimedia Foundation. 2010.