RTLinux es un sistema operativo de tiempo real que ejecuta Linux como un hilo de menos prioridad que las tareas de tiempo real. Con este diseño, las tareas de tiempo real y los manejadores de interrupciones nunca se ven retrasados por operaciones que no son de tiempo real.

RTLinux
Información general
Tipo de programa Kernel
Desarrollador FSMLabs, Wind River Systems
Lanzamiento inicial 1996
Licencia GPL2
Información técnica
Programado en C
Enlaces

La primera versión de RTLinux estaba diseñada para ejecutarse en la plataforma x86 y proporcionaba una pequeña API y un pequeño entorno de programación. La versión 2, que fue totalmente reescrita, fue diseñada para el soporte de multiprocesamiento simétrico (SMP) y para ser ejecutada en una amplia variedad de arquitecturas.

RTLinux proporciona la capacidad de ejecutar tareas de tiempo real y manejadores de interrupciones en la misma máquina que el Linux estándar. Estas tareas y los manejadores ejecutan cuando se necesitan en detrimento de lo que estuviera ejecutando Linux. El peor caso de tiempo es entre que se detecta la interrupción hardware y el procesador ejecuta la primera instrucción del manejador de la interrupción. Este tiempo es del orden de los 10 microsegundos en la plataforma x86.

La empresa Wind River actualmente es la propietaria de RTLinux[1]

Historia y evolución editar

  • RTLinux nació del trabajo de Michael Barabanov y Victor Yodaiken en New Mexico Tech, que posteriormente fundaron FSM Labs ofreciendo soporte técnico. En febrero de 2007, Wind River adquirió FSM labs.
  • RTLinux se distribuye bajo la "GNU Public License". Recientemente Victor Yodaiken ha patentado la original arquitectura en la que se basa RTLinux.
  • Actualmente funciona sobre arquitecturas PowerPC, i386, y está en desarrollo la versión para Alpha.
  • A partir del código de Yodaiken, se está desarrollando otro proyecto liderado por P. Mantegazza llamado: " Real Time Application Interface" RTAI
  • Las primeras versiones de RTLinux ofrecían un API muy reducido sin tener en cuenta ninguno de los estándares de tiempo real: POSIX Real-Time extensions, PThreads, etc.
  • A partir de la versión 2.0 Victor Yodaiken decide reconvertir el API original a otro que fuera "compatible" con el API de POSIX Threads. El documento design explica las líneas generales de la adaptación al estándar.
  • Existe una versión para multiprocesadores, con la posibilidad de asignar tareas a procesadores.

Relación entre RTLinux y Linux editar

Es importante no confundir la versión de RTLinux con la versión del núcleo Linux.

  • RTLinux no es código independiente. Esto es, no es una nueva versión de Linux.
  • Parte de la distribución de RTLinux es un "parche" sobre el código de Linux. Y otra parte son módulos cargables.
  • Cada versión de RTLinux está diseñada para funcionar sobre una versión de Linux. Por ejemplo la versión 3 de RTLinux necesita linux-2.3.48 o superior.

Características editar

  • Sistema operativo de tiempo real estricto.
  • Extensiones para entorno multiprocesador SMP (x86).
  • API "próximo" al de POSIX threads. Planificador expulsivo por prioridades fijas, señales, sistema de archivos POSIX (open, close, etc.) semáforos y variables condición.
  • Depuración de código mediante GDB (GNU Debugger).
  • Soporte para arquitecturas x86 y PPC.
  • Acceso directo al hardware (puertos e interrupciones).
  • Comunicación con procesos linux mediante memoria compartida y "tubos".
  • Estructura modular para crear sistemas pequeños.
  • Eficiente gestión de tiempos. En el peor caso se dispone de una resolución próxima al microsegundo (para un i486).
  • Facilidades para incorporar nuevos componentes: relojes, dispositivos de E/S y planificadores.

Referencias editar

  1. Wind River Company Wind River acquires RTLinux
  2. «Copia archivada». Archivado desde el original el 7 de octubre de 2015. Consultado el 7 de octubre de 2015. 

Enlaces externos editar