Sistema operativo de tiempo real

Un sistema operativo de tiempo real es un sistema operativo que ha sido desarrollado para aplicaciones de tiempo real. Como tal, se le exige corrección en sus respuestas bajo ciertas restricciones de tiempo. Si no las respeta, se dirá que el sistema ha fallado. Para garantizar el comportamiento correcto en el tiempo requerido se necesita que el sistema sea predecible.

Características Generales

Usado típicamente para aplicaciones integradas, normalmente tiene las siguientes características:

  • No utiliza mucha memoria
  • Cualquier evento en el soporte físico puede hacer que se ejecute una tarea
  • Multi-arquitectura (código portado a cualquier tipo de CPU)
  • Muchos tienen tiempos de respuesta predecibles para eventos electrónicos

Se caracterizan por presentar requisitos especiales en cinco áreas generales:

  • Determinismo
  • Sensibilidad
  • Control del usuario
  • Fiabilidad
  • Tolerancia a los fallos
  • Son de tiempo compartido

En la actualidad hay un debate sobre qué es tiempo real. Muchos sistemas operativos de tiempo real tienen un planificador (en inglés conocido como scheduler), diseños de controladores que minimizan los periodos en los que las interrupciones están deshabilitadas, un tiempo finito conocido (casi siempre calculado para el peor de los casos, término que en inglés se conoce como worst case) de la duración de interrupción. Muchos incluyen también formas especiales de gestión de memoria que limitan la posibilidad de fragmentación de la memoria y aseguran un límite superior mínimo para los tiempos de asignación y retiro de la memoria asignada.

Un ejemplo temprano de sistema operativo en tiempo real a gran escala fue el denominado «programa de control» desarrollado por American Airlines e IBM para el sistema de reservas Sabre.

Other Languages