💾 Archived View for systemstation.flounder.online › rtos.gmi captured on 2024-08-31 at 12:06:12. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2024-08-24)

-=-=-=-=-=-=-

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.

RSX-11

Dentro de los sistemas RTOS encontramos RSX-11 (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. 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