Académique Documents
Professionnel Documents
Culture Documents
Tiempo Real
Introduccin
Ejecucin de tareas/procesos/hilos
Aumento de la productividad
Restricciones temporales
Necesidad de determinismo
restricciones de tiempo
Implementados en Ada 95
Mecanismos de representacin
Relojes
Permiten medir el tiempo real
Hardware y/o Software
Resolucin.
Mecanismos de representacin
Calendar
Real_Time
Midiendo en Ada 95
declare
T_Inicial, T_Final : Time;
Intervalo : Duration;
begin
T_Inicial := Clock;
-- Aqu llamadas a funciones
-- y otros clculos.
T_Final := Clock;
-- Uso de operador -
Intervalo := T_Final - T_Inicial;
end
Mecanismos de representacin
Retardos
Suspensin de una tarea durante un intervalo.
Inicio := Clock;
Accion_1; -- Ejecucin de Accin 1.
Transcurrido := Clock - Inicio;
delay 7.0 (Transcurrido);
Accion_2; -- Ejecucin de Accin 2.
Inicio := Clock;
Accion_1; -- Ejecucin de Accin 1.
begin
SiguienteLlamada := Clock + Intervalo;
loop
Update;
-- Retraso absoluto.
delay until SiguienteLlamada;
SiguienteLlamada := SiguienteLlamada + Intervalo;
end loop;
end;
T5 Planificacin en Sistemas de Tiempo Real Trp 13
Intro | Tiempo Real | Esquemas Planificacin | Aspectos Planificacin
Concepto de timeout
Seccin crtica?
POSIX
#include <pthread.h>
int pthread_cond_timedwait(
pthread_cond_t *restrict cond,
pthread_mutex_t *restrict mutex,
const struct timespec *restrict abstime);
int pthread_cond_wait(
pthread_cond_t *restrict cond,
pthread_mutex_t *restrict mutex);
Llamadas condicionales
select
delay 0.25;
then abort
TareaA;
end select;
Planificacin o scheduling
Elementos relevantes
Mecanismo de prediccin
Planteamiento pesimista
Parmetros esenciales
Tareas
Peridicas
Se ejecutan con un periodo determinado
Espordicas
Ejecutadas en base a un evento temporal
(slo conocemos la separacin mnima entre eventos)
Planificacin en STR
1
Clculo Ri Para todo pi...
Sistema
planificable
2
Ri <= Di?
Ejecutivo cclico
Ciclo secundario (Ts)
Tm = 200 ms
Tc = 50 ms
a b c a b d e a b c a b d
Ejecutivo cclico
Consecuencias
Ciclo secundario = llamada a procedim.
Sin necesidad de exclusin mutua
Limitaciones
Integracin procesos espordicos
Procesos con T o C elevados
Construccin tediosa
Construccin problemtica
Esquemas a estudiar
Fixed Priority Scheduling (FPS)
Earliest Deadline First (EDF)
Nocin de apropiacin
Asignacin de prioridades
Modelo de anlisis de R
Factor de utilizacin
Esquemas grficos
Modelo de anlisis de R
i=1 i
Proceso T C P U
a 50 10 1 0,2
b 40 10 2 0,25
c 20 5 3 0,25
Modelo de anlisis de R
c b a c a c b a
0 10 20 30 40 50
Tiempo
Modelo de anlisis de R
0 10 20 30 40 50
Tiempo
Instante de Instante de
En ejecucin Desalojado
activacin finalizacin
Modelo de anlisis de R
1
Clculo Ri Para todo pi...
Sistema
planificable
2
Ri <= Di?
Modelo de clculo de R
Ri=C i + I i
Modelo de clculo de R
Ri=C i + I i
I i = ActivacionesC j
Ri
Ri I i = C j
Activaciones= Tj
Tj
Modelo de clculo de R
Ri=C i + I i
I i = ActivacionesC j
Ri
Ri I i = C j
Activaciones= Tj
Tj
Ri
I i = ( C j)
j hp (i ) Tj
T5 Planificacin en Sistemas de Tiempo Real Trp 38
Intro | Tiempo Real | Esquemas Planificacin | Aspectos Planificacin
Modelo de clculo de R
Ri
Ri=C i + I i =C i + ( C j )
j hp (i ) Tj
I i = ActivacionesC j
Ri
Ri I i = C j
Activaciones= Tj
Tj
Ri
I i = ( C j)
j hp (i ) Tj
T5 Planificacin en Sistemas de Tiempo Real Trp 39
Intro | Tiempo Real | Esquemas Planificacin | Aspectos Planificacin
Modelo de clculo de R
Ri
Ri=C i + I i =C i + ( C j )
j hp (i ) Tj
Resolucin mediante
ecuacin de recurrencia
Modelo de clculo de R
0
w =C i +
i (C j )
j hp (i ) Parar si...
0
w
w =C i + ( C j )
1
i
i
1 w
(n1 )
=w
n
j hp (i) Tj i i
1
w o si ...
w =C i + ( C j )
2 i
i
Tj n
j hp(i)
2 w > Di
i
...
(n 1)
wi
wi =C i + (
n
C j )
j hp(i) Tj
T5 Planificacin en Sistemas de Tiempo Real Trp 41
Intro | Tiempo Real | Esquemas Planificacin | Aspectos Planificacin
Modelo de clculo de R
Ejercicio propuesto
Proceso T C P
a 80 40 1
b 40 10 2
c 20 5 3
Es planificable el sistema?
Tareas espordicas
D<T
Pi > P j
Bloqueos (inversin de prioridad)
Ri=C i + I i + B i
T5 Planificacin en Sistemas de Tiempo Real Trp 44
Intro | Tiempo Real | Esquemas Planificacin | Aspectos Planificacin
Tiempo de bloqueo de d
a1 aR c1 cS d1 d2 cS c2 b1 b2 aR aR aR dR dS d3 a2
2 4 6 8 10 12 14 16
R
Bi = (utilizacin(r ,i)C k )
r =1
Proceso
d E E R S E Rd=12
c E S S E Rc=6
b E E Rb=8
a E R R R R E Ra=17
0 4 8 12 16 20
Instante de Instante de
En ejecucin Desalojado
activacin finalizacin
Proceso
d E E R S E Rd=9
c E S S E Rc=12
b E E Rb=14
a E R R R R E Ra=17
0 4 8 12 16 20
t
Instante de Instante de
En ejecucin Desalojado
activacin finalizacin
Ejercicio propuesto
Tarea T C D r1 r2 r3 r4
a 100 20 100 3 - - 5
b 200 20 200 2 2 - -
c 100 5 15 1 - - -
d 50 12 20 2 - 4 -
Es planificable el sistema?
Propiedades
utiliza
Proceso
d E E R S E Rd=6
c E S S E Rc=12
b E E Rb=14
a E R R R R E Ra=17
0 4 8 12 16 20 t
Instante de Instante de
En ejecucin Desalojado
activacin finalizacin
Ejercicio propuesto
Tarea T C D r1 r2 r3 r4
a 100 20 100 3 - - 5
b 200 20 200 2 2 - -
c 100 5 15 1 - - -
d 50 12 20 2 - 4 -
Es planificable el sistema?