RTOS



Real Time Operating System son sistemas operativos en tiempo real que se utilizan en entornos donde una gran cantidad de eventos, en su mayoría externos al sistema informático, deben ser aceptados y procesados ​​en poco tiempo o dentro de ciertos plazos, como el control industrial, equipos de conmutación telefónica, control de vuelo y simulaciones climáticas.

Con un RTOS, el tiempo de procesamiento se mide en décimas de segundo y el procesamiento en este tipo de sistema debe ocurrir dentro de las restricciones especificadas, de lo contrario, esto provocará una falla del sistema.



RT-11


El RT-11 («RT» de Real Time - «tiempo real») fue un pequeño sistema operativo de tiempo real, programado en ensamblador, monousuario, para la familia de computadoras de 16 bits PDP-11, de la Digital Equipment Corporation.

Fue implementado por primera vez en 1970 y se utilizó ampliamente para sistemas de tiempo real, control de procesos y adquisición de datos a través de la línea completa de computadoras PDP-11.


Arrancaba desde una máquina formada por dos disquetes de 8" con 250 KB y 56 KB de memoria. Soportaba 8 terminales, plato de disco duro extraíble RK05 de 2,5MB, o cinta magnética.

Las distribuciones estaban disponibles preinstaladas o en cinta perforada, cinta magnética, cinta de cartucho o disquete. La interfaz de usuario de comandos de teclado se intercambiaba durante la ejecución de un programa de usuario y, a continuación, se intercambiaba a la memoria al finalizar el programa para ahorrar la escasa memoria de que disponía.

El sistema soportaba un reloj en tiempo real, terminal de impresión, unidad gráfica vectorial VT11, convertidor A/D de 16 canales y 100 kHz con D/A de 2 canales, puerto serie de 9600 baudios, tarjetas bidireccionales de 16 bits, etc.


Las distribuciones de RT-11 incluían el código fuente del sistema operativo y sus controladores de dispositivos con todos los comentarios eliminados y un programa llamado «SYSGEN» que construía el sistema operativo y los controladores de acuerdo con una configuración especificada por el usuario. La documentación del desarrollador incluía un listado del kernel con comentarios.

Controladores de dispositivos


DEC fomentó el desarrollo de estos controladores haciendo que sus subsistemas de hardware (desde la estructura del bus hasta el código) fueran abiertos, documentando el funcionamiento interno del sistema operativo, animando a terceros proveedores de hardware y software


RT-11 no soportaban la multitarea preventiva, pero la mayoría de las versiones podían ejecutar varias aplicaciones simultáneamente. Utilizaba un sistema de monitores para tener una tarea en primer plano y hasta 6 monitores con trabajos en segundo plano, normalmente, en linea de comandos.


Las versiones posteriores de RT-11 permitían especificar hasta 64 unidades (0-77 octal) para determinados dispositivos, pero el nombre del dispositivo seguía estando limitado a tres caracteres alfanuméricos (dd0, dx1, ld0...).

Empleaba nombres de archivo de seis caracteres con extensiones de tres caracteres (6.3) codificados en RADIX-50, que empaquetaba esos nueve caracteres en sólo tres palabras de 16 bits.

Los archivos eran contiguos, ocupando bloques consecutivos en unidades mínimas de 512 bytes en el disco. Esto hacía que un archivo podía leerse o escribirse muy rápidamente, pero a cambio, al borrar a largo plazo, los bloques de disco no utilizados no permanecían contiguos, necesitando usar herramientas de chequeo para recuperar el espacio.


RT-11 venía con utilidades para gestionar volúmenes, editores, creación de ejecutables, depuración de programas o para conectarse y utilizar otro sistema informático por teléfono a través de un módem. La Digital Equipment Computer Users Society (DECUS) puso a disposición de los usuarios una gran cantidad de software gratuito para RT-11, como una suite de ofimática llamada LEX-1, incluyendo una implementación de C, Fortran, Pascal y ensamblador. BASIC venía como una capa de pago.


Imagen RT-11



RSX-11


Procedente de RT-11, aparece Real-Time System Executive, creado por Dave Cutler de Digital Equipment Corporation (DEC) en el año 1970 para las máquinas PDP-11 para el control de procesos.

A diferencia de RT-11, era un sistema operativo multiusuario y multitarea con funciones de tiempo real, y RSTS/E (originalmente denominado RSTS-11) un sistema multiusuario de tiempo compartido, pero RT-11 siguió siendo el sistema operativo preferido para los sistemas de adquisición de datos en los que se requería una respuesta en tiempo real.

Influyó en el desarrollo de sistemas operativos posteriores como VMS y Windows NT .


Existen varias versiones:



Imagen RSX-11




QNX


QNX Software Systems Ltd. fue fundada en 1980 por Gordon Bell y Dan Dodge para desarrollar, mantener y poner en el mercado el sistema operativo de tiempo real QNX que corre bajo procesadores INTEL: 386, 486, Pentiums y sus clones como AMD, Nat Semiconductor, Cyrix y SGS Thompson.


A principio de los 80 comenzaron a trabajar en un pequeño SO basado en un kernel con pasaje de mensajes cuya interfase de usuario se parecía a la UNIX[1]. Los prototipos eran dos procesadores un 6809 construido por Dan y un 8088 construido por Gordon. En esas mismas fechas IBM lanzó su IBM PC basada en el 8088 y ahí comenzó la carrera. Cerca de 6 meses después de que IBM hiciera su lanzamiento Dan y Gordon hicieron conocido su producto con un aviso en una PC Magazine. Ellos denominaron a su producto QUNIX, dado que era un "Quick UNIX". Llamaron a su compañía Quantum Software Systems Limited.

El nombre QUNIX duró un año o dos hasta que recibieron una notificación de AT&T de que debían cambiarlo. Siempre listos para un desafío, cambiaron la forma de escribirlo a QNX pero no cambiaron su pronunciación (se supone que QNX se debe pronunciar "quiunix").


[1]


Las primeras betas que se lanzaron no tenían multitasking pero corrían en una IBM PC con solo 64 k de RAM y un floppy de 180k. Después de unos pocos meses se lanzó la versión 1.0 que si soportaba multitasking. Aunque parezca increíble los 64 k de memoria eran suficientes para correr el SO, una shell y aún compilar programas. Es más, es posible que incluso se pudieran hacer trabajos en background, como imprimir un archivo. Un relativamente pequeño grupo de usuarios ambiciosos trabajó con los desarrolladores para reportar bugs y agregar mejoras.


A medida que el hardware para la IBM PC bajó de precio, los usuarios pudieron aumentar su memoria RAM hasta llegar a los 640k. Dado que esta era una gran cantidad de memoria para QNX, lo que se hacía comúnmente era crear un ram disk de 256k para acelerar la compilación. Luego aparecieron los floppies de 360K, y los desarrolladores necesitaban dos: uno para alojar el SO y sus utilitarios y el otro para los archivos de entrada de datos.


El próximo gran paso para QNX fue la IBM AT. Las primeras modificaciones permitieron el uso de un procesador mucho más rápido, el 80286 que corría a 6MHz. 6 semanas más tarde ya soportaba el modo protegido. Debido a una impresionante visión de futuro algunos programas soportaban el modo protegido sin necesidad de ser modificados y de hecho ni siquiera se necesitó recompilarlos, a cambio de otros SOs. Siguiendo algunas pequeñas reglas, incluso los drivers podían correr en cualquiera de ambos modos. De esta manera las aplicaciones se hicieron mucho más estables, impidiendo que alguna tarea haga fallar a todo el sistema.


QNX fué el primer sistema en integrar proceso distribuido transparente al PC, el primero con tolerancia a falla en la estructura misma, el primero en ofrecer un sistema de windowing de microkernel embebido, el primero con un browser de web de escritorio para los sistemas embebidos, y la lista continua.

QNX puede compilarse en POSIX sin forzarlo a perder sus subyacentes características de alta performance. Esto es posible porque POSIX describe la interfase, pero no tiene requerimientos en cuanto a su implementación. Esto resultó ser una brillante maniobra.


La interfaz gráfica de la versión 4 es la llamada "Photon". Al poco tiempo apareció QNX 4.2 soportando programas de 32 bits y actualmente usa un kernel especial llamado Neutrino y soporta arquitecturas MIPS y PPC.


Imagen QNX



Vxworks


Lanzado por primera vez en 1987, VxWorks es un sistema operativo en tiempo real (o RTOS) desarrollado como software patentado por Wind River Systems , una subsidiaria de propiedad total de Aptiv.


VxWorks comenzó a fines de la década de 1980 como un conjunto de mejoras para un RTOS simple llamado VRTX vendido por Ready Systems (que se convirtió en un producto de Mentor Graphics en 1995). Wind River adquirió los derechos para distribuir VRTX y lo mejoró significativamente agregando, entre otras cosas, un sistema de archivos y un entorno de desarrollo integrado . En 1987, anticipándose a la rescisión de su contrato de reventa por parte de Ready Systems , Wind River desarrolló su propio núcleo para reemplazar VRTX dentro de VxWorks.


En los 80 VxWorks agrega soporte para procesadores de 32 bits, y en los 90, en su versión 5 se convierte en el primer RTOS con una pila de red. Ya en los 2000, VxWorks 6 es compatible con SMP y agrega plataformas derivadas específicas de la industria, y en 2010 agrega soporte para procesamiento de 64 bits y presenta VxWorks 7 para IoT en 2016. Actualmente continúa actualizándose y agregando soporte, incluida la capacidad de impulsar el módulo de aterrizaje Mars 2020.


VxWorks es compatible con la arquitectura AMD/Intel, la arquitectura POWER, las arquitecturas ARM y RISC-V. El RTOS se puede usar en multiprocesamiento asimétrico multinúcleo (AMP), multiprocesamiento simétrico (SMP) y modos mixtos y diseños de múltiples sistemas operativos (a través del hipervisor Tipo 1) en procesadores de 32 y 64 bits.


Ha sido elegido sistema operativo de Curiosity, y anteriormente, gracias a la Mars Reconnaissance Orbiter. También está presente el sistema iDrive de BMW, en el avión de transporte A400M de Airbus Military, en algunos robots industriales como el ASIMO de Honda, dispositivos como el AirPort Extreme de Apple, algunos teléfonos por satélite, grandes equipos de comunicaciones (switches, routers y firewalls que se usan en el core de en grandes redes de datos) o en el sistema de radar del F-18.


Imagen de Vxworks



Drops


Iniciales correspondientes a The Dresden Real-Time Operating System Project, y que como ya podemos intuir, ha sido desarrollado por el grupo de sistemas operativos de la facultad de informática de la universidad de Dresden en Alemania.


Su meta es la construcción de un potente sistema operativo en tiempo real y distribuido. Se puso a disposición de los internautas interesados un disquete demo con el núcleo, entorno gráfico y una aplicación de soporte para webcams.

Las últimas noticias que se tienen de este sistema son de junio de 2006.


Imagen Drops



Jaluna


Jaluna fue fundada en Agosto de 2002 por los ex-colaboradores de Sun MicroSystems. Es un conjunto de componentes para un microkernel de tiempo real basado en FreeBSD [1], diseñado por la misma gente que hizo CHORUS.


[1]


Jaluna, situada en Saint-Quentin en Yvelines desarrolla, distribuye y soporta componentes softwares "Open Source" que permiten la introducción del tiempo real, de la alta disponibilidad y de la seguridad en los entornos operativos estándar. Se distribuye bajo licencia MPL, por lo que casi es software libre.


Imagen Jaluna



Erika


ERIKA (Embedded Real tIme Kernel Architecture) es un sistema embebido con un kernel muy pequeño que requiere de muy poca RAM. En principio se diseñó para la industria automovilística debido al poco hardware que necesita para poder funcionar y además es muy adaptable a otras arquitecturas.

Dado el éxito que tuvo se creó una versión doméstica para uso educativo, así pasan a existir dos versiones:



Lo normal en este tipo de sistemas es un kernel monolítico de ejecución cíclica con algoritmos con protocolos de tipo "Non-preemptive" para el acceso mutuo a recursos compartidos.

Como todos los sistemas operativos tiene dos capas, la "Kernel Layer" y la "HAL (Hardware Abstraction Layer) Layer", pero lo que hace novedoso este sistema es que posee dos capas HAL, una para el modo mono-stack y otro para el modo multi-stack, modos que el propio kernel elije dependiendo de la demanda de la aplicación en curso.


Debido a la colaboración con el equipo de herramientas y metodologías de Magneti Marelli Powertrain & Electronics, el kernel automotriz (BCC1, BCC2, ECC1, ECC2, multinúcleo, protección de memoria y prioridad fija del kernel con el compilador Diab 5.5.1 ) cumple con MISRA C 2004 usando FlexeLint 9.00h bajo la configuración sugerida por Magneti Marelli.


En agosto de 2012, ERIKA Enterprise recibió oficialmente la certificación OSEK/VDX.



KeykOS


En 1977 el desarrollo de KeyKOS comenzó en Tymshare , Inc., bajo el nombre de GNOSIS. En 1984, McDonnell Douglas (MD) compró Tymshare. Un año después, MD escindió Key Logic, que compró GNOSIS y lo rebautizó como KeyKOS .


KeyKOS es un sistema operativo persistente basado en capacidades puras para las computadoras centrales IBM S/370 . Permite emular los entornos de VM , MVS y Portable Operating System Interface (POSIX). Es un predecesor del Sistema operativo extremadamente confiable (EROS) y sus sistemas operativos sucesores, CapROS y Coyotos. KeyKOS es un sistema operativo basado en nanokernel. El último lanzamiento fue en 1988.



ErOS


Extremely Reliable Operating System nace en la Universidad de Pensylvania aunque actualmente el proyecto a migrado a la Universidad Johns Hopkins, basado en el sistema operativo KeyKOS.


Es un sistema que intenta fusionar lo mejor de los sistemas operativos antiguos y lo mejor de los actuales a nivel de seguridad y rescate. El resultado es un pequeño pero seguro sistema RTOS amparado bajo la licencia GPL.

Cuenta con el sistema "Pure Capability" que identifica un objeto y le da derechos de acceso y no necesita de un login especial para llevarlo a cabo y lleva un preemptive kernel de tamaño muy reducido (unos 12 Ks) y con soporte para multiples Threads.

El sistema entero (aun incompleto) ocupa unos 24 Ks en modo binario y se espero que a su finalización llegue a los 60 Ks



Stella


De nuevo un sistema sencillo pero potente, es un sistema escrito por un solo programador: Tony Tebby, autor de los sistemas Q-DOS[1], SMS2[2], SMSQ[3] y SMSQ/E[4], pero como su propio autor dice: "Stella no es QDOS/SMS2/SMSQ"


[1][2][3][4]


Stella es un nuevo sistema operativo de tiempo real (RTOS) que funciona en procesadores 680x0 y puede ser adaptado a procesadores ColdFire. Aunque en un principio se diseñó para sistemas embebidos, es facilmente extensible para cualquier tipo de sistemas informáticos. Algunas caracteristicas son:




Inferno


Inferno es un sistema operativo compacto diseñado por Bell Labs, con la colaboración de Dennis Ritchie, el creador del lenguaje C, para construir sistemas de red y de distribución en una variedad de dispositivos y plataformas, ofreciendo una gran cantidad de herramientas sin rival al usuario.


Puede correr como un sistema de usuario, dentro de otro sistema operativo o como sistema único y los más conocidos sistemas operativos y arquitecturas son soportadas por Inferno:


Sistemas Operativos:



Arquitecturas:



Las aplicaciones de Inferno están escritas en Limbo, un moderno y modular lenguaje muy parecido a C y fácilmente portable a C y Java. Es un sistema que optimiza la aplicación a la arquitectura sobre la que corre. Respecto a la seguridad y la red, ambos son de buena calidad, soportando los algoritmos de seguridad IDEA, con 56 bits bajo DES y 40, 128 y 256 bits en RC4, y también soporta MD4, MD5 y SHA secure hash.


Se considera un "update" del sistema Plan 9[1]


otros.gmi



NuttX


Publicado inicialmente en 2007 bajo la licencia BSD permisiva, NuttX es un Sistema Operativo en Tiempo Real (RTOS) libre y de código abierto que hace hincapié en el cumplimiento de los estándares técnicos y en ocupar poco espacio.

Escalable desde entornos de microcontroladores de 8 a 64 bits, los principales estándares que rigen en NuttX proceden de la Interfaz Portátil de Sistemas Operativos (POSIX) y del Instituto Nacional Americano de Normalización (ANSI).

Se adoptan otras interfaces de programación de aplicaciones (API) estándar de UNIX[1] y otros RTOS comunes (como VxWorks) para funciones no disponibles bajo estos estándares o inapropiadas para entornos profundamente embebidos.


[1]


En diciembre de 2019, comenzó la incubación en la Apache Software Foundation. Cambiando su licencia de BSD a Apache License y se graduó a un proyecto de alto nivel en noviembre de 2022.


Se utiliza en una variedad de aplicaciones, incluyendo el microcontrolador Sony CXD5602/Spresense, así como una grabadora de audio de Sony.

El firmware de algunos de los accesorios MotoMod de Motorola para el Moto Z utilizó NuttX RTOS y NuttX también se utiliza en los drones con piloto automático PX4, que utilizan NuttX para controlar una variedad de plataformas autónomas.


En octubre de 2023, Xiaomi anunció que estaba abriendo Xiaomi Vela, una plataforma de software IoT basada en NuttX que forma parte del ecosistema Xiaomi HyperOS (los dispositivos HyperOS de Xiaomi incluyen dispositivos basados en NuttX, Linux y Android[2]).


[2]


En diciembre de 2016, Samsung creó TizenRT, un fork para electrodomésticos inteligentes y dispositivos IoT.



↩ Inicio



systemstation.flounder.online/