Está en la página 1de 14

Sistemas de tiempo real (doctorado)

DIT-UPM, enero de 2006

dit
UPM

Introduccin a los sistemas de tiempo real


Juan Antonio de la Puente DIT/UPM <jpuente@dit.upm.es>

Transparencias basadas en los captulos 1 y 2 del libro de Jane Liu Real-Time Systems

Objetivos
Veremos los conceptos ms importantes relacionados con los sistemas de tiempo real Examinaremos los tipos de sistemas de tiempo real ms comunes Analizaremos sus requisitos y caractersticas ms importantes

16/01/2006

Juan Antonio de la Puente, 2004-2006

Introduccin

Sistemas de tiempo real (doctorado)

DIT-UPM, enero de 2006

Sistema de tiempo real


Un sistema de tiempo real es un sistema informtico que
interacciona repetidamente con su entorno responde a los estmulos 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


16/01/2006 Juan Antonio de la Puente, 2004-2006 2

Ejemplos de sistemas de tiempo real

16/01/2006

Juan Antonio de la Puente, 2004-2006

Introduccin

Sistemas de tiempo real (doctorado)

DIT-UPM, enero de 2006

Ejemplos
Sistemas Sistemas Sistemas Sistemas Sistemas Sistemas Sistemas Sistemas etc. de control por computador de tratamiento de seales de mando y control de telecomunicaciones de avinica de control de trenes y automviles de control de trfico areo multimedia

A menudo se trata de sistemas empotrados


16/01/2006 Juan Antonio de la Puente, 2004-2006 4

Control digital
controlador r(t) A/D rk yk algoritmo de control uk D/A

A/D

y(t) sensor

proceso controlado

u(t) actuador

Ejemplo: control de posicin del brazo de un disco

16/01/2006

Juan Antonio de la Puente, 2004-2006

Introduccin

Sistemas de tiempo real (doctorado)

DIT-UPM, enero de 2006

Sistemas muestreados
Un controlador digital es un sistema muestreado
rk = r (kT ) y k = y (kT )

uk = u (kT )

T es el perodo de muestreo El algoritmo de control se define mediante ecuaciones discretas, por ejemplo:
u k = 0ek + 1ek 1 + k 2ek 2

donde ek = rk y k
16/01/2006 Juan Antonio de la Puente, 2004-2006 6

Implementacin
Una posible implementacin es:
Set_Timer (periodic, T); -- interrumpir con perodo T every Timer_Interrupt loop Get(y); Get(r); Put(u); end loop -- conversin A/D -- conversin A/D -- conversin D/A

u := Control_Law (u,r,y);

Si el computador no tiene que hacer nada ms es lo ms sencillo El programa no termina nunca!


16/01/2006 Juan Antonio de la Puente, 2004-2006 7

Introduccin

Sistemas de tiempo real (doctorado)

DIT-UPM, enero de 2006

Frecuencia de muestreo
La frecuencia de muestreo es s = 1/T Para aproximar un controlador analgico es mejor muestrear las seales con una frecuencia elevada
pero si la frecuencia es muy alta puede haber problemas
mayor demanda de tiempo de procesador tambin puede haber errores numricos

Hay un valor mnimo para la frecuencia de muestro


teorema de muestreo (Nyquist): s 2c (c es el ancho de banda del sistema)

Regla heurstica: s 20..40 c


equivale a T R/10 .. R/20, donde R es el tiempo de subida de la respuesta a un escaln
16/01/2006 Juan Antonio de la Puente, 2004-2006 8

Respuesta a un escaln
y(t)

100% 90%

u(t)

10% 0% O R

16/01/2006

Juan Antonio de la Puente, 2004-2006

Introduccin

Sistemas de tiempo real (doctorado)

DIT-UPM, enero de 2006

Sistemas multifrecuencia
En la mayora de los casos hay que controlar varias variables
por ejemplo, velocidad y temperatura

Las variables pueden tener dinmicas diferentes


hay que muestrearlas con distintas frecuencias a menudo se eligen frecuencias armnicas
los perodos ms largos son mltiplos de los ms cortos

16/01/2006

Juan Antonio de la Puente, 2004-2006

10

Ejemplo: control de vuelo


Cada 1/30 s ( = 30 Hz)
leer el teclado y seleccionar el modo de control normalizar los datos y efectuar transformacin de coordenadas actualizar la referencia de la trayectoria calcular los algoritmos de control externos (3 ejes)

Cada 1/90 s ( = 90 Hz)


calcular los algoritmos de control internos (cabeceo y balance)

Cada 1/180 s ( = 180 Hz)


calcular el algoritmo de control interno (guiada) emitir rdenes a los actuadores
16/01/2006 Juan Antonio de la Puente, 2004-2006 11

Introduccin

Sistemas de tiempo real (doctorado)

DIT-UPM, enero de 2006

Requisitos temporales
Ejecutar cada accin con la frecuencia requerida
se trata de acciones peridicas con perodos armnicos Muchos sistemas ejecutan tambin acciones aperidicas

Terminar cada accin antes de comenzar la siguiente


cada accin tiene un plazo para terminar, igual al perodo correspondiente

16/01/2006

Juan Antonio de la Puente, 2004-2006

12

Esquema de implementacin
Podemos extender la implementacin anterior:
Set_Timer (periodic, T);

-- interrumpir con perodo T (1/180 ms)


every Timer_Interrupt loop

-- contador de ciclos -- ejecutar acciones de frecuencia 180 Hz


C := C + 1 if C mod 2 = 0 then

-- ejecutar acciones de frecuencia 90 Hz


end if; if C mod 6 := 0 then

-- ejecutar acciones de frecuencia 30 Hz


end if; end loop
16/01/2006 Juan Antonio de la Puente, 2004-2006 13

Introduccin

Sistemas de tiempo real (doctorado)

DIT-UPM, enero de 2006

Problemas
La programacin puede resultar muy compleja
todas las actividades en un nico mdulo: acoplamiento mantenimiento complicado

Los sistemas reales son an ms complejos


varios modos de funcionamiento interfaz persona-mquina comunicaciones

Es mejor dividir el programa en mdulos


hebras (threads), procesos paquetes, clases
16/01/2006 Juan Antonio de la Puente, 2004-2006 14

Otras aplicaciones
Sistemas de mando y control
ejemplo: control de trfico areo
sistema jerrquico, muy complejo cientos o miles de fuentes de informacin, bases de datos, grficos, comunicaciones

Procesamiento de seales
audio, video
sistemas muestreados con clculos complicados, compresin

radar
transformadas, seguimiento

sistemas multimedia
compresin, sincronizacin

Bases de datos de tiempo real


consistencia temporal, envejecimiento
16/01/2006 Juan Antonio de la Puente, 2004-2006 15

Introduccin

Sistemas de tiempo real (doctorado)

DIT-UPM, enero de 2006

Tipos de sistemas de tiempo real


Cclicos
slo actividades peridicas carga computacional y recursos casi constantes ejemplos: control digital, SCADA

Predominantemente cclicos
la mayora de las actividades son peridicas pero hay tambin actividades aperidicas ejemplos: avinica, control de procesos

Asncronos y previsibles
la mayora de las actividades son aperidicas la carga es variable, pero se puede modelar ejemplos: multimedia, radar

Asncronos e imprevisibles
ejemplo: sistemas de control inteligentes
16/01/2006 Juan Antonio de la Puente, 2004-2006 16

Requisitos temporales

16/01/2006

Juan Antonio de la Puente, 2004-2006

17

Introduccin

Sistemas de tiempo real (doctorado)

DIT-UPM, enero de 2006

Acciones y procesadores
Una accin (job) es la mnima unidad de cmputo que se ejecuta en un sistema de tiempo real
ejemplo:
calcular un algoritmo de control una sola vez

Una tarea (task) es un conjunto de acciones similares que se repiten a lo largo del tiempo
ejemplo
controlador que calcula el algoritmo de control cada 20 ms

Las acciones se ejecutan en procesadores


recursos activos: CPU, red, etc.

Tambin necesitan otros recursos para su ejecucin


recursos pasivos: datos, dispositivos de E/S, etc.
16/01/2006 Juan Antonio de la Puente, 2004-2006 18

Activacin y lmite temporal

tiempo de activacin tiempo lmite release time (absolute) deadline r0 d0 J0

r1
J1

d1

r2
J2

d2

t acciones de una misma tarea

activacin: la accin puede empezar a ejecutarse de forma


peridica: rk = r0 + kT aperidica: separacin mnima, proceso estocstico o imprevisible

lmite: la accin debe haber terminado


16/01/2006 Juan Antonio de la Puente, 2004-2006 19

Introduccin

10

Sistemas de tiempo real (doctorado)

DIT-UPM, enero de 2006

Plazo y tiempo de respuesta

tiempo de activacin release time rk

plazo (relative) deadline


Dk

tiempo lmite (absolute) deadline dk

tiempo de respuesta response time


Rk

Jk

16/01/2006

Juan Antonio de la Puente, 2004-2006

20

Plazos estrictos y flexibles


Una accin tiene un plazo estricto (hard deadline) si su incumplimiento (incluso una sola vez) tiene consecuencias inaceptables Una accin tiene un plazo flexible (soft deadline) si se puede tolerar que la accin termine tarde de vez en cuando Una accin tiene un plazo firme si se puede tolerar que se incumpla de vez en cuando, pero una respuesta tarda no tiene valor
16/01/2006 Juan Antonio de la Puente, 2004-2006 21

Introduccin

11

Sistemas de tiempo real (doctorado)

DIT-UPM, enero de 2006

Valor de la respuesta

valor

plazo plazo flexible plazo firme R plazo estricto

16/01/2006

Juan Antonio de la Puente, 2004-2006

22

Plazos estrictos (Liu)


Una accin tiene un plazo estricto si se requiere efectuar una validacin de que el tiempo de respuesta es siempre menor que el plazo
Validation: confirmation by examination and provision of objective evidence that the particular requirements for a specific intended use are fulfilled (ISO 8402:1994). The validation process (for software): to ensure that the requirements baseline functions and performances are correctly and completely implemented in the final product (ECSS E-40B)

16/01/2006

Juan Antonio de la Puente, 2004-2006

23

Introduccin

12

Sistemas de tiempo real (doctorado)

DIT-UPM, enero de 2006

Sistemas de tiempo real estrictos


Tarea de tiempo real estricto (hard real-time task)
tarea cuyas acciones tienen plazos estrictos

Sistema de tiempo real estricto (hard real-time system)


sistema compuesto sobre todo de tareas de tiempo real estricto

Los sistemas cuyas tareas tienen requisitos temporales flexibles son sistemas de tiempo real flexibles (soft real-time systems)

16/01/2006

Juan Antonio de la Puente, 2004-2006

24

Conceptos relacionados
Sistemas garantizados
plazos estrictos, validacin

Sistemas que hacen lo que pueden (best-effort)


requisitos de tipo estadstico, plazos flexibles calidad de servicio frente a requisitos estrictos

16/01/2006

Juan Antonio de la Puente, 2004-2006

25

Introduccin

13

Sistemas de tiempo real (doctorado)

DIT-UPM, enero de 2006

Resumen
Los sistemas de tiempo real tienen requisitos de tiempo
no funcionan correctamente si no ejecutan sus acciones en intervalos de tiempo especificados

Los sistemas de tiempo real ejecutan tareas, que son conjuntos de acciones relacionadas
las acciones se caracterizan por sus instantes de activacin y sus plazos de respuesta
la activacin puede ser peridica o aperidica los plazos de respuesta pueden ser estrictos o flexibles

hay que validar el comportamiento temporal de las acciones con plazos estrictos

16/01/2006

Juan Antonio de la Puente, 2004-2006

26

Lecturas recomendadas
Jane Liu Real-Time Systems Prentice-Hall, 2000 Giorgio Butazzo Hard Real-Time Computer Systems Kluwer, 1997 Francis Cottet, Jolle Delacroix, Claude Kaiser, Zoubir Mammeri Scheduling in Real-Time Systems Wiley, 2002. Hermann Kopetz. Real-Time Systems. Kluwer, 1997. Alan Burns y Andy Wellings Real-Time Systems and Programming Languages Addison-Wesley, 2001 John Stankovic. Misconceptions about real-time computing: A serious problem for next-generation systems. Computer, 21, 10, 1988, pp. 10-19.
16/01/2006 Juan Antonio de la Puente, 2004-2006 27

Introduccin

14

También podría gustarte