Un sistema operativo integrado (EOS) es un sistema operativo diseñado específicamente para sistemas informáticos integrados . Estos sistemas tienen como objetivo mejorar la funcionalidad y la confiabilidad para realizar tareas dedicadas. [1] Cuando el método multitarea empleado permite la ejecución oportuna de tareas, dicho sistema operativo puede calificarse como un sistema operativo en tiempo real (RTOS). [2]
Los sistemas operativos integrados son parte integral de los productos electrónicos de consumo , como cámaras y teléfonos móviles . Además, alimentan la electrónica automotriz , ayudando en funciones como el control de crucero y la navegación . Además, son esenciales para la infraestructura de automatización de fábricas . Las aplicaciones cotidianas de EOS incluyen dispositivos de automatización de oficinas , como escáneres de imágenes , fotocopiadoras y puntos de acceso inalámbricos . Los sistemas de automatización del hogar , incluidos los sistemas de seguridad , también dependen de EOS. [3]
Los sistemas integrados comprenden un procesador y el software correspondiente . El software integrado requiere almacenamiento para ejecutables y procesamiento temporal de datos durante el tiempo de ejecución . Los sistemas integrados suelen utilizar ROM y RAM como componentes de memoria principal . Para la funcionalidad, los sistemas integrados necesitan interfaces de entrada y salida. Las configuraciones de hardware integrado suelen ser únicas y varían según la aplicación. [4] Dadas las limitaciones de recursos del hardware del sistema integrado, los sistemas operativos se diseñan con un alcance estrecho, adaptados a aplicaciones específicas para garantizar un funcionamiento óptimo dentro de las limitaciones del hardware. La elección del sistema operativo integrado, que organiza y controla el hardware, a menudo dicta los componentes de hardware integrados adicionales necesarios.
Los desarrolladores de software pueden escribir código esencial en lenguaje ensamblador para aprovechar toda la potencia de procesamiento de la unidad central de procesamiento (CPU). El lenguaje ensamblador, al ser eficiente para las máquinas, puede mejorar la velocidad en sistemas deterministas , pero puede reducir la portabilidad y la facilidad de mantenimiento . Con frecuencia, los sistemas operativos integrados se codifican en lenguajes de programación portables como C.
El concepto de un núcleo multitarea en tiempo real surgió a fines de la década de 1970. Durante la década de 1980, a medida que las aplicaciones de sistemas integrados crecían en complejidad, los sistemas operativos con núcleos multitarea en tiempo real luchaban por satisfacer las demandas cambiantes del desarrollo integrado. Esto llevó a la evolución del núcleo multitarea en tiempo real a un sistema operativo integral ( RTOS ), que abarca funciones de redes, administración de archivos, desarrollo y depuración .
En la actualidad, los RTOS constituyen una industria global. En 1981, Ready System desarrolló VRTX32, el primer núcleo comercial integrado en tiempo real del mundo. En 1993, tras una fusión, Ready System y Microtec Research de Silicon Valley desarrollaron dos nuevos núcleos RTOS, VRTX32 y VRTXsa, basados en VRTXmc . Al mismo tiempo, se presentó el entorno de desarrollo integrado VRTX, Spectra.
En 1996, Microsoft lanzó su sistema operativo integrado, WinCE , que admitía varias arquitecturas de procesador, incluidas x86 , ARM , SH4 y MIPS . Desde entonces, WinCE ha quedado obsoleto y el soporte general finalizó en 2018. [5]
OS-9 y VxWorks también son sistemas operativos integrados notables.
En el panorama actual de la Internet de las cosas (IdC), los dispositivos integrados son omnipresentes; tan solo los automóviles utilizan cientos de sensores. Los sistemas de la IdC, a diferencia de los sistemas integrados tradicionales, requieren un menor consumo de energía, mayor seguridad y confiabilidad, y la capacidad de establecer redes ad hoc [ cita requerida ] . La capa de comunicación debe facilitar la conversión entre diversos protocolos, mientras que la capa de aplicación debe permitir capacidades de computación en la nube a través de Internet .
Como resultado, varios nuevos sistemas operativos integrados han ganado popularidad, como las variantes de Embedded Linux [6] ( OpenWrt , Zeroshell , Android , LineageOS , LEDE , LibreCMC ), OpenHarmony , Oniro OS , HarmonyOS , NetBSD , [7] PX5 RTOS , ThreadX , FreeRTOS , entre otros.
Se han desarrollado numerosos proyectos, kits de herramientas y marcos basados en Linux para crear sistemas operativos que funcionan en una variedad de sistemas integrados. Algunos ejemplos destacados de estos incluyen OpenEmbedded , BusyBox , uClibc , musl libc y Buildroot .