Objetivos de la Unidad Didáctica
Comprender que son los Sistemas de Tiempo Real (STR) y
sus particularidades respecto a la sincronización de tareas.
Conocer las características de los STR
- Comprender cómo realizar la planificación de las tareas en los
STR y en qué consiste el análisis de planificación.
- Analizar los problemas de sincronización que aparecen en
este tipo de sistemas.
- Identificar el problema de la inversión de prioridades
- Conocer estrategias de resolución para resolver los problemas de
sincronización
CSD
UD6 .- Sincronización en Sistemas de Tiempo Real
2RSITAT
POLIT
VNIVERSI
EX-TECHNICA
OGRESSIO
CA
*
VALENCIA
Contenido de la Unidad Didáctica
Introducción a los STR
Definición de STR
Características de los STR
- Planificación de tareas en STR
Análisis de STR
Sincronización de tareas
- El problema de la inversión de prioridades
- Protocolo del Techo de Prioridad Inmediato
- Tiempo de respuesta con factores de bloqueo
CSD
UD6 .- Sincronización en Sistemas de Tiempo Real
3RSITAT
POL
VNIVERSI
EXHTECHNICA
GRESSIO
CA
*
VALENCIA
Introducción a los STR
Consideremos un sistema combinación de uno o varios
computadores, dispositivos hardware de entrada/salida, y
software de propósito especial, en la que:
- hay una fuerte interacción con el entorno
- el entorno cambia con el tiempo
- el sistema controla o reacciona de forma simultánea a diferentes
aspectos del entorno
Como resultado:
- se imponen requisitos temporales sobre el software
- el software es de naturaleza concurrente
- Algunos requisitos de tiempo real frecuentes:
- realizar actividades periódicas, solicitadas a intervalos periódicos
- deben completar un trabajo antes de un plazo
CSD
UD6 .- Sincronización en Sistemas de Tiempo Real
4RSITAT
POLIT
VNIVERSI
EXHTECHNICA
PROGRESSION
+
*
VALENCIA
Definición de un sistema de tiempo real
Un sistema de tiempo real (STR) es un sistema informático que
- Interacciona repetidamente con su entorno físico
- Responde a los estímulos que recibe del mismo dentro de un plazo de
tiempo determinado
Para que el funcionamiento del sistema sea correcto no basta con que las
acciones sean correctas, sino que tienen que ejecutarse dentro del
intervalo de tiempo especificado
El tiempo en que se ejecutan las acciones del sistema es significativo
- Ejemplos:
- control de procesos industriales, aviónica, control de tráfico aéreo, control
de trenes, control de automóviles, telecomunicaciones, electrónica de
consumo, sistemas multimedia.
CSD
UD6 .- Sincronización en Sistemas de Tiempo Real
5RSITAT
POLIT
VNIVERSI
EX-TECHNICA
OGRESSIO
CA
VALENCIA
Ejemplo: control de procesos
consigna
sensor de
temperatura
computador
calefactor
- El sistema de tiempo real actúa sobre el sistema controlado para
conseguir que tenga un comportamiento determinado
- El comportamiento es muy regular (muestreo periódico)
- Normalmente se usa un esquema con realimentación
- la acción de control es función de la desviación entre los valores de
referencia y los valores medidos de las variables
el diseño de los algoritmos de control es un problema importante
CSD
UD6 .- Sincronización en Sistemas de Tiempo Real
6RSITAT
POLIT
VNIVERSI
EX-TECHNICA
PROGRESSIO
CA
*
VALENCIA
Entorno de un sistema de tiempo real
operador
interfaz de
operador
interfaz de proceso
sensores
sistema de
tiempo real
sistema
controlado
actuadores
entorno
Un sistema de tiempo real debe responder a los estímulos de
su entorno dentro de un intervalo de tiempo determinado por
las propiedades dinámicas del entorno
CSD
UD6 .- Sincronización en Sistemas de Tiempo Real
7RSITAT
POLI
VNIVERSI
EX-TECHNICA
PROGRESSIO
CA
+
*
VALENCIA
Estímulo y respuesta
El intervalo de respuesta se caracteriza por un plazo (deadline)
plazo de respuesta
estímulo
respuesta
Fin del plazo de respuesta
- Estricto o crítico (hard) una respuesta fuera de plazo es inadmisible
- (Ejemplo: UCI, central nuclear, control de frenado, airbag ... )
- firme (firm) una respuesta fuera de plazo no tiene utilidad
(Ejemplo: en sistemas multimedia (procesado de audio o vídeo) la pérdida de una trama de
audio o vídeo)
- flexible (soft) una respuesta fuera de plazo tiene una utilidad reducida
- (Ejemplo: adquisición de datos meteorológicos, contestador automático)
CSD
UD6 .- Sincronización en Sistemas de Tiempo Real
8RSITAT
POLIT
VNIVERSI
EX-TECHNICA
OGRESSIOH
CA
*
VALENCIA
Contenido de la Unidad Didáctica
Introducción a los STR
Definición de STR
Características de los STR
Planificación de tareas en STR
Análisis de STR
Sincronización de tareas
- El problema de la inversión de prioridades
- Protocolo del Techo de Prioridad Inmediato
- Tiempo de respuesta con factores de bloqueo
CSD
UD6 .- Sincronización en Sistemas de Tiempo Real
9RSITAT
POLIT
VNIVERSI
EXHTECHNICA
OGRESSIOH
CA
*
VALENCIA
Características de los STR
Concurrencia
- Los componentes del sistema controlado funcionan simultáneamente
El STR debe atenderlo y generar las acciones de control
simultáneamente
Interacción con dispositivos físicos
- Los STR interaccionan con su entorno mediante diversos tipos de
dispositivos no convencionales: convertidores A/D y D/A, entradas y
salidas digitales, ... (interfaces con sensores, actuadores, periféricos
especiales, ... )
- Los componentes del software que controlan el funcionamiento de
estos dispositivos (manejadores, "drivers") son, en general,
dependientes del sistema concreto
CSD
UD6 .- Sincronización en Sistemas de Tiempo Real
10RSITAT
POLIT
VNIVERSI
EX-TECHNICA
PROG
CA
*
GRESSION
*
VALENCIA
Fiabilidad y seguridad en STR
Determinismo Temporal en STR
Fiabilidad y seguridad
- Un fallo en un sistema de control puede hacer que el sistema
controlado se comporte de forma peligrosa o antieconómica
- Es importante asegurar que si el sistema de control falla lo haga de
forma que el sistema controlado quede en un estado seguro
Hay que tener en cuenta los posibles fallos o excepciones en el diseño
Determinismo Temporal
- Acciones en intervalos de tiempo determinados
- Es fundamental que el comportamiento temporal de los STR sea
determinista
no hay que confundirlo con la necesidad de que sea eficiente
el sistema debe responder correctamente en todas las situaciones
hay que prever el comportamiento en el peor caso posible
CSD
UD6 .- Sincronización en Sistemas de Tiempo Real
11RSITAT
POLIT
VNIVERSI
EX-TECHNICA
PROGRESSION
CA
*
*
VALENCIA
Desarrollo de software para STR críticos
Las características específicas de los sistemas de tiempo
real críticos condicionan los métodos y herramientas que se
utilizan para desarrollar el software
- No todas las técnicas que se usan para construir otros tipos
de sistemas sirven para el software de tiempo real crítico
- suele haber problemas de fiabilidad y determinismo temporal
La predictibilidad es uno de los objetivos principales en
sistemas de tiempo real.
- Se debe realizar un análisis de la planificabilidad de las tareas de un
sistema de tiempo real para predecir si las tareas cumplirán sus
requisitos temporales.
CSD
UD6 .- Sincronización en Sistemas de Tiempo Real
12RSITAT
POLIT
VNIVERSI
EX-TECHNICA
OGRESSIOH
CA
*
VALENCIA
Contenido de la Unidad Didáctica
Introducción a los STR
Definición de STR
Características de los STR
Planificación de tareas en STR
Análisis de STR
Sincronización de tareas
- El problema de la inversión de prioridades
- Protocolo del Techo de Prioridad Inmediato
- Tiempo de respuesta con factores de bloqueo
CSD
UD6 .- Sincronización en Sistemas de Tiempo Real
13RSITAT
POLI
VNIVERSI
EXH TECHNICA
PROGRESSIO
*
VALENCIA
Planificación de tareas en STR
Objetivo: Planificar el uso de los recursos del sistema (en
particular el procesador), para poder garantizar los requisitos
temporales de las tareas
- Un paradigma de planificación consta de:
- Un algoritmo de planificación, que determina el orden de acceso de
las tareas a los recursos del sistema
- Un método de análisis que permite calcular el comportamiento
temporal del sistema
- Para comprobar que los requisitos están garantizados en todos los casos
- Se estudia siempre el peor caso
Es necesario conocer la duración de las tareas en el peor caso
CSD
UD6 .- Sincronización en Sistemas de Tiempo Real
14RSITAT
POLIT
VNIVERSI
EX-TECHNICA
PROG
CA
*
GRESSIO
*
VALENCIA
Algoritmo: Planificación por prioridades fijas expulsivas
Las prioridades son un mecanismo elemental para planificar la
ejecución de un conjunto de tareas.
- La prioridad es un atributo de las tareas normalmente ligado a
su importancia relativa en el conjunto de tareas.
- En STR la planificación expulsiva por prioridades fijas es la más
popular:
El comportamiento temporal es más fácil de entender y predecir
- El tratamiento ante sobrecargas es fácil de prever
- Existen técnicas analíticas completas
- Requerido por estándares de sistemas operativos y lenguajes
concurrentes
CSD
UD6 .- Sincronización en Sistemas de Tiempo Real
15RSITAT
POLI
VNIVERSI
EX-TECHNICA
PROG
CA
GRESSION
*
VALENCIA
Análisis de STR: Modelo de tareas
Consideraremos inicialmente un modelo de tareas simple:
- Conjunto de tareas estático, t = {{1, T2 ... , Un}
- Todas las tareas son periódicas, con periodo Ti
- Las tareas no cooperan entre sí (son independientes)
- Se conoce el tiempo de ejecución máximo de cada tarea C;
- Cada tarea tiene un plazo Di ≤Ti
- Respecto a la ejecución de las tareas, asumimos que :
- La política de planificación es expulsiva por prioridades.
- La máquina está dedicada a la aplicación
- Los cambios de contexto tienen coste cero.
- Las tareas no pueden suspenderse voluntariamente. Una vez una
tarea está preparada, no puede demorar su ejecución.
CSD
UD6 .- Sincronización en Sistemas de Tiempo Real
16RSITAT
POLIT
VNIVERSI
PROG
CA
*
VALENCIA
Actividad: Cronograma de tareas periódicas
Realice el cronograma de ejecución del siguiente conjunto de
tareas periódicas:
Tarea
Ti
Ci
D
Pri *
T1
20
5
10
1
τ2
40
10
15
2
T3
80
40
80
3
pri(1) >pri(2)>pri(3)
- Observar que el patrón de ejecución se repite cada cierto tiempo:
- hiperperiodo= mínimo común múltiplo de los periodos de las tareas
CSD
UD6 .- Sincronización en Sistemas de Tiempo Real
17
EXHTECHNICA
GRESSIO