34
Informática III Informática III Ejecutivos cíclicos VS. Ejecutivos de prioridad Ejecutivos cíclicos VS. Ejecutivos de prioridad fija fija Arquitectura de Software Arquitectura de Software para aplicaciones de tiempo para aplicaciones de tiempo real estricto real estricto Integrantes: Anibal Barros Porri Lucas Iede Diego Magdalena

Arquitectura sw

Embed Size (px)

DESCRIPTION

Arquitectura software

Citation preview

Page 1: Arquitectura sw

Informática IIIInformática III

Ejecutivos cíclicos VS. Ejecutivos de prioridad fijaEjecutivos cíclicos VS. Ejecutivos de prioridad fija

Arquitectura de Software Arquitectura de Software para aplicaciones de tiempo para aplicaciones de tiempo

real estrictoreal estricto

Integrantes:Anibal Barros PorriLucas IedeDiego Magdalena

Page 2: Arquitectura sw

Introducción Introducción

En la práctica existen 2 enfoques basicos de aplicación para el diseño de sistemas de tiempo real, los cuales son:

• La arquitectura ejecutiva cíclica

• La arquitectura ejecutiva de prioridad fija

Arquitectura de Software para aplicaciones de tiempo real estrictoArquitectura de Software para aplicaciones de tiempo real estricto

Page 3: Arquitectura sw

Objetivo principal de Objetivo principal de diseñodiseño

• El objetivo principal de diseño de aplicaciones de tiempo real es:

Arquitectura de Software para aplicaciones de tiempo real estrictoArquitectura de Software para aplicaciones de tiempo real estricto

la arquitectura debe ser capaz de proporcionar una predicción comprobable de la capacidad del diseño de aplicaciones para satisfacer todas las limitaciones de su

tiempo.

Page 4: Arquitectura sw

Determinismo y Determinismo y PredictibilidadPredictibilidad

• El determinismo se usa frecuentemente para describir un sistema en el cual el tiempo de ejecución real y la secuencia es completamente predeterminada y fija para la ejecución entera del sistema.

• Si bien es cierto que el determinismo es suficiente para la predictibilidad, el determinismo no es necesario para alcanzar la predictibilidad. Además,

• El objetivo especifica la probabilidad de su predictibilidad, pero no necesariamente significa llevar a cabo una prueba. En este caso, comprobabilidad significa que las técnicas de diseño utilizadas deben ser derivables de modelos de ejecución rigurosamente definidos que producen resultados demostrables dentro de las limitaciones del modelo.

Arquitectura de Software para aplicaciones de tiempo real estrictoArquitectura de Software para aplicaciones de tiempo real estricto

Page 5: Arquitectura sw

PlanificaciónPlanificación • La planificación de los recursos de la CPU para sistemas de

tiempo real. Se refiere al concepto de poner en secuencia el uso de cualquier recurso compartido cuyo uso involucra satisfacer las limitaciones de tiempo de aplicación.

Arquitectura de Software para aplicaciones de tiempo real estrictoArquitectura de Software para aplicaciones de tiempo real estricto

•Para una estructura ejecutiva cíclica, la aplicación está dividida en un set de procedimientos que están asumidos para ser no prioritarios, porque el derecho de prioridad no es requerido para el diseño ejecutivo cíclico de un uniprocesador.•Para el enfoque de prioridad fija, la aplicación está dividida en un set de tareas prioritarias; la decisión de planificación para cada recurso es determinada exclusivamente por la prioridad de las tareas, las cuales son generalmente con derecho de prioridad.

• La estructura completa del diseño de aplicación será dictada por la elección del algoritmo de planificación entre el ejecutivo cíclico o la prioridad fija.

•El diseño tradicional “ejecutivo cíclico” ha captado esta idea en que cada aspecto de la aplicación es estáticamente planificado.•La estructura de “prioridad fija” mediante la programación de tasa monotónica.

Page 6: Arquitectura sw

Sistemas de tiempo real Sistemas de tiempo real estrictosestrictos

• Un sistema de tiempo real es un sistema informático que interacciona con su entorno, sobre el que realiza acciones de control que se producen dentro de intervalos de tiempo bien definidos

Arquitectura de Software para aplicaciones de tiempo real estrictoArquitectura de Software para aplicaciones de tiempo real estricto

Page 7: Arquitectura sw

Condición para los esquemas Condición para los esquemas de planificaciónde planificación

• La condicion que requieren se refiere a la programación (planificación) de los recursos de la CPU. Sin embargo, en un sentido más amplio, es fundamental comprender que la programación se refiere en realidad al concepto de la secuencia del uso de cualquier recurso compartido cuyo uso implica satisfacer las limitaciones de tiempo de aplicación.

Arquitectura de Software para aplicaciones de tiempo real estrictoArquitectura de Software para aplicaciones de tiempo real estricto

Page 8: Arquitectura sw

Modelo de procesos simple Modelo de procesos simple • La aplicación está compuesta por un conjunto fijo de tareas y se

conoce en tiempo de ejecución (estático)• Todas las tareas son periódicas• Las tareas son completamente independientes• Los plazos de respuesta de todas las tareas son iguales a sus

periodos • El tiempo de ejecución máximo de cada tarea es conocido y fijo• Todas las sobrecargas del sistema son ignoradas• Modelo de tareas en tiempo real

Arquitectura de Software para aplicaciones de tiempo real estrictoArquitectura de Software para aplicaciones de tiempo real estricto

Page 9: Arquitectura sw

Algoritmo de planificaciónAlgoritmo de planificación

• Un algoritmo de planificación es un código que determina el orden de acceso de las tareas a los recursos del sistema tiempos de uso del procesador, memoria, etc.

Arquitectura de Software para aplicaciones de tiempo real estrictoArquitectura de Software para aplicaciones de tiempo real estricto

Page 10: Arquitectura sw

CCiclo principal y ciclo iclo principal y ciclo secundariosecundario

• Si las tareas a ejecutar son periódicas se puede programar un plan de ejecución consistente en un ciclo principal compuesto por varios ciclos secundarios dentro de los cuales se le asigna una cantidad de tiempo a las tareas que se quiera ejecutar.

Arquitectura de Software para aplicaciones de tiempo real estrictoArquitectura de Software para aplicaciones de tiempo real estricto

Page 11: Arquitectura sw

CCiclo principal y ciclo secundarioiclo principal y ciclo secundario

Arquitectura de Software para aplicaciones de tiempo real estrictoArquitectura de Software para aplicaciones de tiempo real estricto

Page 12: Arquitectura sw

Generación de la señal de ciclos Generación de la señal de ciclos secundariossecundarios

• Un diseño común y simple para un ejecutivo cíclico es cargar el período del ciclo menor en una tarea después del temporizador que genera una interrupción cuando llega a cero. Si el sistema se comporta correctamente, el software estará en un estado de espera, haciendo que el ejecutivo cíclico ejecute inmediatamente una o más tareas (secuenciales) cuyos períodos estén listos para comenzar.

Arquitectura de Software para aplicaciones de tiempo real estrictoArquitectura de Software para aplicaciones de tiempo real estricto

Page 13: Arquitectura sw

Definición de marco o frameDefinición de marco o frame

• Se llama marco o frame a cada tarea de la aplicación donde es necesaria para completar su ejecución dentro del período de ciclo menor (secundario).

• El término marco se utiliza especialmente en sistemas en los que la duración del ciclo secundario no es una constante.

Arquitectura de Software para aplicaciones de tiempo real estrictoArquitectura de Software para aplicaciones de tiempo real estricto

Page 14: Arquitectura sw

Relación de los períodos de Relación de los períodos de todas las tareastodas las tareas

• La ejecución de cada tarea individual se llama un ciclo secundario o menor, y la frecuencia del ciclo mayor se establecerá en el mínimo común múltiplo de las frecuencias de cada tarea.

Arquitectura de Software para aplicaciones de tiempo real estrictoArquitectura de Software para aplicaciones de tiempo real estricto

Page 15: Arquitectura sw

Cómo se ejecutarían las tareasCómo se ejecutarían las tareas

1. Manejar la línea de tiempo con una frecuencia que es un múltiplo común de las frecuencias de las dos tareas.

2. Manejar una de las tareas a una frecuencia ligeramente superior a su frecuencia natural (por ejemplo, controlar el sensor de cada 75 ms.).

3. Una combinación de ambos (Ej. manejar la entrada del operador cada 50 ms. y el proceso del sensor cada otro ciclo)

Arquitectura de Software para aplicaciones de tiempo real estrictoArquitectura de Software para aplicaciones de tiempo real estricto

Page 16: Arquitectura sw

Frame overrunFrame overrun

• Un frame overrun es una condición en la que un tiempo de ejecución de la tarea excede su marco.

• Un correcto manejo de un marco de retraso es extremadamente difícil. Hay básicamente dos opciones: o bien el ejecutivo cíclico permite que la tarea de superación, lo que puede caer todo el resto de la línea de tiempo, o se aborta la tarea de generación de la superación. Ambos enfoques son peligrosos.

Arquitectura de Software para aplicaciones de tiempo real estrictoArquitectura de Software para aplicaciones de tiempo real estricto

Page 17: Arquitectura sw

Ventajas del ejecutivo cíclicoVentajas del ejecutivo cíclico

• Es el método más determinista o predecible. Esta condición es de las más repetidas en los sistemas de tiempo real.

• El planificador cíclico suele ser sencillo y por lo tanto consume poca CPU. Así, pueden planificarse sin problemas procesos que ocupen hasta un 90% del total.

• Al ser el sistema determinista, una vez en funcionamiento siempre puede saberse qué va a pasar. Esto no sucede con los planificadores basados en prioridades.

Arquitectura de Software para aplicaciones de tiempo real estrictoArquitectura de Software para aplicaciones de tiempo real estricto

Page 18: Arquitectura sw

Cambio de contexto Cambio de contexto ((context switchcontext switch))

• Entre los parámetros clave que afectan al tiempo de respuesta esta el cambio de contextos y la latencia de la interrupción. El cambio de contexto se refiere al tiempo y sobrecarga necesitado para conmutar entre tareas, y la latencia de interrupción es el tiempo que pasa antes de que el cambio sea realmente posible. Otros parámetros afectan al tiempo de respuesta son la velocidad de calculo y el acceso a memorias masivas.

Arquitectura de Software para aplicaciones de tiempo real estrictoArquitectura de Software para aplicaciones de tiempo real estricto

Page 19: Arquitectura sw

jitterjitter

• Se denomina Jitter (fluctuación) a la variabilidad temporal de un resultado calculado durante el envío de señales, una ligera desviación de la exactitud de la señal de reloj. En general se denomina jitter a un cambio indeseado y abrupto de la propiedad de una señal. Esto puede afectar tanto a la amplitud como a la frecuencia y la situación de fase. El jitter es la primera consecuencia de un retraso de la señal.

Arquitectura de Software para aplicaciones de tiempo real estrictoArquitectura de Software para aplicaciones de tiempo real estricto

Page 20: Arquitectura sw

Desventajas del ejecutivo cíclicoDesventajas del ejecutivo cíclico

• Fragilidad de aplicación: es el inconveniente mas grave, producido en un diseño de software.

• Manejo de las funciones cuyo plazo de ejecución es largo en comparación con el periodo de la tarea de mas alta cadencia.

Arquitectura de Software para aplicaciones de tiempo real estrictoArquitectura de Software para aplicaciones de tiempo real estricto

Page 21: Arquitectura sw

Resumen del ejecutivo cíclicoResumen del ejecutivo cíclico • Un esquema de planificación tiene dos facetas: define un algoritmo

para la compartición de recursos, y es un medio de predicción del peor caso del comportamiento de una aplicación que está utilizando esa forma de compartición de recursos.

• La mayoría de los sistemas periódicos de tiempo real actuales se implementan utilizan un ejecutivo cíclico. Con este enfoque, el código de aplicación debe empaquetarse en un número fijo de ciclos secundarios, de forma que la ejecución de la secuencia de ciclos secundario llamada "ciclo principal" permita que se cumplan todos los tiempos límite del sistema. Aunque es una estrategia de implementación efectiva para sistemas pequeños, este enfoque cíclico tiene una serie de inconvenientes.

• Con el enfoque del ejecutivo cíclico, la ejecución consiste en una secuencia de invocaciones a procedimientos. La noción de proceso (hilo) no se preserva durante la ejecución. Un enfoque alternativo es soportar la ejecución de procesos de forma directa (como es norma en los sistemas operativos de propósito general), y determinar cuál es el proceso que deberá ejecutarse en cada instante de tiempo, mediante uno o más atributos de planificación.

Arquitectura de Software para aplicaciones de tiempo real estrictoArquitectura de Software para aplicaciones de tiempo real estricto

Page 22: Arquitectura sw

Arquitectura de Software para aplicaciones de tiempo real estrictoArquitectura de Software para aplicaciones de tiempo real estricto

Page 23: Arquitectura sw

Planificación de prioridades fijasPlanificación de prioridades fijas

• La planificación de prioridades fijas: es un método estático muy usado. La prioridad es un parámetro relacionado con la urgencia o importancia de la tarea

• En todo momento se ejecuta la tarea con mayor prioridad de todas las ejecutables (es decir, no esté retrasado o suspendido)

• Las tareas se reparten el procesador de forma dinámica (invisible para el diseñador)

• Cada tarea tiene una prioridad• En cada momento se ejecuta la tarea activa de mayor prioridad• Las tareas consideradas críticas para el sistema tienen una alta

prioridad, mientras que las tareas menos importantes se ejecutan a menor prioridad. En términos de previsibilidad, es fácil determinar la capacidad de la tarea de mayor prioridad para cumplir con sus plazos, pero la determinación de la previsibilidad de tareas de menor prioridad ha sido, en general es dejada para la fase de prueba del sistema de un proyecto.

Arquitectura de Software para aplicaciones de tiempo real estrictoArquitectura de Software para aplicaciones de tiempo real estricto

Page 24: Arquitectura sw

Arquitectura de Software para aplicaciones de tiempo real estrictoArquitectura de Software para aplicaciones de tiempo real estricto

Page 25: Arquitectura sw

Arquitectura de Software para aplicaciones de tiempo real estrictoArquitectura de Software para aplicaciones de tiempo real estricto

Page 26: Arquitectura sw

Arquitectura de Software para aplicaciones de tiempo real estrictoArquitectura de Software para aplicaciones de tiempo real estricto

Page 27: Arquitectura sw

Algoritmo de asignación de Algoritmo de asignación de prioridad de tasa monotónicaprioridad de tasa monotónica

• El algoritmo de asignación de prioridad de tasa monotónica consiste en asignar menor prioridad a las tareas de menor periodo, es óptima para el modelo de tareas simples.

• El valor al que tiende el límite de utilización es 0,69 cuando N tiende a infinito en la sig. ecuación:

Arquitectura de Software para aplicaciones de tiempo real estrictoArquitectura de Software para aplicaciones de tiempo real estricto

)12( /1

1

NN

i i

i NT

CU

Page 28: Arquitectura sw

Instante críticoInstante crítico

• El instante crítico es aquel en el que se activan todos los procesos a la vez (esto suele ocurrir en el instante 0). Para la planificación de prioridades estáticas, esta suposición resulta segura; si todos los procesos cumplen sus requisitos de temporización cuando son activados conjuntamente, siempre serán panificables. Existen, sin embargo, conjuntos de procesos que se pueden beneficiar de la elección explícita de sus tiempos de activación de forma que no compartan un instante crítico. Se podría decir que un proceso tiene un desplazamiento con respecto a otros.

Arquitectura de Software para aplicaciones de tiempo real estrictoArquitectura de Software para aplicaciones de tiempo real estricto

Page 29: Arquitectura sw

Arquitectura de Software para aplicaciones de tiempo real estrictoArquitectura de Software para aplicaciones de tiempo real estricto

Page 30: Arquitectura sw

Análisis del tiempo de respuestaAnálisis del tiempo de respuesta

• Análisis del tiempo de respuesta• Las pruebas basadas en la utilización para FPS tienen 2

inconvenientes: • No son exactas y,• No son realmente aplicables a un modelo de tareas más

general• Se verá una forma diferente basada en el cálculo del

tiempo de respuesta en el peor caso de cada tarea, Ri y una simple comprobación:

R≤D

Arquitectura de Software para aplicaciones de tiempo real estrictoArquitectura de Software para aplicaciones de tiempo real estricto

Page 31: Arquitectura sw

Ventajas del algoritmoVentajas del algoritmo • 1. La ventaja principal, que afecta en gran medida el costo del ciclo de vida total del

sistema, es la previsibilidad de todo el conjunto de las tareas relativas al cumplimiento de los requisitos definidos externamente de la aplicación, incluso cuando estos requisitos están cambiando. Si se determina a través de esta predicción de que la solicitud no cumple con sus requisitos mínimos (es decir, uno o más de las tareas críticas ya no estan seguras de completar en el tiempo), la teoría de la tasa monotónica también proporciona herramientas para analizar el potencial de correctivas acciones, tales como el uso de procesadores adicionales, procesadores más rápidos, o la reducción de la funcionalidad.

• 2. Ya se ha señalado que esta técnica no requiere el uso de las relaciones de frecuencia armónica entre las tareas periódicas. Por lo tanto, se hace posible para las tareas periódicas el uso de frecuencias que son naturales a los requisitos de aplicación externa y no sufrir una degradación del rendimiento.

• 3. El enfoque de la tasa monotónica permite la estructura de la tarea de la aplicación para reflejar con mayor precisión los requisitos de aplicación, ya que no hay necesidad de romper arbitrariamente las tareas individuales con el fin de cumplir los límites de longitud de la trama.

• 4. Una planificación de tasa monotónica exhibe un alto grado de estabilidad, lo que significa que en el caso de una sobrecarga la tarea se perderán sus limitaciones de tiempo predefinidos. Esta estabilidad se deriva del hecho de que, en una sobrecarga, las tareas de mayor prioridad cuya utilización no ha superado la tasa de utilización monótona obligados, se garantiza que continúen asumiendo sus limitaciones de tiempo. Tareas en o por debajo de la prioridad en que se supere esta utilización puede pasar por alto sus limitaciones de tiempo.

Arquitectura de Software para aplicaciones de tiempo real estrictoArquitectura de Software para aplicaciones de tiempo real estricto

Page 32: Arquitectura sw

Desventajas del algoritmoDesventajas del algoritmo

• La desventaja más importante resulta de la propiedad de los sistemas de periódicos descrito previamente para el ejecutivo cíclico: las fluctuaciones (jitter)

• En general, este modelo no define una restricción de tiempo ajustado en la terminación real de una tarea, asegurando que se complete antes del final de su período. La variabilidad del tiempo de la terminación de una tarea monótonica esta limitado solamente por su período. Como resultado, puede haber una fluctuación (jitter) significativa, generada por el programa sobre todo para una tarea de baja prioridad.

Arquitectura de Software para aplicaciones de tiempo real estrictoArquitectura de Software para aplicaciones de tiempo real estricto

Page 33: Arquitectura sw

ConclusionesConclusiones

• Para todas las otras aplicaciones de tiempo real se recomienda el uso del enfoque de prioridad fija utilizando algoritmos con tasa monotónica de prioridad ampliada. Las ventajas generales incluyen el ser capaz de predecir la capacidad de satisfacer las necesidades de respuesta de las aplicaciones, la eficiencia del sistema global resultante de la utilización de la periodicidad natural, no-armónico, la capacidad de generar un sistema que representa un aumento de la separación de la periodicidad y funcionalidad, y una estructura sólida cuando la modificación es necesaria durante el mantenimiento del sistema.

• Es más apropiado usar el ejecutivo cíclico para sistemas con tareas periódicas y de tiempo de cómputos conocidos ya que este realizo una planificación muy sencilla que no requiere el uso de interrupciones.

Arquitectura de Software para aplicaciones de tiempo real estrictoArquitectura de Software para aplicaciones de tiempo real estricto

Page 34: Arquitectura sw

Fin de la presentaciónFin de la presentación

GraciasGracias

Arquitectura de Software para aplicaciones de tiempo real estrictoArquitectura de Software para aplicaciones de tiempo real estricto