No he hecho ningún trabajo en tiempo real, así que tómalo con un grano de sal ...
Me han dicho que hay dos categorías de "tiempo real": tiempo real duro y tiempo real blando.
"Tiempo real suave" informalmente significa "hacerlo lo más rápido posible". Creo que Linux en una CPU moderna es bueno para este tipo de cosas.
"Tiempo real duro" informalmente significa "hacerlo dentro de una ventana de tiempo requerida". La ventana puede ser bastante pequeña, milisegundos o algo así. Los sistemas de control de vuelo para misiles de crucero o vehículos de lanzamiento satelital parecen ser el ejemplo canónico. Los sistemas de control de procesos industriales también pueden necesitar esto. El gusano Stuxnet parece haber interferido con los sistemas que hacen este tipo de control.
Usaría RTOS en la última situación. RTOS a menudo garantiza la entrega de una interrupción en menos de tantas instrucciones o tics de reloj o lo que sea.
Otra consideración podría ser que un RTOS está diseñado, probado y / o "probado" para no consumir espacio de pila sin límite. Puede vivir dentro de una cierta cantidad mínima de memoria, y cosas como un "OOM Killer" no existen porque probablemente nunca sean necesarias. Algunas de las características más tontas de los primeros FORTRAN provienen de este tipo de requisitos. Cuando compiló un programa FORTRAN II, sabía exactamente cuánta pila y cuánto montón necesitaba, ya que no podía recurrir y no podía asignar nada dinámicamente.
Siendo realistas, la segunda consideración (consumo máximo de memoria garantizado) puede ser más importante en algunas aplicaciones críticas para la seguridad que la "latencia de interrupción garantizada de 0.001 segundos".
También me imagino que despojando el proceso de selección de la hoja de parra de la verborrea de soporte, encontrará que los ingenieros eligen un RTOS porque "los requisitos lo dicen".