Sistemas de Tiempo Real 1 Ctedra de Sistemas

  • Slides: 42
Download presentation
Sistemas de Tiempo Real 1 Cátedra de Sistemas Operativos Avanzados

Sistemas de Tiempo Real 1 Cátedra de Sistemas Operativos Avanzados

Objetivos 2 Explicar los requisitos de tiempo de sistemas de tiempo real Distinguir entre

Objetivos 2 Explicar los requisitos de tiempo de sistemas de tiempo real Distinguir entre sistemas de Tiempo Real Hard and Soft Discutir las distintas características de sistemas en tiempo real. Describir los algoritmos de planificación para Tiempo Real Duro (Hard real time)

Sistemas de Tiempo Real 3 Características de Sistemas en Tiempo Real Implementación de Sistemas

Sistemas de Tiempo Real 3 Características de Sistemas en Tiempo Real Implementación de Sistemas de Tiempo Real Planificación de CPU en Tiempo Real.

Ejemplos 4 Plantas químicas o nucleares. Control de complejos procesos de producción. Sistemas de

Ejemplos 4 Plantas químicas o nucleares. Control de complejos procesos de producción. Sistemas de conmutación de vías del ferrocarril. Aplicaciones automotrices. Sistemas de control de vuelo. Sistemas de telecomunicaciones. Automatización industrial. Robótica. Sistemas militares.

¿Qué tienen en común? 5 Llegan pedidos que deben ser procesados Rígidas limitaciones tiempo

¿Qué tienen en común? 5 Llegan pedidos que deben ser procesados Rígidas limitaciones tiempo de atención No hay procesamiento de datos Tiempos de repuesta prefijados

Parámetros de una tarea 6 Criticidad: Criticidad parámetro relativo a la consecuencia de perder

Parámetros de una tarea 6 Criticidad: Criticidad parámetro relativo a la consecuencia de perder un deadline Valor vi: importancia relativa de la tarea Retraso Li: es el retraso para completar una tarea dentro de su deadline fi-di Tardanza Ei: es el tiempo en el que una tarea permanece activa después de su deadline. Laxitud Xi: Xi= di-ai-Ci

Parámetros de una tarea 7 Tiempo de arribo ai: es el tiempo en el

Parámetros de una tarea 7 Tiempo de arribo ai: es el tiempo en el cual la tarea llega a la cola de listos, también se lo denomina tiempo de requerimiento ri Tiempo de computo Ci: es el tiempo necesario para que el procesador ejecute la tarea sin interrupción. Deadline Absoluto di: es el tiempo en el que una tarea debe ser completada para prevenir el daño o la degradación de performance. Deadline Relativo Di: es la diferencia entre el deadline absoluto y el tiempo de requerimiento Di= di-ri Tiempo de Comienzo si: el tiempo en el que la tarea comienza a ejecutar. Tiempo de finalización fi: tiempo en el que una tarea finaliza su ejecución. Tiempo de respuesta Ri: es la diferencia entre el tiempo de finalización y el tiempo de requeriiento Ri= fi-ri 32

Conceptos erróneos más comunes 8 Muy a menudo, la aplicación de control con restricciones

Conceptos erróneos más comunes 8 Muy a menudo, la aplicación de control con restricciones de tiempo estrictos son escritas en lenguaje assembler. Desventajas: Programación tediosa Eficiencia depende del programador. Código difícil de comprender. Dificultad de mantenimiento. Dificultad de verificación de los límites de tiempo.

Concepto de Tiempo 9 La exactitud de un sistema no depende únicamente de la

Concepto de Tiempo 9 La exactitud de un sistema no depende únicamente de la lógica del resultado sino también de cuando es producido. La medida del tiempo debe ser igual a la del tiempo externo que controla.

Tiempo Real 10 La aplicación principal no es procesar información Equivale al 99% de

Tiempo Real 10 La aplicación principal no es procesar información Equivale al 99% de la producción mundial Definición La diferencia entre el tiempo de entrada y el de salida debe ser de una temporalidad aceptable. Es aquel al que se le solicita que reaccione ante estímulos del entorno en intervalos de tiempo dictados por el entorno.

Tiempo Real 11 Tipos Estricto - HARD No Estricto-SOFT Tiempo Límite no alcanzable ocasionalmente

Tiempo Real 11 Tipos Estricto - HARD No Estricto-SOFT Tiempo Límite no alcanzable ocasionalmente Repuestas en tiempo límite Imperativo Puede haber más de un tiempo Límite El servicio se puede retardar

Limitaciones de los STR corrientes 12 Multitarea. Planificación basada en prioridades. Habilidad para responder

Limitaciones de los STR corrientes 12 Multitarea. Planificación basada en prioridades. Habilidad para responder rápidamente a las interrupciones externas. Mecanismos básico para comunicación y sincronización de procesos. Kernel pequeño y rápido context switch Soporte de un reloj en TR como una referencia de tiempo interna

13 Limitaciones de los STR corrientes Multitarea No toman en cuenta el tiempo Soporte

13 Limitaciones de los STR corrientes Multitarea No toman en cuenta el tiempo Soporte de Programación concurrente System Calls Manejo de procesos Introducen retardo en la tareas en ejecución

Limitaciones de los STR corrientes 14 Planificación basada en prioridades Permiten distintas implementaciones Mecanismos

Limitaciones de los STR corrientes 14 Planificación basada en prioridades Permiten distintas implementaciones Mecanismos Bastantes Flexibles Problemas con kernel con prioridades limitadas Respuesta Rápida a Interrupciones Externas Son Procesos de Alta Prioridad Deben tener la menor porción de código deshabilitada 128 o 256

Limitaciones de los STR corrientes 15 Mecanismos básico para comunicación y sincronización de procesos.

Limitaciones de los STR corrientes 15 Mecanismos básico para comunicación y sincronización de procesos. Sin Protocolo de acceso Pueden causar efectos indeseables Inversión de Prioridades Kernel pequeño y rápido context switch Tiempo de respuesta promedio mejora No garantiza la atención de todas las tareas antes de su tiempo límite Menores funciones de predecibilidad Soporte de un reloj en TR Debe manejar tiempos críticos en actividades que interactúan con el ambiente

Características deseables 16 OPORTUNIDAD -TIMELINES- RESULTADO CORRECTO DISEÑO PARA MÁXIMA CARGA -PEAK LOAD- EN

Características deseables 16 OPORTUNIDAD -TIMELINES- RESULTADO CORRECTO DISEÑO PARA MÁXIMA CARGA -PEAK LOAD- EN ESTAS CONDICIONES NO DEBEN COLAPSAR PREVISIBILIDAD -PREDICTABILITY- EL SISTEMA DEBE PODER PREDECIR LAS CONSECUENCIAS DE CUALQUIER DECISIÓN DE PLANIFICACIÓN EN EL DOMINIO DEL TIEMPO MANTENIMIENTO ESTRUCTURA FÁCIL DE ACEPTAR MODIFICACIONES TOLERANTE A FALLOS -FAULT TOLERANCEEL HW DEBE ESTAR PREPARADO PARA RESISTIR FALLOS

Lograr Previsibilidad 17 La propiedad más importante que debe tener un sistema en TR

Lograr Previsibilidad 17 La propiedad más importante que debe tener un sistema en TR es la PREVISIBILIDAD El primer componente que afecta a la previsibilidad es el procesador en si mismo. DMA CACHE Además de: INTERRUPCIONES SYSTEM CALLS SEMAFOROS ADMINISTRACIÓN DE MEMORIA LENGUAJES DE PROGRAMACIÓN

Traducción Dirección de Memoria 18

Traducción Dirección de Memoria 18

Sistemas de Memoria Virtual en RTS 19 Traducción de direcciones puede ocurrir : Modo

Sistemas de Memoria Virtual en RTS 19 Traducción de direcciones puede ocurrir : Modo Real donde los programas generan las direcciones actuales (P=L). 2) Registro de Relocation (P=L+R). 3) Implementado virtual memory (P=L->TLB).

Implementando SO de Tiempo Real 20 En general, un Sistema Operativo en Tiempo Real

Implementando SO de Tiempo Real 20 En general, un Sistema Operativo en Tiempo Real debe proveer : Planificación por Prioridades, Preemptive Kernel Preemptive La latencia debe ser minimizada

Minimización de Latencia 21 Latency de Evento es la cantidad de tiempo desde que

Minimización de Latencia 21 Latency de Evento es la cantidad de tiempo desde que ocurre el evento hasta que es servido

Latencia de Interrupción 22 Es el período de tiempo desde que arriba una interrupción

Latencia de Interrupción 22 Es el período de tiempo desde que arriba una interrupción a la CPU hasta que es servida.

Latencia del dispatcher 23 Es la cantidad de tiempo requerida para que el planificador

Latencia del dispatcher 23 Es la cantidad de tiempo requerida para que el planificador pare un proceso y cargue otro

Planificación no apropiativo 24 Dado un conjunto de tareas J={J 1, J 2, …JN}

Planificación no apropiativo 24 Dado un conjunto de tareas J={J 1, J 2, …JN} El planificador puede ser definido como una función: s: R+ N tal que V t e R+ E t 1, t 2 /t e [t 1, t 2] y V t´ e [t 1, t 2] s(t)=s(t´) s(t) es una función de paso entero s(t)=k k>0 significa que Jk se ejecuta en el tiempo t s(t)=0 CPU vacía.

Planificación apropiativa 25 HARD: una tarea se dice dura si en caso de completarse

Planificación apropiativa 25 HARD: una tarea se dice dura si en caso de completarse luego de su deadline (límite de tiempo), esto produciría resultados catastróficos. SOFT: se dice que una tarea es blanda si la pérdida de un deadline decrementa la performance del sistema, pero no pone en peligro su correcto funcionamiento.

Definición de Conceptos Básicos 26 Proceso Tarea (Thread) Política de Planificación (Criterio de asignación

Definición de Conceptos Básicos 26 Proceso Tarea (Thread) Política de Planificación (Criterio de asignación de CPU) Activación Despachar Terminación Ejecución Planificación Apropiar

Conceptos Básicos 27 PLANIFICADOR PREEMPTIVE Se Necesita Expropiar para ejecutar excepciones En tareas con

Conceptos Básicos 27 PLANIFICADOR PREEMPTIVE Se Necesita Expropiar para ejecutar excepciones En tareas con distintos niveles de importancia Crítica la expropiación permite colocar la tarea más crítica Planificadores más eficientes

Tipos Planificadores de Tiemo Real 28 Preemptive • La tarea en ejecución puede ser

Tipos Planificadores de Tiemo Real 28 Preemptive • La tarea en ejecución puede ser interrumpida y asignar el procesador a cualquier otra. Non Preemptive • Una vez que comienza una tarea se ejecuta hasta que finaliza. Static • Son algoritmos donde las decisiones están basadas en parámetros fijos. Dynamic • Las decisiones se basan en parámetros cambiantes durante la ejecución del proceso.

Tipos Planificadores de Tiemo Real 29 Off Line • Este se ejecuta sobre un

Tipos Planificadores de Tiemo Real 29 Off Line • Este se ejecuta sobre un conjunto de tareas antes de la activación de la tarea actual. On Line • las decisiones de planificación se toman en tiempo de ejecución cada vez que entra una tarea nueva al sistema. Optimal • Si minimiza algún costo dado sobre el conjunto de tareas. Cuando no se define ninguna función de costo y la única preocupación es adquirir un planificador posible, si existe. Heuristic • Si busca un planificador posible utilizando una función de objetivo (función heurística), no garantiza encontrar un algoritmo óptimo, aunque exista.

Sistema orientado a Bus 30

Sistema orientado a Bus 30

System-on-a-Chip 31 Muchos sistemas de tiempo real han sido diseñados utilizando la estrategia de

System-on-a-Chip 31 Muchos sistemas de tiempo real han sido diseñados utilizando la estrategia de sistema-enun-chip (SOC) SOC permite a la CPU, memoria, unidad de manejo de memoria, y puertos de periféricos asociados (ej. USB) estar contenidos en un solo circuito integrado.

System-on-a-Chip 32

System-on-a-Chip 32

Tipos de activación 33 Periódicas Infinitas secuencias de actividades idénticas. No Periódicas Infinitas secuencias

Tipos de activación 33 Periódicas Infinitas secuencias de actividades idénticas. No Periódicas Infinitas secuencias de activaciones donde la secuencia no es regular.

Planificación según periodo 34 Procesos Periódicos requieren la CPU en intervalos de tiempo especificados

Planificación según periodo 34 Procesos Periódicos requieren la CPU en intervalos de tiempo especificados (periodos) P es la duración de el período D es el deadline en el cual un proceso debe servido T tiempo de procesamiento

35 Planificación de tareas cuando P 2 tiene mayor prioridad que P 1

35 Planificación de tareas cuando P 2 tiene mayor prioridad que P 1

Planificación por prioridad monótona en tasa 36 La prioridad es asignada basada en la

Planificación por prioridad monótona en tasa 36 La prioridad es asignada basada en la inversa del período Períodos cortos = Alta prioridad Períodos largos = Baja prioridad P 1 tiene prioridad más alta que P 2.

Deadlines perdidos con Planificación por prioridad monótona en tasa 37

Deadlines perdidos con Planificación por prioridad monótona en tasa 37

38 Planificación por prioridad en finalización de plazo. Prioridades son asignadas acorde a los

38 Planificación por prioridad en finalización de plazo. Prioridades son asignadas acorde a los deadlines: El primer deadline, alta prioridad; El último deadline, la más baja prioridad.

39 Ley general de Murphy Si algo puede salir mal, saldrá mal. Constante de

39 Ley general de Murphy Si algo puede salir mal, saldrá mal. Constante de Murphy El daño a un objeto es proporcional a su valor. Ley de Naeser Uno puede hacer algo a prueba de bombas, pero no a prueba de mala suerte. Postulados de Troutman 1 Cualquier error de software tenderá a maximizar el daño. 2 El peor error de software será descubierto seis meses después del test de prueba de campo.

Ley de 40 Green Si un sistema es diseñado para ser tolerante a fallos,

Ley de 40 Green Si un sistema es diseñado para ser tolerante a fallos, seguramente aparecerá un idiota que causará una falla no tolerada. Corolario Los idiotas son siempre más expertos que las medidas tomadas para evitar el daño. Primera Ley de Johnson Si un sistema se para, lo hará en el peor momento posible. Segunda Ley de Sodd Tarde o temprano la peor combinación de circunstancias posibles pasarán.

Corolario 41 Un sistema debe ser diseñado para resistir la peor combinación de circunstancias

Corolario 41 Un sistema debe ser diseñado para resistir la peor combinación de circunstancias posibles. posible

42

42