RTOS : qu'est-ce qu'un système d'exploitation en temps réel ?

circuits pcb embarqués

Il y a quelques jours, j'ai fait une introduction à propos des STR, un système d'exploitation pour robots, bien qu'il ne s'agisse pas exactement d'un système d'exploitation au sens informatique, mais plutôt d'un cadre pour développeurs de robotique. Maintenant c'est au tour de RTOS, qui n'est pas non plus un système d'exploitation, mais plutôt un type très particulier de système d'exploitation.

Ces systèmes d'exploitation sont très importants pour appareils embarqués ou embarqués de petite capacité, puisqu'ils sont généralement gérés par eux. De plus, ils sont également importants dans les applications industrielles, pour le contrôle de nombreux processus.

Qu'est-ce qu'un RTOS ?

Un RTOS (système d'exploitation en temps réel) Il s'agit, comme son nom l'indique, d'un système d'exploitation temps réel. Cela diffère des systèmes d'exploitation à temps partagé en ce sens que vous travaillez dans un environnement où les résultats de sortie sont connus en fonction des entrées système et se produisent à une heure connue. Par conséquent, ils sont plus prévisibles et stables pour contrôler des tâches spécifiques, et les processus résident généralement en permanence dans la mémoire (dans les processus à temps partagé, le planificateur se charge et se décharge de la mémoire principale selon les besoins).

Par exemple, imaginez un RTOS utilisé pour une machine industrielle sur une chaîne de montage. Il serait chargé d'exécuter un logiciel pour percer des pièces de temps en temps. Si le planificateur du système d'exploitation ne fonctionnait pas en temps réel, il est probable qu'il s'exécuterait à des heures impaires, ce qui empêcherait le forage de se faire à temps... Étant en temps réel, le RTOS peut terminer l'exécution du programme en X temps et répéter son exécution pour effectuer tous les perçages à temps.

Bien sûr, étant un système d'exploitation, il partage également les principes fondamentaux de tout autre système d'exploitation, c'est-à-dire qu'il s'agit d'un système capable de gérer le matériel et fournir une série de services aux applications.

Types d'horloge temps réel

Plusieurs type systèmes d'exploitation temps réel ou RTOS :

  • Temps réel dur: il s'agit d'un système d'exploitation temps réel strict, où ses processus doivent être exécutés à un moment précis.
  • Temps réel doux: un temps réel flexible, où lors de l'exécution des processus des instants presque négligeables peuvent parfois être perdus, c'est-à-dire qu'il n'est pas aussi strict que le précédent. De plus, ils sont conçus pour que ces parcours temporels soient de plus en plus réduits.
  • Temps réel ferme: Les SSOO fermes en temps réel sont un autre type dans lequel le temps peut être perdu, mais les réponses tardives ne seraient pas valides.

Applications d'un RTOS

Un RTOS est un système simple et léger utilisé pour les systèmes limités ou simples, tels que les appareils embarqués. Cela les rend parfaits pour applications en tant que:

  • contrôle industriel.
  • Commutation téléphonique.
  • Contrôle de vol.
  • Simulations en temps réel.
  • applications militaires.
  • Appareils.
  • Appareils électroniques grand public de base.
  • Des robots.
  • Etc

Caractéristiques du RTOS

Les RTOS ont un certain nombre de particularités qui leur donnent ces avantages par rapport aux autres pour ces tâches de gestion simples. Pour mieux les comprendre, il est nécessaire de connaître une série de concepts de base :

  • processus ou tâche: est un sous-programme qui s'exécute en parallèle avec le RTOS. Ce processus peut effectuer de nombreuses tâches, du contrôle d'un périphérique à l'exécution d'autres actions.
  • Travailler avec nous: C'est le nom donné au temps d'exécution d'un processus.
  • Planificateur: le planificateur RTOS permet de gérer les priorités et les temps des processus exécutés. Et il existe deux types principaux :
    • Coopérative: appelle d'abord les processus les plus prioritaires et lorsque le processus se termine, il en appelle un autre ou, si le processus prend plus de temps que prévu, le tue et appelle le suivant.
    • expropriation: De temps en temps, il appelle automatiquement un processus, mais cela peut entraîner des erreurs dues à une mauvaise priorité dans les processus ou les dépendances. Pour éviter ces problèmes, le concept de sémaphores est introduit.
  • Feux de circulation: ils fonctionnent de manière similaire à ceux du trafic, contrôlant lorsqu'un processus est en cours et paralysant l'entrée du reste des processus et, lorsqu'il laisse les ressources libres, il donne le "feu vert" au prochain à Entrer. Certains RTOS ont plusieurs sémaphores, chacun spécifique à une ressource partagée.
  • Colas: ils sont utilisés pour communiquer entre processus, en tant que tampon, par exemple pour le stockage temporaire de données ou lorsque plusieurs éléments renvoient des données à un seul récepteur.
  • Les interruptions: ils fonctionnent comme ceux des systèmes d'exploitation à temps partagé, mais dans un RTOS il y a quelques particularités. Ces types d'interruptions sont utilisés pour la gestion du temps par un contrôleur.

Exemples de RTOS

Si tu te demandes quoi Systèmes d'exploitation RTOS existent, la vérité est qu'il en existe un grand nombre, à la fois propriétaires et open source :

  • Système d'exploitation du bras: un système d'exploitation conçu pour Cortex-M, Cortex-R, Cortex-A et sous licence Apache 2.0.
  • ecos: sous licence GNU GPL modifiée, il s'agit d'un autre système d'exploitation open source pour ARM-XScale-Cortex-M, CalmRISC, 680×0-ColdFire, fr30, FR-V, H8, IA-32, MIPS, MN10300, OpenRISC, PowerPC , SPARC, SuperH et V8xx.
  • gaufrer: est un système RTOS propriétaire, pour les applications IoT et embarquées avec les architectures ARM7/9/11, ARM Cortex-A/R/M, AVR, AVR32, C16x, CR16C, ColdFire, H8, HCS12, M16C, M32C, MSP430, NIOS2 , PIC18/24/32, R32C, R8C, RISC-V, RL78, RH850, RX100/200/600/700, RZ, SH2A, STM8, ST7, V850, 78K0 et 8051.
  • FreeRTOS: sous licence open-source MIT, il est destiné à être intégré avec ARM, AVR, AVR32, ColdFire, ESP32, HCS12, IA-32, Cortex-M3-M4-M7, Infineon XMC4000, MicroBlaze, MSP430, PIC, PIC32, Renesas architectures H8/S, RISC-V, RX100-200-600-700, 8052, STM32, TriCore et EFM32.
  • Fuchsia: Il s'agit du célèbre système open source créé par Google et conçu pour fonctionner à la fois sur x86-64 et ARM64.
  • Colibris: un système RTOS pour x86 sous licence libre GNU GPL.
  • lynxOS: un autre RTOS, mais celui-ci propriétaire, et pour des architectures aussi disparates que Motorola 68010, x86/IA-32, ARM, Freescale PowerPC, PowerPC 970 et LEON. De plus, il est certifié POSIX.
  • Neutrino: un système propriétaire en temps réel pour ARM, MIPS, PPC, SH, x86 et XScale.
  • Phoenix-RTOS: sous licence BSD permissive, avec prise en charge des architectures ARMv7 Cortex-M, ARMv7 Cortex-A, IA-32 et RISC-V.
  • QNX: possède, et était très populaire. Il est conçu pour prendre en charge x86-64, ARM32, ARM64 et les versions antérieures de MIPS, PowerPC, SH-4, StrongARM, XScale.
  • Linux/Unix: Bien que généralement utilisé en mode temps partagé, le noyau peut également fonctionner comme une approximation d'un RTOS pour l'embarqué.
  • windows CE y Windows 10 IoT: Microsoft dispose également de ces versions en temps réel de son système d'exploitation propriétaire.
  • Zephyr: sous la licence Apache 2.0, il existe également cet autre RTOS open source pour ARM (Cortex-M, Cortex-R et Cortex-A Series), x86, x86-64, ARC, RISC-V, Nios II, Xtensa et SPARC .

Soyez le premier à commenter

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.