- Què és RTOS?
- Per què RTOS ??
- Diferència entre el sistema operatiu en temps real i el sistema operatiu
- Tipus de RTOS
- Avantatges d'utilitzar RTOS gratuït
- Alguns problemes importants relacionats amb RTOS
- Com utilitzar RTOS
Els sistemes incrustats tenen una àmplia gamma d’aplicacions en tots els dispositius electrònics que ens envolten; un exemple evident és el mini portàtil que portem sempre amb nosaltres, sí, em refereixo als nostres telèfons mòbils.
Sempre que el sistema incrustat apareix a la imatge, sempre és una combinació de maquinari com microcontroladors o microprocessadors i programari com un microprogramari o un sistema operatiu. Un sistema operatiu constitueix la base de tots els dispositius electrònics i gestiona tant el maquinari com el programari de qualsevol dispositiu electrònic. El terme sistema operatiu no només es limita a Unix i Windows per a ordinadors, sinó que també es pot estendre als microcontroladors. Un d'aquests sistemes operatius que pot funcionar amb microcontroladors s'anomena sistema operatiu en temps real. Aquí coneixerem RTOS i les aplicacions del sistema operatiu en temps real.
Què és RTOS?
El sistema operatiu en temps real conegut popularment com RTOS proporciona al controlador la possibilitat de respondre a les tasques d’entrada i completar un període de temps específic en funció de la prioritat. A primera vista, un RTOS pot semblar a qualsevol altre programa o microprogramari incrustat, però es basa en l'arquitectura d'un sistema operatiu. Per tant, com qualsevol sistema operatiu, RTOS pot permetre que diversos programes s’executin al mateix temps que admeten multiplexació. Com sabem, el nucli d'un processador o controlador només pot executar una sola instrucció alhora, però el RTOS té una cosa que s'anomena planificadorque decideix quina instrucció executar primer i, per tant, executa les instruccions de diversos programes una darrere l’altra. Tècnicament un RTOS només crea una il·lusió de presa múltiple executant instruccions paral·leles d’una en una.
Això fa que RTOS sigui adequat per a diverses aplicacions del món real. A RTOS per a qualsevol entrada sempre que s’hagi avaluat una lògica que doni la sortida corresponent. Aquesta lògica es mesura basant-se no només en la creativitat lògica, sinó també en la durada del temps en què s’ha realitzat la tasca específica. Si un sistema falla en realitzar la tasca en aquesta durada específica, es coneix com a fallada del sistema.
Per què RTOS ??
- Disponibilitat de controladors: hi ha molts controladors disponibles a RTOS, cosa que ens permet utilitzar-los directament per a diverses aplicacions.
- Fitxers programats: RTOS s’encarrega de la planificació, de manera que, en lloc de centrar-se en la programació de qualsevol sistema, simplement ens podem centrar en el desenvolupament d’aplicacions. Per exemple, els fitxers de planificació de tasques s'utilitzen per definir determinades accions sempre que es compleixin un conjunt de condicions. RTOS utilitza certs algoritmes avançats per planificar estats en execució, preparats i bloquejats que, mentre s’executa, mantenen més enfocament a desenvolupar aplicacions en lloc de planificar.
- Flexibilitat per afegir funcions: dins de RTOS, fins i tot si esteu disposat a afegir funcions noves, podeu afegir-les sense molestar les funcions existents
Diferència entre el sistema operatiu en temps real i el sistema operatiu
Hi ha diverses diferències entre el sistema operatiu en temps real i els sistemes operatius com Windows, Linux, etc. Vegem-los un per un amb l'ajut del format de taula:
| S.No | Sistema operatiu | Sistema en temps real |
| 1 | El temps compartit és la base de l'execució dels processos del sistema operatiu | Els processos s’executen en funció de l’ ordre de prioritat |
| 2 | El sistema operatiu actua com una interfície entre el maquinari i el programari d’un sistema | El sistema en temps real està dissenyat per tenir la seva execució per als problemes del món real |
| 3 | La gestió de la memòria no és un problema crític a l’hora d’executar el sistema operatiu | La gestió de la memòria és difícil, ja que en funció del problema en temps real s’assigna la memòria, cosa que per si mateixa és fonamental |
| 4 | Aplicacions: Oficina, centres de dades, sistema per a la llar, etc. | Aplicacions: Control d’avions o reactors nuclears, equips de recerca científica |
| 5 | Exemples: Microsoft Windows, Linux, SO | Exemples: Vx Works, QNX, Windows CE |
Tipus de RTOS
Podem classificar majoritàriament el sistema operatiu en temps real en tres parts, a saber
- Sistema operatiu dur en temps real
- Sistema operatiu suau en temps real
- Sistema operatiu ferm en temps real
1. Sistema operatiu dur en temps real
Comencem a entendre aquest tipus de sistema operatiu utilitzant un exemple, l'exemple real del qual és el sistema de control de vol. Dins del sistema de control de vol, qualsevol que sigui la tasca que doni el pilot en forma d’entrada s’hauria de realitzar a temps. En un sistema operatiu en temps real dur, es poden tolerar les fallades del sistema. Les característiques del RTOS dur són:
- Per realitzar tasques a temps
- L’incompliment del termini és mortal
- Temps de resposta de casos pitjor garantit
- Pot provocar un error del sistema
2. Sistema operatiu suau en temps real
L’exemple més senzill d’utilitzar RTOS suau és la base de dades en línia, ja que dins de RTOS suau el paràmetre que ens preocupa més és la velocitat. Per tant, les característiques de RTOS suau són:
- Les tasques s’han de realitzar el més ràpidament possible
- La finalització tardana de les tasques no és desitjable però no fatal
- Hi ha una possibilitat de degradació del rendiment
- No es pot produir un error del sistema
3. Sistema operatiu ferm en temps real
El braç de robot que s’utilitza per recollir objectes es pot considerar com un dels exemples de la firma RTOS. Aquí, dins d'aquesta empresa RTOS, fins i tot si es retarda el procés, es tolera.
Avantatges d'utilitzar RTOS gratuït
A continuació es mostren els avantatges d’utilitzar RTOS a les vostres aplicacions.
- No hi ha problemes de tallafoc
- Amplada de banda baixa per a un rendiment millorat
- Seguretat i privadesa millorades
- Baix cost, a causa de la reducció dels components de maquinari i programari utilitzats per al desenvolupament
Alguns problemes importants relacionats amb RTOS
Ara, tot i tenir molts avantatges per a RTOS en aplicacions del món real, també té diversos desavantatges. Alguns dels temes relacionats amb això es tracten aquí.
- Normalment s’utilitzen interrupcions en programes per aturar el programa d’execució i desviar el flux cap a alguna altra part important del codi. Aquí, dins de RTOS, ja que es requereix un temps de resposta ràpid; es recomana desactivar les interrupcions durant un temps mínim possible.
- Atès que, el nucli també hauria de respondre per a diversos esdeveniments, és necessari que tingui una mida menor del nucli perquè encaixi correctament dins de la ROM
- S'han d'eliminar les funcions sofisticades de RTOS, ja que no hi ha cap concepte de memòria virtual com a tal.
Com utilitzar RTOS
Ara que ja sabeu què és RTOS i on podeu utilitzar-lo, per començar a utilitzar RTOS normalment heu d’utilitzar l’entorn de desenvolupament Tornado o FreeRTOS. Vegem breument aquests dos entorns de desenvolupament.
Tornado - VxWorks
Tornado és un entorn integrat per desenvolupar aplicacions RTOS incrustades relacionades amb el temps real al sistema de destinació. El tornado consta de tres elements bàsics que s’enumeren a continuació.
1) VxWorks
2) Eines de creació d'aplicacions (compilador i programes associats)
3) Entorn de desenvolupament integrat, que pot gestionar, depurar i controlar l'aplicació VxWorks

VxWorks és un sistema operatiu en xarxa en temps real. Per començar amb VxWorks hauríem de tenir un kit de desenvolupament (target) juntament amb una estació de treball. Aquí, el kit de desenvolupament no és res més que l’amfitrió o component de destinació que es comunica amb el servidor de destinació de l’estació de treball. L'objectiu aquí connecta eines de tornado com l' intèrpret d'ordres i el depurador. Per tant, mitjançant VxWorks configurarem i construirem els sistemes mentre Tornado ens proporciona una interfície gràfica d’usuari i eines de línia d’ordres per configurar i construir.
El punt molt important que apareix aquí és que, mentre instal·leu un tornado al vostre sistema, el directori d’instal·lació hauria d’utilitzar els noms de ruta com a:
installDir / target. Per exemple, si voleu emmagatzemar el vostre tornado a C: \ tornado en un amfitrió de Windows, el camí d'accés complet s'hauria d'identificar en aquest cas com a installDir / target / h / vxworks.h.
Aquí no parlarem en detall de les funcions de Vx works (ho deixarem per al proper tutorial), però analitzarem com es pot fer el desenvolupament utilitzant C ++ dins de Vxworks mitjançant WindRiver GNU. WindRiver GNU ens ajuda a proporcionar una anàlisi gràfica de la interrupció durant l'execució, així com l'informe d'ús de la memòria.

Per exemple, la vista de WindRiver esmentada anteriorment explica el número de processador associat juntament amb la prioritat de les tasques (tLowPri i tHighPri). L’estat d’inici, és a dir, la línia de color verd indicava el període de temps durant el qual el processador no es troba en estat de treball, cosa que s’observa després de cada pocs segons. t1, t7, t8 i t9 no són res més que els diversos processadors utilitzats. Aquí seleccionem només el processador t7.
Per tant, aquest Windriver és capaç d’invocar tant VxWorks com subrutines de mòduls d’aplicació. Podeu iniciar l'aplicació Windriver des de la barra d'eines de llançament de tornados (botó -> i), després feu clic al menú i, a continuació, feu clic a l'intèrpret d'ordres. Per últim, des de l’indicador d’ordres escriviu “> servidor de destinació del vent”.
Ara per programar amb C ++, és important incloure el component INCLUDE_CPLUS_DEMANGLER, aquest component desmanglador permet als símbols de l'intèrpret d'ordres retornar formes llegibles per a humans de noms de símbols C ++. Abans, descarregueu el mòdul C ++ a l'objectiu Vxworks, seguiu el procés conegut com a munching. Aquí, el menjar fa referència al pas addicional de processament de l'amfitrió.
Compileu el programa d'origen de l'aplicació C ++ i obteniu, per exemple, el fitxer hello.cpp. Posteriorment executeu-lo per menjar el fitxer.o i compilar el fitxer ctdt.c generat. A més, enllaceu l'aplicació amb ctdt.o per generar un mòdul descarregable, hello.out dins de VxWorks. La sortida després d'executar aquest VxWorks serà un fitxer make que s'utilitzarà en algun objectiu.
RTOS gratuït
Generalment, sempre que comencem amb RTOS, preferim generalment Vx Works RTOS. Però, aquí fem una breu discussió sobre el RTOS gratuït, que també poden ser utilitzats pels principiants per passar pel concepte de sistema operatiu en temps real. Free RTOS és desenvolupat per Richard Barry i l’equip de FreeRTOS, també és propietat de Real time engineer ltd, però és d’ús gratuït i es pot descarregar simplement fent clic a l’enllaç següent
Descarregar ROTS gratis
L'última versió de RTOS gratuïta que s'utilitzava en el moment d'aquest article és la versió 10, que s'anomena FreeRTOS V10.
L’avantatge més gran de RTOS gratuït que el fa superior en termes de l’altre RTOS és el seu comportament independent de la plataforma en termes de maquinari, és a dir, el codi c que utilitzarem per executar un sistema operatiu pot funcionar en diverses plataformes amb arquitectura diferent. Per tant, independentment de si esteu utilitzant el microcontrolador 8051 o algun microcontrolador ARM més recent, el codi que heu escrit juntament amb el procés d'execució serà similar per a tots dos.
Hi ha molts altres avantatges d’utilitzar RTOS gratuït sobre Vx Works i altres eines operatives RTOS. Alguns d'ells es poden afirmar com:
- Proporciona proves més fàcils
- Promou el concepte de reutilització del codi
- Menor temps d'inactivitat
- Fàcil manteniment
- Resum d'informació de temporització
A més, el nucli bàsic, on el nucli fa referència al component central d’un sistema operatiu que es troba dins del RTOS gratuït, el fa accessible per utilitzar-lo per a diverses aplicacions. Atès que és fàcil connectar mòduls ampliats als sistemes operatius per aconseguir que les seves aplicacions més lliures, RTOS sigui més potent.
Un dels exemples d'ús de RTOS lliure es pot explicar utilitzant el concepte de combinar RTOS lliure amb Nabto. Nabto és un dispositiu web gratuït que s’utilitza per transferir la informació del dispositiu al navegador.

Per tant, en combinar RTOS gratuït amb Nabto el converteix en un petit fragment de codi C tal com s’explica a la figura a. Ara fa uns dies Internet de les coses (IOT) està en tendència i tots els dispositius IOT als quals accedirem tenen una URL única a Internet i la tecnologia permet connexions punt a punt d’amplada de banda segures i extremadament baixes. En absència de connectivitat a Internet, aquesta combinació pot ser útil. Per tant, RTOS gratuït és una opció popular a l’hora d’implementar IOT.
