RTES: què és un sistema operatiu de temps real

rts pcb embegut

Fa uns dies vaig fer una introducció sobre ROS, un sistema operatiu per a robots, encara que no és exactament un SO com s'entén a la computació, sinó més aviat un frameworks per als desenvolupadors de robòtica. Ara li toca el torn a RTES, que tampoc no és un sistema operatiu, sinó que és un tipus de sistema operatiu molt particular.

Aquests sistemes operatius són molt importants per als dispositius embeguts o encastats de petita capacitat, ja que solen estar gestionats per aquests. A més, també són importants en aplicacions industrials, per al control de multitud de processos.

Què és un RTOS?

Un RTOS (Real-Time Operating System) és, com el seu nom indica, un sistema operatiu en temps real. Això difereix dels sistemes operatius de temps compartit en què es treballa en un entorn on es coneixen els resultats de sortida en funció de les entrades del sistema, i es donen en un temps conegut. Per tant, són més predictibles i estables per controlar tasques específiques, i els processos solen residir de forma permanent en memòria (en els de temps compartit el planificador va carregant i descarregant de la memòria principal segons calgui).

Per EXEMPLE, imagina un RTOS emprat per a una màquina industrial en una cadena de muntatge. S'encarregaria d'executar un programari per foradar peces cada cert temps. Si el planificador de tasques del sistema operatiu no treballés en temps real, és probable que s'executés en temps dispars, cosa que faria que les perforacions no es fessin a temps… En ser en temps real, l'RTOS pot acabar l'execució del programa a X temps i tornar a repetir la seva execució per realitzar tots els trepats a temps.

Per descomptat, en ser un sistema operatiu, també comparteix els fonaments de qualsevol altre SO, és a dir, és un sistema capaç de gestionar el maquinari i proveir una sèrie de serveis a les apps.

Tipus de RTOS

hi ha diversos tipus de sistemes operatius en temps real o RTOS:

  • Temps real dur: és un sistema operatiu de temps real estricte, on els seus processos shan dexecutar en un temps concret.
  • Soft Real Time: un temps real flexible, on en executar els processos es poden perdre instants gairebé menyspreables algunes vegades, és a dir, no és tan estricte com l'anterior. A més, estan dissenyats perquè aquests transcursos de temps siguin cada cop menors.
  • Firm Real Time: els SSOO de temps real ferm són un altre tipus en què es poden perdre temps, però les respostes tardanes no tindrien validesa.

Aplicacions d'un RTOS

Un RTOS és un sistema senzill, lleuger, i que s'utilitza per a sistemes limitats o simples, com ara els dispositius encastats o encastats. Això els fa perfectes per aplicacions com:

  • Control industrial.
  • Commutació telefònica.
  • Control de vol.
  • Simulacions en temps real.
  • Aplicacions militars.
  • Electrodomèstics.
  • Dispositius electrònics de consum bàsics.
  • Robots.
  • Etc...

Característiques dels RTOS

Els RTOS tenen una sèrie de particularitats que són els que els donen aquests avantatges sobre la resta per a aquestes tasques de gestió senzilles. Per comprendre'ls millor, cal conèixer una sèrie de conceptes bàsics:

  • Procés o tasca: és un subprograma que s'executa en paral·lel amb el RTOS. Aquest procés pot fer multitud de tasques, des de controlar un perifèric, fins a realitzar altres accions.
  • Treball: es denomina així alhora que triga a executar-se un procés.
  • planificador: el planificador de l'RTOS permet gestionar les prioritats i els temps dels processos executats. I hi ha dos tipus fonamentals:
    • Cooperativa: crida primer els processos de més prioritat i quan el procés acaba truca a un altre o, si el procés triga més del previst, ho elimina i truca al següent.
    • Expropiatiu: cada cert temps crida automàticament un procés, però això podria fer que es puguin produir errors per una mala prioritat en els processos o dependències. Per evitar aquests problemes, s'introdueix el concepte de semàfors.
  • semàfors: funcionen de forma similar als de trànsit, controlant quan un procés està en procés i paralitzant l'entrada de la resta de processos i, quan deixa els recursos lliures, dóna llum verda perquè el següent entri. Alguns RTOS tenen diversos semàfors, cadascun específic per a un recurs compartit.
  • Cues: serveixen per comunicar entre processos, com un buffer, per exemple per a emmagatzematge temporal de dades o quan hi ha diversos elements que tornen dades a un sol receptor.
  • interrupcions: funcionen com les dels sistemes operatius de temps compartit, però en un RTOS hi ha algunes particularitats. Aquest tipus d'interrupcions es fan servir per a la gestió del temps mitjançant un controlador.

Exemples de RTOS

Si et preguntes què sistemes operatius RTOS existeixen, la veritat és que hi ha un gran nombre, tant propietaris com de codi obert:

  • Arm US: un sistema operatiu dissenyat per a Cortex-M, Cortex-R, Cortex-A, i llicenciat sota llicència Apache 2.0.
  • eCos: sota llicència GNU GPL modificada, és un altre sistema operatiu de codi obert per ARM-XScale-Cortex-M, CalmRISC, 680×0-ColdFire, fr30, FR-V, H8, IA-32, MIPS, MN10300, OpenRISC, PowerPC , SPARC, SuperH, i V8xx.
  • embossament: és un sistema RTOS propietari, per aplicacions IoT i embeguts amb arquitectures 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, i 8051.
  • FreeRTOS: sota llicència open-source MIT, està pensat per a embeguts amb arquitectures ARM, AVR, AVR32, ColdFire, ESP32, HCS12, IA-32, Cortex-M3-M4-M7, Infineon XMC4000, MicroBlaze, MSP430, PIC, PIC32, Renes H8/S, RISC-V, RX100-200-600-700, 8052, STM32, TriCore, i EFM32.
  • Fucsia: és el famós sistema de codi obert creat per Google i dissenyat per funcionar tant a x86-64 com a ARM64.
  • Kolibris: un sistema RTOS Per a x86 sota llicència GNU GPL lliure.
  • LynxOS: un altre RTOS, però aquest propietari, i per a arquitectures tan dispars com Motorola 68010, x86/IA-32, ARM, Freescale PowerPC, PowerPC 970, i LEON. A més, compta amb certificació POSIX.
  • Neutrino: un sistema de temps real propietari i per ARM, MIPS, PPC, SH, x86, i XScale.
  • Phoenix-RTOS: sota llicència BSD permissiva, amb suport per a arquitectures ARMv7 Cortex-M, ARMv7 Cortex-A, IA-32, i RISC-V.
  • QNX: és propietari, i va ser molt popular. S'ha dissenyat per donar suport a x86-64, ARM32, ARM64, i anteriorment a MIPS, PowerPC, SH-4, StrongARM, XScale.
  • Linux: encara que generalment s'usa en mode de temps compartit, el kernel també pot treballar com a aproximació a un RTOS per a encastats.
  • Windows CE y Windows 10 IOT: Microsoft també compta amb aquestes versions en temps real del vostre sistema operatiu propietari.
  • Céfiro: sota la llicència Apache 2.0 també hi ha aquest altre RTOS de codi obert per a ARM (Cortex-M, Cortex-R i Cortex-A Series), x86, x86-64, ARC, RISC-V, Nios II, Xtensa, i SPARC .

Sigues el primer a comentar

Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.