La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Conceptos en Sistemas de Tiempo Real (Real Time Systems) Jair Jonko Araujo

Presentaciones similares


Presentación del tema: "Conceptos en Sistemas de Tiempo Real (Real Time Systems) Jair Jonko Araujo"— Transcripción de la presentación:

1 Conceptos en Sistemas de Tiempo Real (Real Time Systems) Jair Jonko Araujo

2 Caracterización Sistemas de Tiempo Real –respuestas deben ser válidas (correctness) y dentro de plazos (Timeliness) impuestos por el ambiente. Sistemas No de Tiempo Real –respuestas válidas en plazos aceptables, no especificados. Una Definición [Audsley90]: –Un Sistema de Tiempo Real es un sistema que produce reacciones a estímulos oriundos del ambiente dentro de intervalos de tiempos impuestos por el ambiente (es incluyendo entre estos estímulos el pasar del tiempo físico).

3 Caracterización Fuerte acoplamiento de un STR con su Ambiente: –Proceso activado por estímulos del Ambiente –Tiempos de Respuesta delimitan Estímulos/Respuestas Procedimientos deben terminar dentro de plazos (deadlines) Si terminar fuera de plazo sistema falla (falla temporal) Datos con plazos de validez: –Datos desactualizados o no válidos (outdated data) pueden conducir a resultados o respuestas incorrectas Flujos de control en la ejecución de los procedimientos es definida por el ambiente: –Imposibilidad en muchas aplicaciones del STR ejercer un control o limitación en los estímulos provenientes del ambiente

4 Conceptos Básicos Tarea (task ) –Segmento de código cuya ejecución posee atributo temporal propio –Ejemplo: método en OO, subrutina, trecho de un programa Deadline –Instante máximo deseado para la conclusión de una tarea

5 Conceitos Básicos Tiempo real crítico ( hard real-time ) –Falla temporal puede resultar en consecuencias catastróficas –Necesario garantir requisitos temporales en proyecto –Ejemplo: usina nuclear, industria petroquímica, misiles Tiempo real no crítico ( soft real-time ) –Ejemplo: multimedia

6 Conceptos Básicos Modelo de Tareas (task system ) –Descripción de las propiedades temporales de las tareas en el sistema –Ejemplo: periódicas o no, con duración conocida o no, etc Carga de Tareas ( task load ) Descripción de cuales tareas deberan ser ejecutadas Estática: Limitada y conocida en proyecto Dinámica: Conocida solamente a lo largo de la ejecución

7 000Conceptos Básicos Previsibilidad ( predictability ) –Capacidad de afirmar algo sobre el comportamiento futuro del sistema Determinista: Garante que todos los requisitos temporales serán cumplidos Probabilista: Provee una probabilidad para su cumplimiento La previsibilidad en STRs determina implicaciones en todos los niveles: –lenguages –sistemas operacionales –comunicación –arquitectura del computador, etc

8 Conceptos Básicos Escalonamiento ( scheduling ) –Identifica la forma cómo recursos son adjudicados a las tareas Escalonador ( scheduler ) – Componente del sistema responsable de la gerencia de recursos Escala de Ejecución( schedule ) –Describe cuando cada tarea ocupa cada recurso Escalonamiento Estático ( static scheduling ) –Capaz de ofrecer previsibilidad determinista Escalonamento Dinámico ( dynamic scheduling ) –Capaz de ofrecer apenas previsibilidad probabilista

9 Conceptos Básicos Event-Triggered –Evento externo genera interrupción y dispara tarea –Funciona bien con carga pequeña –Puede fallar en caso de carga pesada –Ex: Cano estourado gera chuva de eventos

10

11

12 Conceptos Básicos Time-Triggered –Interrupción de reloj a cada T milisegundos (tick) –A cada tick algunos sensores y actuadores son apagados –No existen interrupciones además de las del reloj –Problema es selecionar T (carga x atraso) –Ex: Relación causa-efecto en tren y cancela

13 Propiedades Temporales de Tareas Folga = Deadline - Liberação - Tempo de execução Atraso = MAX( 0, Conclusão - Deadline ) Tempo de resposta = Conclusão - Chegada

14 Tareas Periódicas – Tarea es activada a cada P unidades de tiempo – Instantes de llegada pueden ser calculados a partir del inicial – Ejemplo: control de proceso via lazo de realimentación

15 Tareas Esporádicas – Instantes de llegada no son conocidos – Existe un intervalo mínimo de tiempo entre llegadas – Ejemplo: atención al botón de alarma

16 Conceptos Básicos Tarea Aperiódica –Nada es sabido sobre las activaciones de la tarea –Ejemplo: aparición de objeto en pantalla de radar Relaciones de exclusión mutua entre tareas –Tareas A y B presentan exclusión mutua cuando NO pueden ejecutar simultáneamente Ejemplos: –Estructura de datos compartida –Archivo –Controlador de periférico

17 Abordage para Escalonamiento TR

18 Abordages con garantía en proyecto Ofrece previsibilidad determinista, con análisis hecho en proyecto –Carga limitada y conocida en proyecto ( Hipótesis de Carga ) –Supuesto un límite para faltas ( Hipótesis de Faltas ) Dividida en dos partes: –Análisis de escalonabilidad –Construcción de escala de ejecución

19 Abordages con garantía en proyecto Ventajas –– Determina en proyecto que todos los deadlines serán cumplidos –– Necesario para aplicaciones críticas –– Teoría sirve de base para abordages sin garantia Desventajas –Necesario conocer exactamente la carga –Necesario reservar recursos para el peor caso –Difícil determinar el pior caso en soluciones off-the-shelf –Genera enorme subutilización de recursos

20 Ejecutivo Cíclico Todo el trabajo de escalonamiento es hecho en proyecto Resultado es uma grade de execução ( time grid ) Grade determina cual tarea ejecuta cuando Garantia obtenida a través de una simple inspección de escala Durante la ejecución: –Pequeño programa lee la grade y dispara la tarea apropiada –Cuando la grade termina ella es nuevamente repetida Vantaja: Comportamiento completamente conocido Desventaja: Escalonamento muy rígido, tamaño de la grade Muy usado en aplicaciones embutidas ( Embedded Systems )

21 Ejecutivo Cíclico Restricciones deben ser observadas en la construcción de la grade –Período, tiempo máximo de computación –Precedencias, exclusión Escalonamiento puede ser: –Preemptivo: tarea puede ser suspendida y despues retomada –En el preemtivo: después que inicia tarea va hasta el fin

22 Prioridades + Test de Escalonamiento Cada tarea recibe una prioridad Prioridades pueden ser fijas o variables Escalonamiento en general es preemptivo Test ejecutado en proyecto determina escalonabilidad –Test considera forma cómo prioridades son atribuidas –Complejidad depende del modelo de tareas No ejecución: –Escalonador dispara las tareas conforme las prioridades

23 Prioridades + Test de Escalonamiento Ventaja: Soporta tareas esporádicas, no tiene grade Desventaja: Tests limitados a algunos modelos de tareas Usado en aplicaciones que exigen garantia mas son muy complejas para construir una grade Políticas mas usadas –Earliest Deadline First – EDF –Rate Monotonic – RM (período menor – prioridad mayor) –Deadline Monotonic – DM (deadline menor – mayor prioridad)

24 Inversion de Prioridades

25 Prioridades + Test de Escalonabilidad Ventaja: Soporta tareas esporádicas, no tiene grade Desventaja: Tests limitados a algunos modelos de tareas Usado en aplicaciones que exigen garantia mas son muy complejas para construir una grade Políticas más usadas –Earliest Deadline First – EDF –Rate Monotonic – RM (período menor – prioridad mayor) –Deadline Monotonic – DM (deadline menor – mayor prioridad)

26 Soportes para Aplicaciones de Tiempo Real Aplicaciones son construídas a partir de los servicios ofrecidos por un sistema operacional Atender los requisitos temporales depende no solamente del código de la aplicación mas también de la colaboración del sistema operacional En el sentido de permitir previsibilidad o por lo menos un desempeño satisfactorio

27 Soportes para Aplicaciones de Tiempo Real Muchas veces los requisitos temporales de la aplicación son tan rigurosos que el sistema operacional es substituído por un simple núcleo de tiempo real No incluye servicios como –sistema de archivos o –gerencia sofisticada de memoria Núcleos de tiempo real ofrecen una funcionalidad mínima Mas son capaces de presentar excelente comportamiento temporal

28 Soportes para Aplicaciones de Tiempo Real Sistemas operacionales convencionales son construídos con el objetivo de presentar buen comportamiento medio –Distribuyen los recursos de forma justa entre las tareas y los usuarios –No existe preocupación con la previsibilidad. Mecanismos como Caches de disco, Memoria virtual, Porciones de tiempo del procesador –mejoran el desempeño medio del sistema –mas tornan mas difícil hacer afirmaciones sobre los tiempos de una tarea en particular

29 Soportes para Aplicaciones de Tiempo Real Aplicaciones con restricciones de tiempo real –menos interesadas en una distribución uniforme de los recursos –más interesadas en atender requisitos tales como períodos de activación y deadlines Sistemas operacionales de tiempo real –atención es dedicada al comportamiento temporal –servicios son definidos no solamente en términos funcionales –mas también en términos temporales

30 Soportes para Aplicaciones de Tiempo Real Existe una variedad muy grande de Sistemas Operacionales de Tiempo Real No existe SO mejor o peor para todas las aplicaciones La diversidad de aplicaciones de STR genera una diversidad grande de SOTR


Descargar ppt "Conceptos en Sistemas de Tiempo Real (Real Time Systems) Jair Jonko Araujo"

Presentaciones similares


Anuncios Google