He aquí por qué:
* en tiempo real versus propósito general: UNIX es un sistema operativo de uso general, diseñado para una amplia gama de aplicaciones. Las RTOS están diseñadas específicamente para aplicaciones que requieren tiempos de respuesta deterministas dentro de limitaciones de tiempo estrictos, como sistemas de control industrial o dispositivos integrados.
* Programación: UNIX utiliza un algoritmo preventivo de programación de tiempo compartido. Esto significa que los procesos tienen una cantidad fija de tiempo para ejecutar antes de ser interrumpidos. Este enfoque, aunque es eficiente para uso general, no garantiza los tiempos de respuesta rápidos necesarios para las aplicaciones en tiempo real. Las RTOS a menudo utilizan la programación basada en prioridades u otros métodos especializados para garantizar el rendimiento en tiempo real.
* Interrupción de latencia: Los sistemas operativos de uso general, como UNIX, a menudo tienen latencias de interrupción relativamente altas. Esto significa que puede haber un retraso significativo entre cuándo se produce una interrupción y cuándo el sistema operativo responde a ella. Este retraso es inaceptable en muchas aplicaciones en tiempo real.
Si bien Unix no es inherentemente en tiempo real, algunas implementaciones han agregado características para mejorar su rendimiento en tiempo real, como:
* Extensiones en tiempo real: Algunos sistemas basados en UNIX, como Linux, tienen extensiones en tiempo real (por ejemplo, prevent_rt) que ofrecen mejores capacidades en tiempo real.
* Duro en tiempo real versus en tiempo real suave: También es importante tener en cuenta que "en tiempo real" es un espectro. Los sistemas en tiempo real duros requieren garantías absolutas de los tiempos de respuesta, mientras que los sistemas de tiempo real suave priorizan las respuestas oportunas, pero permiten plazos ocasionales perdidos. Incluso con extensiones, los sistemas basados en UNIX generalmente se encuentran dentro de la categoría de tiempo real.
En resumen:
* Unix estándar: No es un sistema operativo en tiempo real.
* unix con extensiones: Puede lograr un rendimiento en tiempo real, pero no comparable a las RTOSE dedicadas.