Un sistema operativo en tiempo real es un tipo específico de sistema operativo de computadora que completa las tareas de manera muy confiable. Estos sistemas operativos tienen la capacidad de recibir información y generar resultados en tiempo real. Esto significa que los resultados de la información están listos al mismo tiempo que se necesitan los resultados. Este tipo de sistema operativo es el componente informático tradicional de una filosofía de fabricación e informática más amplia denominada informática en tiempo real.
Un sistema operativo de computadora estándar no usa la velocidad como factor determinante. La velocidad a la que se completa un proceso puede ser muy importante para el usuario, pero el sistema operativo en sí es completamente indiferente. Dado que la velocidad no es importante para la programación, un proceso puede interrumpirse o detenerse mientras se ejecuta otro proceso, que se reconoce como más importante.
Este tipo de procesamiento crea un nivel de variabilidad en la producción que es inaceptable en algunos sistemas. Algunos sistemas informáticos operan maquinaria costosa, gobiernan los servicios públicos o realizan otras tareas que involucran miles de vidas humanas o millones de dólares. Estas computadoras necesitan un nivel de salida confiable para prevenir accidentes y salvar vidas y dinero.
Para lograr este nivel de confiabilidad, la gente usa un sistema operativo en tiempo real. Estos sistemas sí utilizan el tiempo como factor determinante. El tiempo que tarda la información en ingresar al sistema y los cálculos realizados con esa información están estrictamente controlados.
Uno de los principales factores de un sistema operativo en tiempo real gira en torno a la priorización de procesos. En un sistema operativo estándar, ciertos procesos internos del sistema son más importantes que cualquier otro. Estos procesos no pueden ser interrumpidos por aplicaciones, independientemente de su prioridad. Un sistema operativo en tiempo real permitirá que el proceso de aplicación tenga la máxima prioridad si es necesario. Esto permite realizar cálculos importantes sobre el tiempo y la potencia que necesitan para finalizar dentro de una determinada ventana.
Un sistema operativo en tiempo real tiene un nivel de salida muy confiable, a menudo a expensas de la velocidad general. Dado que el tiempo del sistema y del procesador es más variable, es posible que las acciones no importantes tarden más en finalizar. El direccionamiento e intercambio de memoria es más lento y más estable que en un sistema tradicional. En esencia, se necesita más tiempo para escribir y recuperar la información, pero la información siempre está ahí cuando es necesario.
Hay dos tipos básicos de sistemas operativos en tiempo real, rígidos y blandos. En un sistema rígido, la información debe estar donde debe estar dentro de un cierto período de tiempo o la información es inútil. Estos suelen ser sistemas críticos que gobiernan los equipos médicos, los servicios públicos o las casas de cambio. En un sistema flexible, hay más libertad de acción sobre cuándo exactamente se requiere la información. Este estilo es común en lugares como sistemas de navegación y equipos en constante actualización como el radar.