Système d'exploitation en temps réel (RTOS) : composants, types, exemples

⚡ Résumé intelligent

Le système d'exploitation temps réel (RTOS) sert les applications qui doivent traiter des données et répondre à des événements dans des délais stricts et prévisibles, en utilisant une planification basée sur les priorités et une commutation de tâches rapide et déterministe afin que les délais critiques ne soient jamais manqués.

  • ️ Définition: Un système d'exploitation temps réel (RTOS) traite les données entrantes dans des délais fixes, généralement sans délai de mise en mémoire tampon.
  • (I.e. Pourquoi l'utiliser : La planification basée sur les priorités sépare les tâches critiques et permet une conception modulaire et testable des tâches.
  • 🧩 Composants: Planificateur, multiprocesseur symétrique, bibliothèque de fonctions, gestion de la mémoire et latence de répartition rapide.
  • 🇧🇷 Types: Les systèmes temps réel rigides, fermes et souples diffèrent par la rigueur avec laquelle les délais sont appliqués.
  • ️ GPOS vs RTOS : Un système d'exploitation temps réel (RTOS) cible les dispositifs embarqués avec une latence d'interruption minimale et prévisible.
  • 🤖 Angle d'approche IA : L'apprentissage automatique s'exécute sur les périphériques RTOS, tandis que Copilot accélère le codage FreeRTOS.

Temps Réel OperaSystème de réglage (RTOS)

Qu'est-ce qu'un temps réel Operasystème de synchronisation (RTOS) ?

A système d'exploitation en temps réel (RTOS) est un le système d'exploitation Conçu pour les applications temps réel qui traitent les données dès leur arrivée, généralement sans délai de mise en mémoire tampon, RTOS signifie Real-Time Operating System (système d'exploitation temps réel).

Dans un système d'exploitation temps réel (RTOS), les exigences en temps de traitement sont calculées au dixième de seconde près. Il s'agit d'un système à contraintes temporelles fixes. Dans ce type de système, le traitement doit impérativement respecter ces contraintes, sous peine de défaillance.

Pourquoi utiliser un RTOS ?

Voici des raisons importantes d'utiliser un système d'exploitation temps réel (RTOS) :

  • Il propose une planification basée sur les priorités, qui vous permet de séparer le traitement analytique du traitement non critique.
  • Le système d'exploitation temps réel fournit des fonctions API qui permettent un code d'application plus propre et plus compact.
  • AbdostracLa réduction des dépendances temporelles et la conception basée sur les tâches entraînent moins d'interdépendances entre les modules.
  • Un système d'exploitation temps réel (RTOS) offre un développement modulaire basé sur les tâches, ce qui permet des tests modulaires basés sur les tâches.
  • L'API orientée tâches favorise le développement modulaire, car chaque tâche a généralement un rôle clairement défini. Elle permet aux concepteurs et aux équipes de travailler indépendamment sur leurs parties respectives du projet.
  • Un système d'exploitation temps réel (RTOS) est piloté par les événements, ne gaspillant ainsi aucun temps de traitement sur des événements qui ne se produisent pas.

Composants du RTOS

Composants du RTOS

Composants du temps réel Operating système

Voici les composants importants d'un RTOS :

Le planificateur : Ce composant d'un système d'exploitation temps réel (RTOS) détermine l'ordre d'exécution des tâches, généralement en fonction de leur priorité.

Multitraitement symétrique (SMP) : Il s'agit d'un certain nombre de tâches différentes pouvant être gérées par le système d'exploitation temps réel (RTOS) afin de permettre un traitement parallèle.

Bibliothèque de fonctions : Il s'agit d'un élément important d'un système d'exploitation temps réel (RTOS) qui sert d'interface entre le noyau et le code applicatif. L'application envoie ses requêtes au noyau via une bibliothèque de fonctions afin que celui-ci puisse produire les résultats souhaités.

Gestion de la mémoire: Cet élément est nécessaire au système pour allouer de la mémoire à chaque programme, et c'est l'élément le plus important du système d'exploitation temps réel (RTOS).

Latence d'expédition rapide : Il s'agit de l'intervalle entre la fin d'une tâche que le système d'exploitation peut identifier et le temps réel mis par le thread, qui se trouve dans la file d'attente des tâches prêtes, pour commencer le traitement.

Objets et classes de données définis par l'utilisateur : Un système d'exploitation temps réel (RTOS) utilise des langages de programmation comme le C ou C++, qui devraient être organisés en fonction de leur fonctionnement.

Types d'horloge temps réel

Il existe trois types de systèmes d'exploitation temps réel (RTOS) :

Temps réel dur

Dans un système d'exploitation temps réel (RTOS) strict, les délais sont gérés de manière très rigoureuse, ce qui signifie qu'une tâche donnée doit commencer à s'exécuter à l'heure prévue et être terminée dans le délai imparti.

Exemple : systèmes de soins intensifs médicaux, systèmes aéronautiques, etc.

Temps réel ferme

Ce type de système d'exploitation temps réel doit également respecter les délais. Toutefois, le non-respect d'un délai peut ne pas avoir d'impact majeur, mais peut entraîner des conséquences indésirables, comme une forte baisse de la qualité du produit.

Exemple : Différents types d'applications multimédias.

Temps réel doux

Un système d'exploitation temps réel souple tolère certains délais de la part du système d'exploitation. Dans ce type de système, une échéance est fixée pour chaque tâche, mais un léger retard est acceptable. Ainsi, les délais sont gérés de manière flexible par ce type de système d'exploitation.

Exemple : Systèmes de transactions en ligne et systèmes de cotation des prix du bétail.

Termes utilisés dans les RTOS

Voici les termes essentiels utilisés dans les systèmes d'exploitation temps réel (RTOS) :

  • Groupe: Un ensemble de tâches connexes qui, ensemble, fournissent certaines fonctionnalités du système.
  • Job: Une tâche est une petite tâche qui peut être affectée à un processeur et qui peut ou non nécessiter des ressources.
  • Date de livraison d'un emploi : C'est le moment où une tâche est prête à être exécutée.
  • Temps d'exécution d'un job : Il s'agit du temps nécessaire à une tâche pour achever son exécution.
  • Date limite d'un travail : Il s'agit du délai dans lequel une tâche doit être achevée.
  • Processeurs: Elles sont également appelées ressources actives. Ils sont importants pour l'exécution d'un travail.
  • Date limite relative : Le délai de réponse maximal autorisé pour une tâche est appelé son délai relatif.
  • Temps de réponse d'un travail : Il s'agit de la durée entre l'heure de lancement d'une tâche et l'instant précis où elle se termine.
  • Délai absolu : Il s'agit de la date limite relative, qui inclut également l'heure de publication.

Caractéristiques du RTOS

Voici les fonctionnalités importantes de RTOS :

  • Occupe très peu de mémoire
  • Consomme moins de ressources
  • Les temps de réponse sont hautement prévisibles
  • Fonctionne de manière fiable même dans un environnement imprévisible
  • Le noyau sauvegarde l'état de la tâche interrompue, puis détermine quelle tâche il doit exécuter ensuite.
  • Le noyau restaure l'état de la tâche et lui transfère le contrôle du processeur.

Facteurs de sélection d’un RTOS

Voici les facteurs essentiels à prendre en compte lors du choix d'un système d'exploitation temps réel (RTOS) :

  • Performance : La performance est le facteur le plus important à prendre en compte lors du choix d'un système d'exploitation temps réel (RTOS).
  • Intergiciel : En l'absence de support middleware dans un système d'exploitation temps réel, se pose le problème d'une intégration fastidieuse des processus.
  • Sans erreur : Les systèmes RTOS sont conçus pour être sans erreur, il y a donc un risque minimal d'erreur lors de l'exécution d'une tâche.
  • Utilisation des systèmes embarqués : Les programmes d'un système d'exploitation temps réel (RTOS) sont de petite taille, c'est pourquoi les RTOS sont largement utilisés pour systèmes embarqués.
  • Utilisation maximale : Un système d'exploitation temps réel (RTOS) vous aide à optimiser l'utilisation des ressources système.
  • Transfert de tâches : Le délai de changement de tâches est très court.
  • Caractéristiques uniques: Un bon système d'exploitation temps réel (RTOS) doit être performant et offrir des fonctionnalités supplémentaires, comme la manière dont il exécute une commande et l'efficacité avec laquelle il protège la mémoire du système.
  • Performances 24h/7 et j/ : Un système d'exploitation temps réel (RTOS) est idéal pour les applications qui doivent fonctionner 24h/24 et 7j/7.

Différence entre GPOS et RTOS

Usage général OperaSystème de synchronisation (GPOS) Temps Réel OperaSystème de réglage (RTOS)
Il est utilisé pour les ordinateurs de bureau et les ordinateurs portables. Il n'est appliqué qu'à l'application embarquée.
Planification basée sur les processus. On utilise une planification basée sur le temps, comme la planification en ronde-bosse.
La latence d'interruption n'est pas considérée comme aussi importante que dans un système d'exploitation temps réel (RTOS). Le décalage d'interruption est minime, mesuré en quelques microsecondes.
Aucun mécanisme d'inversion de priorité n'est présent dans le système. Le mécanisme d'inversion de priorité étant présent, il ne peut être modifié par le système.
Le fonctionnement du noyau peut être préempté ou non. Le fonctionnement du noyau peut être interrompu.
L'inversion de priorité reste inaperçue. Aucune garantie de prévisibilité.

Applications du temps réel Operating système

Les systèmes en temps réel sont utilisés dans :

  • Systèmes de réservation des compagnies aériennes.
  • Systèmes de contrôle du trafic aérien.
  • Des systèmes qui fournissent une mise à jour immédiate.
  • Tout système fournissant des informations actualisées et précises sur les cours boursiers.
  • Systèmes d'application de défense comme RADAR.
  • Systèmes multimédias en réseau.
  • Systèmes de commande et de contrôle.
  • Téléphonie par Internet.
  • Systèmes de freinage antiblocage.
  • Stimulateurs cardiaques.

Inconvénients du RTOS

Voici les inconvénients liés à l'utilisation d'un système d'exploitation temps réel :

  • Un système d'exploitation temps réel (RTOS) exécute un nombre minimal de tâches simultanément et se concentre uniquement sur les applications contenant une erreur, afin de pouvoir l'éviter.
  • Un système d'exploitation temps réel (RTOS) se concentre sur quelques tâches. Par conséquent, il est très difficile pour ces systèmes d'effectuer du multitâche.
  • Des pilotes spécifiques sont nécessaires pour un système d'exploitation temps réel (RTOS) afin qu'il puisse offrir un temps de réponse rapide aux signaux d'interruption, ce qui contribue à maintenir sa vitesse.
  • Un système d'exploitation temps réel (RTOS) utilise beaucoup de ressources, ce qui rend ce système coûteux.
  • Les tâches de faible priorité peuvent devoir attendre longtemps, car le système d'exploitation temps réel privilégie la précision des programmes en cours d'exécution.
  • Les systèmes d'exploitation en temps réel effectuent un minimum de changements de tâches.
  • Il utilise des algorithmes complexes, difficiles à comprendre.
  • Un système d'exploitation temps réel (RTOS) utilise beaucoup de ressources, ce qui n'est parfois pas adapté au système.

FAQ

RTOS signifie Real-Time (temps réel). OperaSystème de traitement. Il est conçu pour traiter des données et répondre aux événements dans des délais stricts et prévisibles, généralement sans délai de mise en mémoire tampon.

Parmi les systèmes d'exploitation temps réel les plus répandus, on trouve FreeRTOS, VxWorks, Zephyr, QNX, RTLinux et Micrium µC/OS. Ils alimentent des dispositifs embarqués, automobiles, médicaux et industriels nécessitant une synchronisation déterministe.

Standard Windows Linux est un système d'exploitation généraliste, et non temps réel. Il existe des variantes temps réel, comme le correctif Linux PREEMPT_RT et Windows L'Internet des objets (IoT) avec des extensions en temps réel, pour les charges de travail déterministes.

La gigue correspond à la variation du temps de réponse d'un système d'exploitation temps réel (RTOS) à un événement. Plus la gigue est faible, plus le temps de réponse est prévisible ; c'est pourquoi les systèmes temps réel critiques la minimisent.

Un changement de contexte sauvegarde l'état de la tâche en cours et en charge une autre afin que le planificateur puisse exécuter une tâche prioritaire. Des changements de contexte rapides garantissent des temps de réponse prévisibles pour le système d'exploitation temps réel.

L'inversion de priorité se produit lorsqu'une tâche de faible priorité accapare une ressource nécessaire à une tâche de haute priorité. Les noyaux des systèmes d'exploitation temps réel utilisent l'héritage de priorité ou des protocoles de limitation de priorité pour éviter les délais longs et imprévisibles.

L'apprentissage automatique s'exécute sur des dispositifs périphériques basés sur un système d'exploitation temps réel (RTOS) pour la vision en temps réel, la maintenance prédictive et la détection d'anomalies. Le RTOS garantit la synchronisation nécessaire à l'inférence de l'IA pour le contrôle des systèmes critiques de sécurité.

Oui. GitHub Copilot peut suggérer du code pour les tâches, les files d'attente et les sémaphores pour les noyaux comme FreeRTOS. Les développeurs doivent néanmoins vérifier la synchronisation, la taille de la pile et la sécurité des interruptions sur le matériel cible.

Résumez cet article avec :