260 likes | 352 Views
Arquitectura de Sistemas de Tiempo Real (ASTR 2008/9). tpbn@atc.us.es . 5º Ingeniería en Informática. Tema 1: Introducción y conceptos básicos. Objetivos del tema: Identificar las características que definen un sistema de tiempo real (STR).
E N D
Arquitectura de Sistemas de Tiempo Real (ASTR 2008/9). tpbn@atc.us.es. 5º Ingeniería en Informática. Tema 1: Introducción y conceptos básicos. • Objetivos del tema: • Identificar las características que definen un sistema de tiempo real (STR). • Introducir algunos conceptos importantes en el tratamiento de SSTR. • Identificar los tipos de SSTR más comunes. • Bibliografía del tema: • Liu, J. W. “Real-Time Systems”. Prentice Hall, 2000. Tema 1. (C) • Burns, A., Wellings, A., Real Time Systems and Programming Languages. Segunda Edición, Addison-Wesley, 1996. Tema 1.
ASTR 1. Ejemplo de un sistema de tiempo real (I). Frenos ABS (Anti Block System) en un automóvil: Evita una posible perdida del control de la dirección de un automóvil cuando se frena. Movimiento si giran las ruedas delanteras Movimiento si las ruedas delanteras se bloquean debido a una frenada
ASTR 1. Ejemplo de un sistema de tiempo real (II). Frenos ABS (Anti Block System) en un automóvil. Diagrama de bloques. Sensor pedal de freno Control de frenada Actuador de freno Sensor de ángulo de giro Sensor de velocidad Hay un bloque de este tipo por rueda Esto es una simplificación
ASTR 1. Determinismo temporal (I). • Sistema de propósito general: • Sus acciones siempre deben tener corrección lógica. Determinismo lógico. • Sistema de tiempo real: • Además de determinismo lógico, las acciones de un STR deben realizarse en el momento adecuado, es decir, deben tener corrección temporal. Determinismo temporal. Ejemplo (ABS): • Evento externo El usuario pisa el pedal de freno. • Respuesta del sistema Activar el actuador del freno. • Corrección lógica y temporal: siempre se debe frenar antes de un tiempo determinado. El determinismo temporal se puede dar a varios niveles.
ASTR 1. Determinismo temporal (II). • Un sistema de tiempo real es aquel en el que el tiempo de respuesta a estímulos externos es vital para el sistema [Kris 97]. • Las restricciones temporales son una parte significativa de los requisitos del sistema. La influencia de los requisitos temporales puede variar mucho dependiendo de la naturaleza de la aplicación: Límite Utilidad T. de respuesta máximo (TRmax) Función de utilidad (value function) del sistema cuando una respuesta retrasada invalida los resultados: Sistema ABS.
ASTR 1. Determinismo temporal (III). • En algunas aplicaciones, se pueden dar resultados válidos aunque no se cumplan las especificaciones temporales: Tienen funciones de utilidad con el siguiente aspecto: Límite Utilidad T. de respuesta máximo (TRmax)
ASTR 1. Ejemplo de aplicaciones de tiempo real: Control de procesos (I). Son aplicaciones en las que el computador actúa sobre un proceso un proceso físico externo para mantenerlo en un estado deseado. Un ejemplo típico es el control de la velocidad de un motor en lazo cerrado: Operador Computador de control de velocidad del motor Unidad potencia + Motor Actuador del motor Velocidad deseada Sensor de posición o velocidad angular
ASTR 1. Control de procesos (II). Bucle típico de control digital en lazo cerrado para controlar el estado de un proceso: rk Referencia r(t) Algoritmo o ley de control A/D uk D/A A/D yk Actuador u(t) Sensor y(t) Proceso
ASTR 1. Control de procesos (V). Características comunes. • ¿De donde vienen las restricciones temporales? Velocidad de muestreo correcta. Velocidades bajas. Sin degradación grave. Con degradación grave.
ASTR 1. Control de procesos (VI). Características comunes. • Una actuación incorrecta (lógica o temporalmente) puede ser peligrosa. • Sistemas de E/S orientados a la adquisición de datos de algún proceso físico. • Las medidas tienen un tiempo de validez. • Las mediciones pueden estar dirigidas por tiempo o por eventos. • Suelen ser necesarios procesos (SW o HW) de acondicionado de las mediciones y validación. • Los procesos de control pueden ser continuos (cíclicos) o discretos (eventos). • Necesitan supervisión de la integridad de sistemas (datos adquiridos, actuaciones, …). En muchos casos es necesario tener mecanismos de control alternativos por si algún sensor, actuador o proceso falla.
ASTR 1. Ejemplo de aplicaciones de tiempo real: Sistemas multimedia (I). • Son aplicaciones orientadas al tratamiento de sonido y/o imagen en movimiento. • Tratamientos de valores numéricos procedentes del muestreo de imágenes y/o sonidos. • No todos los procesos multimedia son STR; sólo si existen restricciones temporales: • Multimedia no STR: edición de sonidos almacenados en ficheros. • Multimedia STR: reproducción/captura de un fichero de sonido. Un ejemplo típico es la transmisión de imágenes de video: Alg. de captura y compresión A/D Transmisor Canal Alg. de descompresión D/A Receptor
ASTR 1. Sistemas multimedia (II). Características comunes. • Manejan gran cantidad de datos. • Siempre son intensivos en datos. • A veces también son intensivos en computación. • No se producen actuaciones sobre el medio físico. Una actuación incorrecta (lógica o temporalmente) no suele ser peligrosa. • En muchos casos si se pierde alguna imagen y se substituye por la anterior no ocurre nada (si esto se hace una prporción pequeña de veces).
ASTR 1. Computadores empotrados (I). • Una gran parte de sistemas de tiempo real incorporal computadores empotrados (embedded): • Están integrados en la estructura física de la maquinaria que controlan: • Vehículos: Coches, autobuses, trenes, aviones, barcos, grúas, … • Maquinaria industrial: Robots, células de fabricación, maquinas/herramienta,… • Sistemas de comunicación: Teléfonos móviles, repetidores, rotures, radio, … • Electrodomésticos: Elec. línea blanca, televisores, videos, cámaras fotos, alarmas, … • Ocio: Consolas videojuego, juguetes, salas de cine, sistemas de sonido, iluminación, … • Armamento: Guía de misiles, balística, … • Algunos sistemas programables (PDAs, smartphones, videoconsolas) están a medio camino entre los sistemas empotrados y los de proposito general.
ASTR 1. Computadores empotrados (II). Un ejemplo. Unidad de control para un SCORBOT ER-VII: Brazo robot (5 ejes) Unidad de control Entorno • Características Hardware (ER-IX B): • CPU: 68020-68881. • 512 KB. ROM, 512 KB RAM • E/S: • Tarjetas de control de motores (6-12 ejes). • 2-10 RS232. • 16 entradas, 16 salidas digitales (12-24 voltios)
ASTR 1. Computadores empotrados (IV). Características comunes. • Recursos limitados: procesador, memoria, pantalla... • Ejecuta un conjunto limitado de programas. • Arquitectura orientada al sistema que controla. Sobre todo los sistemas de E/S. • Poca o ninguna intervención de operadores humanos. • Ciclo de vida y evolución tecnológica muy condicionados por el mecanismo que controla.
ASTR 1. Parámetros influyentes en un SSTR. Técnicas de especificación. • Caracterización temporal. • Un STR debe responder ante ciertos eventos dentro de un plazo de tiempo determinado y especificado. • Hay que describir temporalmente la respuesta del sistema --> Tareas. • Hay que especificar las restricciones temporales --> Plazos de ejecución de las tareas. • Las restricciones temporales afectan fuertemente al diseño y análisis del sistema. • Tarea: Actividades que se ejecutan en un computador en respuesta a un evento. • Dos tipos de tareas: • Periódicas o cíclicas. Responden a eventos que se producen periódicamente. • Esporádicas. Responden a eventos que se producen irregularmente. • Cada vez que se ejecuta una tarea, debe terminar antes de su plazo de ejecución (deadline) asociado.
ASTR 1. Caracterización temporal de tareas (I). • Características temporales de una tarea periódica: • En las tareas esporádicas, el periodo se sustituye por la separación o tiempo mínimo entre activaciones consecutivas. Límite (D) Activación Siguiente activación Plazo de ejecución Arranque Terminación Ejecución de la tarea t Tiempo de respuesta Periodo ( T )
ASTR 1. Caracterización temporal de tareas (II). • Las características temporales dependen directamente de la arquitectura hard/soft: • Arranque: • Latencia de interrupciones --> sistema microprocesador <--> E/S y Sistema Operativo. • Tiempo de ejecución: • Tecnología arquitectura del procesador/sistema de memoria (ciclo de reloj, pipeline, cache, paginación, …). • Tiempo de respuesta (además del tiempo de ejecución): • S.O. : Política de gestión de tareas (scheduling), memoria y entrada/salida. • Cambios de contexto. • Periodo y plazos de ejecución: • Naturaleza del problema. • Características del hardware y de los algoritmos que implementan la solución.
ASTR 1. Corrección temporal (I). • Un STR tendrá corrección temporal si todas sus tareas se ejecutan siempre antes de su plazo de ejecución. • Esto condiciona el diseño y el análisis del sistema: • Diseño: La arquitectura del STR debe asegurar el determinismo de las actividades. • Análisis: Se deben disponer de técnicas que permitan comprobar la corrección del sistema en cualquier condición operativa. • Las consecuencias de que una tarea no cumpla sus plazos dependen de la naturaleza de la tarea/aplicación: • Tareas esenciales o no esenciales: presentan o no restricciones temporales. • Una tarea esencial puede ser: • Crítica: Debe completarse siempre dentro de su plazo. • Acrítica: puede completarse fuera de plazo sin producir efectos inadmisibles en el sistema.
ASTR 1. Corrección temporal (II). • Sistemas de tiempo real duro: tienen al menos una tarea crítica. • Sistemas de tiempo real blando: todas sus tareas son acríticas. • Las dificultades para asegurar el determinismo aumentan conforme aumenta la complejidad de la arquitectura. • Esto es fácil de ver con un ejemplo sencillo: control de un motor en lazo cerrado: Operador Control velocidad del motor Unidad potencia + Motor Actuador del motor Velocidad deseada Sensor de giro Esquema general del algoritmo de control.
ASTR 1. Algunos Parámetros influyentes en un SSTR. Fiabilidad y seguridad. • La fiabilidad de un STR la probabilidad de proporcionar un servicio determinado. Los parámetros más comunes son: • Tasa de fallos l (averías/unidad de tiempo). • Tiempo medio entre averías: MTTF= 1/ l. • Sistemas ultrafiables: MTTF > 109 horas (106 años aprox.) • La seguridad mide las consecuencias de una avería. • Tipos de averías: malignas y benignas. • Averías malignas: su coste es muy superior a la utilidad del sistema. • Sistemas críticos: son ultrafiables con respecto a averías malignas. • Otras medidas de seguridad: • Mantenibilidad: mide el tiempo necesario para reparar una avería benigna. • Tiempo medio de reparación MTTR: • Disponibilidad: mide el tiempo en el que el sistema está operativo.
ASTR 1. Clasificación de los SSTR. Tipos de plazos de ejecución. • Tipos de plazos de ejecución, en función de la gravedad de su incumplimiento: • Duro o crítico (Hard Deadline). Resultados puede ser “catastrófico”. • Firme (Firm Deadline). Resultados sin sentido o inútiles. • Blando o no crítico (Soft Deadline). Deteriora la utilidad o el sentido de los resultados, aunque no los invalida totalmente. • El tipo de plazo de ejecución de una tarea depende de las características de la aplicación. • Aunque a veces puede verse influenciado por el proceso de diseño. • Los SSTR pueden clasificarse en: • STR duro (o STR críticos): Hay al menos una tarea con plazo de ejecución duro. • STR firme : No hay tareas con plazos duros, pero si al menos una con plazo firme. • STR blando (o STR no críticos) --> Solo hay tareas con plazo de ejecución blando.
ASTR 1. Clasificación de los SSTR. SSTR duros. Las características de un STR duro tienden a hacerlo lo más resistente posible a fallos: • En condiciones operativas normales: • Plazos de respuesta críticos --> comportamiento predecible en sobrecargas. • Deben ser ultrafiables respecto a averías malignas. • Comportamiento temporal garantizado analíticamente (sistemas con respuesta garantizada: guarantee response systems). • Deben disponer de mecanismos que reduzcan el coste de una avería: • Mecanismos de tolerancia a fallos --> sistema con degradación aceptable. • Mecanismos de detección de fallos --> sistemas con parada segura.
ASTR 1. Clasificación de los SSTR . SSTR firmes y SSTR blandos. Las características de un STR blando: • No existen plazos de respuesta críticos. • El sistema hace lo que puede comportamiento degradado en sobrecargas. • No existen averías malignas. • No se hace caracterización precisa de carga y fallos. • No tienen comportamiento temporal garantizado analíticamente (sistemas que hacen lo que pueden: best-effort systems). • Los mecanismo de tolerancia a fallos pueden ser justificables económicamente. • Si el coste de reparar la avería es mayor que el coste del mecanismo de tolerancia. • Características Tiempo real firme (sistemas periódicos): • Hay que cumplir estrictamente los plazos en un alto % de las ocasiones. • En los demás casos se usa como salida la correspondiente al periodo anterior. • El ej. Tipico es el procesado de audio o vídeo.
ASTR 1. Capas en el diseño de un STR: determinismo y arquitectura. • El determinismo es fácil de asegurar si se usan arquitectura muy sencillas (pero de prestaciones limitadas). • Muchas de las mejoras en la arquitectura hard/soft suelen estar orientadas al aumento del rendimiento medio basandose en mejorar los casos más comunes, por lo que afectan al determinismo: • Pipelines: • Predicción de saltos, ejecución especulativa. • Superescalares. • Caches. • Memoria virtual. • Gestión de multitarea. • Gestión de E/S. • Sistemas de comunicación. • Mejoras en la velocidad de ejecución no implican mejoras en el determinismo de la ejecución. • Puede haber grandes diferencias entre distintas ejecuciones de una misma tarea.