Download RTAI (Real Time Aplications Interface)

Document related concepts

RTAI wikipedia , lookup

Proceso de arranque en Linux wikipedia , lookup

Xen wikipedia , lookup

Linux Unified Kernel wikipedia , lookup

Sistema operativo móvil wikipedia , lookup

Transcript
Introducción a Sistemas de Tiempo
Real
Rodrigo Camacho I
Gabriel Sepúlveda V
Programación de Sistemas
Segundo Semestre 2005
Idea Principal
Un sistema operativo de tiempo real nace bajo la
necesidad de poder responder a los requerimientos de
determinadas tareas críticas al tiempo en que ellos se
producen.
Estrategia:
•Administrar los recursos computacionales adecuadamente
para manejar tareas en tiempo real, por ejemplo interrupciones.
•Tratar a Linux como una tarea de baja prioridad insertando un
microkernel de tiempo real.
S.O. Tradicional

Arquitectura de sistema operativo: La memoria
física se divide en espacio usuario y espacio kernel.

El kernel maneja aplicaciones del espacio usuario.
S.O. Tradicional
Las principales labores de un sistema operativo son:

Gestión y planificación de procesos.

Gestión de memoria.

Interacción con el hardware.

Servidor de archivos.

Servidor de comunicaciones
La principal función de un S.O en tiempo real es proveer un
servicio adecuado a las aplicaciones que requieran respuesta
en un intervalo de tiempo determinado.
S.O. de Tiempo Real
¿Qué implica insertar un microkernel?
capacidad de interceptar y tratar las interrupciones de
hardware con el fin de minimizar los tiempos de
espera.
S.O. de Tiempo Real
S.O. de Tiempo Real
Se cuantifica esta propiedad mediante dos
medidas del tiempo de respuesta:

Latencia: tiempo desde que se produce una
interrupción (sofware o hardware) hasta que se
ejecuta la primera rutina de tratamiento.

Jitter : el periodo de Jitter cuantifica las
desviaciones temporales que presenta la ejecuación
de una tarea periódica con respecto al tiempo que
demora cada ciclo.
S.O. de Tiempo Real
En conclusión:
Un sistema operativo de tiempo real deberá
asegurar valores bajos de Latencia y Jitter, y
dentro de márgenes de variación máxima
determinados.
Tipos de Tiempo Real

Tiempo real estricto(Hard Real Time): aplicaciones
que tienen plazos estrictos y resulución de tiempo
muy fina. Ej: un robot que maneja autos.

Tiempo real flexible(Soft Real Time): aplicaciones
que tienen plazos flexibles y resolución de tiempo
no muy fina. Ej: editor de texto.

Tiempo real firme(Firm Real Time): aplicaciones que
permiten fallar algunos plazos pero que requieren
resulución de tiempo muy fina.
Estructura de un S.O. de Tiempo Real
En la actualidad hay dos corrientes de diseño:
Atención prioritaria en el kernel estándar (Preemptable kernel):
Se realizan modificaciones al kernel.
Modificaciones sobre le kernel estándar(Patch):
Se añade un kernel dual para manejar RT.
Entonces...
Este micro-kernel intercepta las interrupciones
hardware y asegura que las tareas de tiempo real
ejecuten con la mayor prioridad posible de forma que
la latencia se minimice.
Ejemplo de implementación de esta metodología son
RTLinux y RTAI.
Instalando RTAI
•
•
•
•
Debe recompilarse el kernel parchado.
Instalar Debian, preferentemente usando
sistema de archivos ext3.
Descargar el kernel fuente:
apt-get install kernel-source-version.
Extraer el kernel fuente:
cd /usr/src/
tar xjf kernel-source-version.
Parchar el kernel con RTAI.
•
•
•
•
•
Descargar rtai-24.1.11.tgz en home/my_home
Tar xzf rtai-24.1.11.tgz
Cd /usr/src/linux
su
patch –p1 < /home/my_home/rtai24.1.11/patches/patch-2.4.18-rthal15g
Compilar kernel (con patch).
•
•
•
•
•
•
cd /usr/src
ln –s kernel-source-version linux
cd Linux
make xconfig (o también: gconfig, menuconfig)
make dep
make bzImage
Compilar kernel (con patch).
•
•
•
•
•
make modules
make module_installl
cp arch/i386/boot/bxImage /boot
En nuestro caso se utilizó el gestor de arranque
grub por lo que agregamos la nueva editando el
archivo /boot/grub/menu.lst
Finalente rebooteamos para comprobar la
correcta instalación.
Compilar RTAI.
•
•
Se compila RTAI.
Se comprueba su funcionamiento
programas de prueba incorporados.
con
Proceso de desarrollo de RTAI.