Caractéristiques techniques de RTX64/RTX - IntervalZero RTOS Platform

Caractéristiques techniques de RTX64/RTX

RTX RTOS Platform Architecture Architecture de la plateforme temps-réelle RTX
RTX RTOS Platform Architecture Fiche Produit RTX64/RTX

Extension de la HAL (Couche d’abstraction matérielle)

RTX64/RTX s’appuie sur une extension de la HAL de Windows.
Celle-ci permet de démarrer et d’initialiser les processeurs dédiés à RTX64/RTX et fourni les timers haute résolution (jusqu’à 1 microseconde) au sous système RTX (real-time subsystem : RTSS).
Elle fourni également un mécanisme d’isolation des interruptions.

SMP

Tout comme Windows, RTX64 et RTX sont basés sur une architecture SMP (architecture multiprocesseur symétrique).
Selon son besoin, l’utilisateur choisi le nombre de processeurs qu’il veut dédier à RTX pour y exécuter ses applications temps-réelles (jusqu’à 63 processeurs dédiés à RTX64, et jusqu’à 31 processeurs dédiés à RTX).

L’utilisateur va ensuite répartir ses applications temps réelles entre les processeurs dédiés à RTX64/RTX en paramétrant les affinités processeur aux niveaux des threads et des interruptions.

Gestion des interruptions

RTX64/RTX supporte la gestion des interruptions matérielles par IRQ (line-based) ou par MSI/MSI-X (message signaled interrupt). Les latences d’IST (Interrupt Service Thread) sont inférieures à 10 microsecondes.

Gestion de la mémoire

Le pool de mémoire déterministe alloué à RTX64/RTX est pris dans la mémoire non-paginée du système.
Par exemple sur Windows 7 la mémoire non-paginée est:

  • 32-bit : 1Go à 2Go suivant la configuration
  • 64-bit : 75% de la RAM jusqu’à un maximum de 128Go
Ordonnancement

Un seul ordonnanceur adresse tous les processeurs temps- réels (architecture SMP). Pour assurer les changements de contextes critiques, l’ordonnanceur utilise des algorithmes préemptifs et à priorité fixe (128 niveaux de priorité) avec des mécanismes de promotion de priorité destinés à éviter le phénomène d’inversion de priorité.

Une transition vers un thread de plus haute priorité s’effectue en un temps inférieur à la microseconde.

Interaction avec Windows

Séparation d’avec Windows – les processus Windows ne peuvent pas perturber les applications temps-réelles et celles-ci ont la possibilité de continuer à s’exécuter si Windows rencontre un message STOP ou s’arrête.

Communication avec Windows – RTX64/RTX mets à disposition des mécanismes de communication inter-processus (IPC) entre les processus temps réels et les processus Windows (processus utilisateurs ou pilotes noyau Windows).
La synchronisation se fait via des events, des mutexes, et des sémaphores ; l’échange de données via une mémoire partagée ou une communication socket.

Développement d’applications RTX

Le développement d’application RTX64/RTX se fait depuis Microsoft Visual Studio en C/C++ avec des API dont la syntaxe est similaire à celle de Windows. Les exécutables sous RTX64/RTX sont des « .rtss » et les DLLs des « .rtdll ».

Communication réseau

La stack réseau temps-réelle RT-TCP/IP supporte TCP/UDP/IP pour IPv4 et IPv6 ; les pilotes RTX64/RTX pour les cartes réseau standard du marché sont fournis avec la stack. (La stack est incluse dans RTX et achetable séparément pour RTX64).