170 likes | 296 Views
Introducción a Sistemas de Tiempo Real. Rodrigo Camacho I Gabriel Sepúlveda V Programación de Sistemas Segundo Semestre 2005. Idea Principal. Estrategia: Administrar los recursos computacionales adecuadamente para manejar tareas en tiempo real, por ejemplo interrupciones.
E N D
Introducción a Sistemas de Tiempo Real Rodrigo Camacho I Gabriel Sepúlveda V Programación de Sistemas Segundo Semestre 2005
Idea Principal • 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. 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.
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 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/rtai- 24.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 con programas de prueba incorporados.