Subsecciones
Trabajo relacionado
Varios esfuerzos se han hecho para tener sistemas operativos
de RT. Esas soluciones se pueden clasificar como núcleos
pequeños pero rápidos, extensiones a SO comerciales y SO
de investigación. En este artículo nos enfocaremos a
las extensiones a Linux.No entraremos en los detalles de cada
solución.
Hay algunos SO de RT disponibles comercialmente, pero en su
gran mayoría son costosos. En cambio, existen soluciones
gratuitas basadas en LINUX. Algunas de ellas son:
- KURT
- RTLinux
- REDLinux
- LINUX/RK.
Cada una de estas soluciones resuelve el problema de
cumplimiento de plazos y resolución de tiempo de forma
diferente.
KURT básicamente hace dos modificaciones al núcleo de
Linux. Cambia la resolución temporal y usa un planificador
de trabajos fuera de línea [3]. Para mejorar la
resolución de tiempo y evitar el sobre trabajo en mantener
el relog KURT usa el contador del grupo fecha/hora (Time Stamp
Counter) [6]. Para tener mayores información en
referencia al TSC se invita al lector revisar la referencia
número [6].
La segunda modifcación es en planificador de
trabajos. Este requiere que la aplicación fije los plazos,
esto puede ser considerado un ejemplo del paradigma de
programar procesos a través de una tabla [5].
RT-Linux provee de una solución distinta. RT-Linux separa los
mecanismos usados en RT de los de propósito general en el
núcleo
. Con
el fin de coordinar las multiples llamadas a interrupción
Este tiene un proceso el cual atiende las interrupciones. Al
igual que KURT modifica el planificador de trabajos y emplea
dos modos de planificación de tareas: paso a paso o periodica
. La
idea usada en RT-Linux se asemeja a la idea de núcleo
pequeño propuesta por Ramamritham [5].
RED-Linux usa la resolución de tiempo y el mecanismo de
emulación de atención a interrupciones hechos por
TR-Linux [9] pero usa una politica diferente de
programamción de tareas. Su programador de tareas se
divide en dos partes: reservador y repartidor. El
reservador es responsable de preparar los recursos de un nuevo
proceso o tarea. Este reservador produce una prioridad
efectiva para cada proceso. Basado en esta prioridad el
despachador decidirá el order de ejecución
[9]. La prioridad efectiva es una
refinación de tres paradigmas de programación: Por
prioridad, por tiempo y por proporción.
Linux/RK reserva recursos como procesador, accesos a disco,
etc. Este es similar a una agencia de viajes la cual hace
reservaciones para el viajero. Este aprovecha la
resolución temporal y emplea una programación
dinámica.
Es importante recordar que no existe la solución
perfecta. Algunas soluciones se ajustan mejor para un tipo de
aplicación que otras. En las investigaciones hechas en
nuestra institución KURT ha sido la mejor solución a
nuestras necesidades. Además se ha ido adecuando a
nuestros requerimientos.
Siguiente: Diseño Conceptual del dispositivo
Superior: Dispositivo KURT, KU Tiempo
Anterior: Conceptos Básicos de Tiempo
Download this document: [src.tar.gz][ps.gz][html.tar.gz][dvi.gz]
Congreso HispaLinux 2000