Aquí hay un desglose de las diferencias clave:
* Programación de tareas: Los OSE no realizados usan algoritmos de programación que se centran en maximizar el rendimiento o minimizar los tiempos de espera promedio. No ofrecen garantías sobre cuándo se ejecutará una tarea. OSE en tiempo real utilizan la programación basada en la prioridad para garantizar la finalización oportuna de la tarea.
* Comportamiento determinista: Los OSE no realizados exhiben un comportamiento no determinista, lo que significa que el tiempo de respuesta a un evento o solicitud puede variar según la carga del sistema y otros factores. Las RTOSS apuntan al comportamiento determinista, que significa tiempos de respuesta predecibles y consistentes.
* Manejo de interrupciones: Si bien las OSE no en tiempo real manejan las interrupciones, no tienen mecanismos para garantizar el procesamiento oportuno de las interrupciones cruciales para las aplicaciones en tiempo real. Las RTOSS priorizan y el manejo de las interrupciones rápidamente para cumplir con los plazos.
* Aplicaciones: Los sistemas operativos no realizados se utilizan para la computación de uso general, como PC de escritorio, computadoras portátiles y servidores que ejecutan aplicaciones como procesadores de palabras, navegadores web y juegos. Las OSE en tiempo real se utilizan en aplicaciones donde las respuestas oportunas son críticas, como los sistemas de control industrial, los dispositivos médicos y los sistemas aeroespaciales.
* Ejemplos: Windows, MacOS, Linux (cuando no está configurado como RTOS), y Android son ejemplos de sistemas operativos que no son de tiempo real.
Esencialmente, si la aplicación puede tolerar algunos retrasos sin causar falla o daño, un sistema operativo no real es suficiente. Si el tiempo preciso y la capacidad de respuesta son primordiales, es necesario un RTOS.