Sistema operativo en tiempo real

Un sistema operativo en tiempo real en inglés RTOS para sistema operativo en tiempo real (generalmente pronunciado en inglés, separando la R del acrónimo: Are-toss) es un sistema operativo para el cual el tiempo máximo entre un estímulo de entrada y una respuesta de salida es precisamente determinado.

Estos sistemas operativos multitarea están pensados ​​para aplicaciones en tiempo real  : sistemas a bordo (termostatos programables, controladores de electrodomésticos, teléfonos móviles, robots industriales, naves espaciales, sistemas de control industrial, equipos de investigación científica).

Un RTOS facilita la creación de un sistema en tiempo real, pero no garantiza que el resultado final cumpla con las limitaciones de tiempo real, lo que requiere el correcto desarrollo del software. Un RTOS no necesariamente apunta a ser eficiente y rápido, pero un RTOS proporciona servicios y primitivas que, si se usan correctamente, pueden garantizar los retrasos deseados. Un RTOS utiliza programadores especializados para proporcionar a los desarrolladores de sistemas en tiempo real las herramientas y primitivas necesarias para producir el comportamiento deseado en tiempo real en el sistema final.

Tipos de diseños

Existen dos tipos de diseños:

El diseño por compartir tareas cambia las tareas con más frecuencia de lo estrictamente necesario, pero le da un carácter más fluido y determinista a la multitarea, dando la ilusión a un proceso o usuario de que es el único usuario de la máquina.

Los primeros diseños de procesadores necesitaban muchos ciclos para cambiar de tarea, tiempo durante el cual el procesador no podía hacer nada útil. Por lo tanto, el primer RTOS intentó limitar la pérdida de tiempo de la CPU evitando las permutaciones de contexto tanto como fuera posible.

Los procesadores más nuevos emplean mucho menos tiempo para cambiar de contexto. El caso extremo es el procesador Barrel  (en) que cambia de una tarea a otra en cero ciclos. Los RTOS más nuevos implementan invariablemente la programación de tareas compartidas con programación prioritaria.

Ejemplos de sistemas operativos en tiempo real

Notas y referencias

  1. (en) HipperOS
  2. y el parche PREEMPT_RT (rama del kernel de Linux ).
  3. nOS , github.com
  4. (in) Nombre: TEN III , el sitio hpmuseum.net.

Bibliografía

Artículos relacionados