Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porAlejandro Marmolejo Modificado hace 11 años
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
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
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.