You are on page 1of 53

Tema 6:

Sistemas en Tiempo Real

INDICE:
hIntroduccin al Tiempo Real: Conceptos Bsicos
hSecuenciamiento de tareas
hSoporte para Sistemas en Tiempo Real

Tema 6: Sistemas en Tiempo Real


1 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Introduccin al Tiempo Real
h Definiciones:

Cualquier sistema en el que el tiempo en el que se produce la


salida es significativo. Esto generalmente es porque la entrada
corresponde a algn movimiento del mundo fsico, y la salida
est relacionada con dicho movimiento. El intervalo entre el
tiempo de entrada y el de salida debe ser lo suficientemente
pequeo para una temporalidad aceptable.

Sistema en tiempo real son aquellos que deben producir


respuestas correctas dentro de un intervalo de tiempo definido.
Si el tiempo de respuesta excede ese lmite, se produce una
degradacin del funcionamiento y/o un funcionamiento errneo.

Tema 6: Sistemas en Tiempo Real


2 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Introduccin al Tiempo Real
hClasificacin (segn requisitos temporales)

Tiempo real estricto (hard real time): Cuando es absolutamente


necesario que la respuesta se produzca dentro del lmite especificado.
Ej.: control de vuelo.
Tiempo real no estricto (soft real time): Cuando se permite la prdida
ocasional de especificaciones temporales, aunque debe cumplirse
normalmente. Ej.: sistema de adquisicin de datos
Tiempo real firme (firm real time): Cuando se permite la prdida
ocasional de especificaciones temporales, pero dicha perdida no implica
beneficios ya que la respuesta retrasada es descartada. Ej.: sistema
multimedia.

Tema 6: Sistemas en Tiempo Real


3 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Introduccin al Tiempo Real
h Clasificacin (segn aplicaciones)
Control de procesos industriales: Conseguir que un variables
siga una evolucin determinada (temperatura, caudal, presin,
etc.) La misin del computador es generar las seales que
permiten conseguir el objetivo, a partir de la medida de la
variable a controlar, del valor especificado para sta y de un
determinado algoritmo de control.
Manufactura: control sobre los procesos de fabricacin, con el
objetivo de reduccin de costes y/o aseguramiento de la calidad.
el computador se encarga de coordinar las tareas a realizar
por los distintos componentes del sistema como son, las
mquinas herramientas, las cintas transportadoras, etc.
Comunicacin, mando y control: recopilacin y mantenimiento
de informacin como ayuda a la toma de decisiones (reserva de
billetes, monitorizacin de pacientes, control de trafico areo,
etc..).

Tema 6: Sistemas en Tiempo Real


4 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Introduccin al Tiempo Real

SISTEMA EMPOTRADO
Cuando en un sistema en Tiempo Real el computador
forma parte del ncleo del sistema y es el encargado
de obtencin y procesado de la informacin y de la
generacin de las salidas.

Tema 6: Sistemas en Tiempo Real


5 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Primer ejemplo de sistemas en Tiempo Real
h Control del nivel de un deposito: conseguir
que el nivel de lquido dentro del depsito
alcance cierto valor especificado:
Mediante un conducto se aporta al
depsito un determinado caudal de lquido,
variable mediante una servovlvula.
La altura que alcanza el lquido dentro del
depsito se determina mediante un
medidor de nivel y el resultado de la
medida se enva a un computador.
En el computador, a partir del nivel
especificado, de la medida del nivel
realizada por el sensor (medidor de nivel) y
de un determinado algoritmo de control, se
calcula el valor de la seal de control que
permite posicionar la servovlvula
(actuador) de tal forma que se pueda
conseguir el objetivo fijado.
El valor de la seal de control calculado en
el computador se enva a la servovlvula.

Tema 6: Sistemas en Tiempo Real


6 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Primer ejemplo de sistemas en Tiempo Real

h Un sensor, que mide la salida continua del proceso Y(t) y genera la seal continua de medida
Ys(t).
h Un conversor analgico digital A/D, que toma muestras de Ys(t), con perodo de muestreo T, y
genera la seal de medida discreta Ys* que posteriormente digitaliza.
h Un comparador, que entre perodos de muestreo, calcula el valor de la seal de error e*, como la
diferencia entre el ltimo valor obtenido de Ys* y el valor indicado en el computador para la seal
de referencia Yr*.
h Un controlador, que entre perodos de muestreo, a partir del valor de la seal de error e* y
mediante un determinado algoritmo, genera como salida el valor de la seal de control u* que se
debe aplicar al actuador.
h Un conversor digital analgico D/A, que manteniendo constante durante un tiempo T el ltimo
valor calculado de u* produce la seal de control continua u(t) que se aplica al actuador.
h Un actuador, que admite como entrada u(t) y genera como salida la seal de control continua del
proceso ua(t).
h Un proceso, que recibe la seal ua(t) y produce la seal de salida continua Y(t) que es la variable
a controlar.

Tema 6: Sistemas en Tiempo Real


7 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Primer ejemplo de sistemas en Tiempo Real

h La entrada y la salida del computador se actualizan en


los mismos instantes de tiempo (instantes de muestreo)
que se producen a intervalos de tiempo T (perodo de
muestreo).

h Un reloj de tiempo real que provoque una interrupcin


en cada perodo de muestreo permite tomar muestras
de la seal recibida del sensor y mandar la seal de
control al actuador en los momentos precisos.

Tema 6: Sistemas en Tiempo Real


8 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Primer ejemplo de sistemas en Tiempo Real

h El sensor corresponde al medidor de nivel.


h El actuador est formado por el conjunto depsito acumulador, bomba y
servovlvula.
h El proceso se encuentra descrito por la relacin entre el caudal de lquido que entra
en el depsito y la altura alcanzada por el lquido en l.
h La seal de salida o variable a controlar Y(t) es la altura en centmetros que alcanza
el lquido dentro del depsito.
h La seal de medida Ys(t) es la medida de Y(t) en voltios realizada por el sensor.
h La seal de control u(t) es la tensin en voltios aplicada a la servovlvula para
aumentar o reducir la seccin de paso del lquido.
h La seal de control ua(t) es el caudal de entrada al depsito.
Tema 6: Sistemas en Tiempo Real
9 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Primer ejemplo de sistemas en Tiempo Real
h Seales en los sistemas en Tiempo Real:

Seales continuas. Son todas las que intervienen en la planta,


desde la seal de control u(t) hasta la seal de medida Ys(t). En
seales continuas tiene sentido hablar de su valor en cualquier
instante de tiempo.

Seales discretas. Corresponden a la seal que resulta del


muestreo de la seal de medida Ys(t) y a la seal que toma los
valores de la seal de control u(t) en cada perodo de muestreo.
En seales discretas slo tiene sentido hablar de su valor en los
instantes de muestreo.

Seales digitales. Son aquellas con las que opera el


computador. En cada perodo de muestreo se digitaliza la seal
discreta de medida y se pasa de digital al valor discreto de la
seal de control.

Tema 6: Sistemas en Tiempo Real


10 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Ejemplos de sistemas en Tiempo Real
h ABS: El sistema en funcin
de la velocidad, el ngulo de
giro y el deseo de conductor
de frenar, tomar la decisin
correcta y todo ello en un
tiempo determinado.

Sensor pedal
de freno

Actuador Control de Sensor de


de freno frenada ngulo de giro
(ruedas delanteras)

Sensor de
velocidad

Hay un bloque
de este tipo por
rueda

Tema 6: Sistemas en Tiempo Real


11 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Ejemplos de sistemas en Tiempo Real
h Control de la velocidad de un motor: en
funcin de las rdenes del operador y de la
velocidad real del motor generar la seal
correspondiente para que la velocidad del motor
sea la deseada por el operador

Computador de
Actuador control de Velocidad Opera
del motor velocidad deseada dor
el motor

Unidad potencia
+ Motor Sensor de
posicin angular

Tema 6: Sistemas en Tiempo Real


12 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Ejemplos de sistemas en Tiempo Real
h Planta de tratamiento de agua: que las entradas a
un depsito son agua sin tratar, agua con ph conocido y
agua a una temperatura conocida y el objetivo es
mantener el nivel del depsito de agua y el agua de
salida tenga un ph y una temperatura controlada

Tema 6: Sistemas en Tiempo Real


13 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Ejemplos de sistemas en Tiempo Real
h Algunas caractersticas:
Una actuacin incorrecta puede ser peligrosa
Los sistemas E/S estn orientado a las adquisicin
de datos de algn proceso fsico:
Las medidas tienen un tiempo de validez, es decir, deben
realizarse medidas continuamente, Ej.: velocidad del motor,
Las mediciones pueden ser dirigidas por tiempo (velocidad
del motor) o por eventos (pisada del freno).
Suelen ser necesarios procesos de acondicionamiento de las
mediciones (convertidores A/D y D/A).
Los procesos de control pueden ser continuos (cclicos,) o
discretos (eventos), tratamiento de aguas y control de la
frenada respectivamente,
Necesitan supervisin de la integridad del sistema
(datos adquiridos, actuaciones).
Tema 6: Sistemas en Tiempo Real
14 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Ejemplos de sistemas en Tiempo Real
h Sistema multimedia: orientadas al tratamiento de imgenes y sonido, es
realidad tratamiento de valores numricos procedentes del muestreo de
imgenes y/o sonidos.
h Sistema de transmisin de imgenes:
Requerimientos de clculo:
Conversin analgico-digital
Compresin y descompresin de la imagen y sonido
Requerimientos temporales:
En el video por la frecuencia de la captura de la cmara
En el sonido por la frecuencia de los sonido (9-20Khz)

Tema 6: Sistemas en Tiempo Real


15 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Ejemplos de sistemas en Tiempo Real
hMs Caractersticas:
Manejan gran cantidad de datos
Siempre son intensivos en datos, es decir,
necesitan un gran volumen de informacin.
A veces necesitan gran potencia de computacin,
para procesar esos datos
No producen accin sobre el medio fsico.
Una actuacin incorrecta (lgica o
temporalmente) no suele ser peligrosa.

Tema 6: Sistemas en Tiempo Real


16 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Ejemplos de sistemas en Tiempo Real
h Sistemas empotrados se encuentran en multitud de
productos y estn integrados en la estructura fsica de la
maquinaria que controlan:

Vehculos: Coches, autobuses, trenes, aviones, barcos, gras,


Maquinaria industrial: Robots, clulas de fabricacin,
maquinas/herramienta,
Sistemas de comunicacin: Telfonos mviles, repetidores,
rotures, radio,
Electrodomsticos: Elec. lnea blanca, televisores, videos,
cmaras fotos, alarmas,
Ocio: Consolas videojuego, juguetes, salas de cine, sistemas de
sonido, iluminacin,
Armamento: Gua de misiles, balstica,...

Tema 6: Sistemas en Tiempo Real


17 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Ejemplos de sistemas en Tiempo Real
h La unidad de control para un SCORBOT ER-VII:
CPU: 68020-68881.
512 KB. ROM, 512 KB RAM
E/S:
Tarjetas de control de motores (6-12 ejes).
Unidad de control Brazo robot (5 ejes)
2-10 RS232.
16 entradas, 16 salidas digitales (12-24 voltios)

Brazo robot (5 ejes)

Unidad de control

Entorno
Entorno

Tema 6: Sistemas en Tiempo Real


18 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Ejemplos de sistemas en Tiempo Real
h ltimas caractersticas:
En un sistema con este existen varias tareas realizndose
simultneamente:
Interpretacin de la lista de acciones a realizar.
Clculo de las trayectorias: Por qu puntos hay que pasar, qu
tipo de movimientos hay que realizar entre esos puntos, a que
velocidad,...
Traduccin trayectoria movimientos en los motores de los
distintos ejes.
Control de los motores (5).
Supervisin.
....
Los sistemas empotrados presentan las siguientes
caractersticas comunes:
Recursos limitados: procesador, memoria, pantalla...
Arquitectura orientada al sistema que controla. Sobre todo los
sistemas de E/S.
Poca o ninguna intervencin de operadores humanos.

Tema 6: Sistemas en Tiempo Real


19 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Estructura general de un STR

Tema 6: Sistemas en Tiempo Real


20 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Estructura general de un STR
h Sistema a controlar. Cualquier sistema que pueda ser controlado.

h Interfaz con el sistema. adaptar las seales que desde el sistema se envan
al computador y desde el computador se mandan al sistema. Esta formado
por conversores analgicos digitales y digitales analgicos, que permiten
medir el estado del sistema a controlar e imponer un control sobre la
operacin a realizar en dicho sistema.

h Reloj de tiempo real. un reloj que permita tomar muestras de las seales
recibidas de los dispositivos, as como, mandarles determinadas seales en
los momentos precisos. El reloj de tiempo real provoca una interrupcin en
cada perodo de muestreo.

h Consola del operador. Permite al operador humano realizar intervenciones


manuales (arranque, parada, modificaciones en el comportamiento del
sistema,).

h Pantallas. Se utilizan para enviar informacin al operador sobre el estado


del sistema.

Tema 6: Sistemas en Tiempo Real


21 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Estructura general de un STR
h Base de datos. Los cambios de estado del sistema son guardados en una
base de datos que el operador e ingenieros de control pueden interrogar en
caso de fallo del sistema o para obtener informacin con propsito de
gestin. Esta informacin va creciendo y se utiliza para tomar las
decisiones que surgen con el funcionamiento del sistema.

h Sistema de monitorizacin remoto . En procesos industriales, la


monitorizacin de la planta es esencial para reducir costos y aumentar la
produccin. Las decisiones relativas a la produccin de una planta pueden
repercutir en el rendimiento de otras plantas que dependen de ella, como
es el caso de una planta que produce materia prima para otra.

h Computador. El software que controla las operaciones del sistema est


escrito en mdulos que reflejan la naturaleza fsica del entorno. De forma
general, estos mdulos son:
Algoritmos de control digital. Realizan el control del sistema.
Registros de datos. Permiten guardar los cambios de estado del sistema.
Informacin de direccin. Permiten facilitar informacin sobre el estado del
sistema y las operaciones que se realizan a los encargados de la direccin del
sistema global.
Interfaz con el operador. Para interactuar con el operador.

Tema 6: Sistemas en Tiempo Real


22 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Caractersticas de los STR
h Tamao y complejidad. A menudo problemas relacionados con
sistemas en tiempo real se convierten en problemas de gran
tamao y complejidad.

h Manipulacin de nmeros reales. Es la manera de representar los


valores ledos del mundo real en un computador.

h Seguridad y fiabilidad. Los sistemas en tiempo real suelen estar


relacionados con procesos en los que los fallos tienen
consecuencias graves, por lo tanto la tolerancia a fallos es un factor
de vital importancia en su diseo.

h Concurrencia. A menudo es necesario controlar el acceso a


recursos compartidos, ejecutar varias tareas en paralelo, lo que
provoca que los STR presente un cierto grado de procesamiento en
multitarea.

Tema 6: Sistemas en Tiempo Real


23 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Caractersticas de los STR
h Eficiencia. Esta caracterstica es exigible a todo tipo de sistemas, aun mas
en sistemas que pueden ser crticos, como los STR. Con esta caracterstica
se pretende asegura que el funcionamiento lgico de sistema es correcto y
optimo.

h Dependencia del tiempo. Como ya hemos visto el tiempo es el factor


distintivo de los STR, a los que se les exige no solo una correccin lgica,
si no que cumplan unos determinados requerimientos temporales. Su
comportamiento temporal tiene que ser determinista, y a la hora del diseo,
hay que prever el peor de los casos.

h Dispositivos de E/S especiales. La conexin con el exterior esta adaptada a


los procesos que se controlan y a menudo condicionan el funcionamiento
de sistema. Las interacciones con el exterior pueden ser activas o pasivas,
es decir, el sistema debe controlar el acceso al medio fsico, o bien el
medio fsico perturba de alguna manera al sistema de control.

Tema 6: Sistemas en Tiempo Real


24 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Secuenciamiento de Tareas
h Clasificacin de los STR segn el flujo de
ejecucin:
Sistemas monotarea. Estn compuestos por un
nico flujo de ejecucin. El sistema se compone de
un bucle infinito en el que se muestran los
dispositivos de entrada a una determinada frecuencia
y se generan las salidas correspondientes, es decir,
se realiza polling (sondeo) sobre los dispositivos a
controlar. Su principal ventaja es la sencillez pero son
poco flexibles, lo que impide aadir nueva
funcionalidad debido a la alta interdependencia entre
las tareas a realizar.

Tema 6: Sistemas en Tiempo Real


25 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Secuenciamiento de Tareas

Sistemas multitarea. Estn compuestos por un


conjunto de tareas (asociadas a procesos que se
deben controlar) que se ejecutan de forma
concurrente para el control del proceso global. Si es
necesario el control de nuevos procesos slo es
preciso aadir nuevas tareas. El principal problema
es la planificacin de las tareas concurrentes de tal
forma que se cumplan los requisitos temporales. En
este tipo de sistemas es necesario controlar los
recursos y la comunicacin entre tareas.

Tema 6: Sistemas en Tiempo Real


26 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Secuenciamiento de Tareas
h En funcin de la forma de ejecucin, las tareas
se clasifican en:
tareas peridicas. Se activan repetidamente a
intervalos de tiempo fijo:
Perodo de activacin (p) o tiempo
que transcurre entre dos
activaciones consecutivas.
Plazo de ejecucin (d) o tiempo de
respuesta mximo (mximo plazo
de tiempo entre la activacin y la
terminacin de forma correcta).
Tiempo de cmputo (c) (tiempo de
cmputo mximo en cada
activacin).
Se debe cumplir que 0 c d p

Tema 6: Sistemas en Tiempo Real


27 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Secuenciamiento de Tareas
Tareas espordicas. Se activan en instantes aleatorios y tienen
requisitos temporales crticos. Las caractersticas temporales de
estos procesos son:
Separacin mnima (p) (tiempo mnimo que puede transcurrir entre
dos activaciones consecutivas).
Plazo de ejecucin (d) o tiempo de respuesta mximo (mximo
plazo de tiempo entre la activacin y la terminacin de forma
correcta).
Tiempo de cmputo (c) (tiempo de cmputo mximo en cada
activacin).
Se debe cumplir que 0 c d p. Si los requisitos temporales son
no crticos se denominan procesos espordicos.

Tareas aperidicas. No poseen requisitos temporales rgidos:


Tiempo de cmputo. Tiempo de ejecucin en el peor de los casos.
Plazo de finalizacin. Tiempo mximo que puede transcurrir entre la
activacin de la tarea y la finalizacin de la ejecucin de sta.

Tema 6: Sistemas en Tiempo Real


28 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Secuenciamiento de Tareas
h Las tareas se clasifican, atendiendo a su semntica en:
Crticas: El fallo de una de estas tareas puede ser catastrfico.
Opcionales (no crticas): Se pueden utilizar para refinar el
resultado dado por una tarea crtica, o para monitorizar el estado
del sistema, etc.

h Por planificacin se entiende la asignacin de recursos


del sistema (incluido el procesador) a las distintas tareas
que los soliciten. Uno de los problemas fundamentales
en el diseo de sistemas de tiempo real es la
planificacin o asignacin de recursos del sistema a las
tareas de tiempo real de tal forma que se verifiquen sus
restricciones temporales.

Tema 6: Sistemas en Tiempo Real


29 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Secuenciamiento de Tareas
h Los objetivos que persigue la planificacin de
tareas son:
Garantizar la correcta ejecucin de todos los
procesos crticas.
Ofrecer un buen tiempo ejecucin de todos los
procesos no peridicos.
Administrar el uso de recursos compartidos.
Posibilidad de recuperacin ante fallos software y
hardware.
Soportar cambios de modo, esto es, cambiar en
tiempo de ejecucin el conjunto de tareas. Por
ejemplo: un cohete tiene que realizar acciones muy
distintas durante el lanzamiento, estancia en orbita y
regreso; en cada fase, el conjunto de tareas que se
tengan que ejecutar ha de ser distinto.
Tema 6: Sistemas en Tiempo Real
30 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Secuenciamiento de Tareas

h Inicialmente supondremos las siguientes


simplificaciones. Conforme estudiemos con ms
detalle los algoritmos de planificacin, iremos
eliminando estas restricciones:
Los procesos son independientes.
No comparten recursos, ni se comunican entre ellas.
Todas las tareas son peridicas.
Los tiempos de cambio de contexto son
despreciables.

Tema 6: Sistemas en Tiempo Real


31 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Secuenciamiento de Tareas
h Un planificador es un mtodo para asignar recursos (el
tiempo de procesador).
h Diremos que un conjunto de tareas es factible o
planificable si existe algn planificador que sea capaz de
cumplir las restricciones de todas las tareas (en nuestro
caso las restricciones temporales: los plazos de
ejecucin).
h Un planificador es ptimo si es capaz de planificar
correctamente cualquier conjunto de tareas factible.
k
h El factor de utilizacin es: U = Ci
Pi
i =1
h El hiperperiodo es el mnimo comn mltiplo de los
periodos de las tareas.
Tema 6: Sistemas en Tiempo Real
32 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Secuenciamiento de Tareas
hClasificacin de polticas de planificacin:

Tema 6: Sistemas en Tiempo Real


33 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Planificacin cclica
h Ejecutar de forma iterativa un conjunto de tareas
peridicas con un solo procesador.
h A partir de los requisitos temporales del conjunto de
tareas, se construye un plan principal que define la
secuencia de tareas que deben ejecutarse durante un
perodo fijo de tiempo (ciclo principal).
h El plan principal se divide en planes secundarios, que
describen la secuencia de procesos que se deben
ejecutar durante un perodo de tiempo fijo (ciclo
secundario)
h Cada ciclo secundario se divide a su vez en marcos
dentro de los cuales se ejecuta un solo proceso de la
secuencia del plan secundario correspondiente.
h El instante en que termina un ciclo secundario y
empieza el siguiente se sincroniza mediante el reloj de
ciclo secundario.
Tema 6: Sistemas en Tiempo Real
34 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Planificacin cclica
h Ejemplo: Proceso p d c
P1 6 6 1
P2 8 8 3
P3 8 8 2
P4 12 12 2

Tema 6: Sistemas en Tiempo Real


35 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Planificacin cclica
h Una condicin necesaria para que sea
planificable el conjunto de procesos peridicos
{P1,P2,,Pn} con requisitos temporales
representados por (pi,di,ci) es que la utilizacin
del procesador u sea menor o igual que uno:
k
U = Pii 1
C

i =1

Z Condicin que se verifica para el ejemplo:


k
2 3 1 2 23
U = Ci
Pi = + + + = 1
i =1 8 8 6 12 24

Tema 6: Sistemas en Tiempo Real


36 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Planificacin cclica
hPara construir un plan de ejecucin, se
debe calcular la duracin del ciclo
principal M y las duraciones de los ciclos
secundarios mi.
hLa duracin del ciclo principal M
corresponde al mnimo comn mltiplo de
los perodos de los procesos,
M=m.c.m.(pi).

Z Resultando para el ejemplo M=24.


Tema 6: Sistemas en Tiempo Real
37 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Planificacin cclica
h Para calcular las duraciones de los ciclos secundarios mi,
por simplicidad, se considera que todas ellas son iguales
a un cierto valor m que debe cumplir las siguientes
condiciones (si no existe ningn valor de m que las
verifique, el conjunto de procesos no admite una
planificacin cclica):
Ser menor o igual que el plazo de ejecucin de cualquier
proceso, i (m di )
Ser mayor o igual que el mximo de los tiempos de computo,
m max ( ci )
Ser divisor de la duracin del ciclo principal, k ( M = km )
Que i ( m + ( m mcd ( m, pi ) ) di )
condicin necesaria y suficiente para que entre el instante de
activacin de cada proceso y su plazo lmite pueda haber un ciclo
secundario completo (incluye la primera condicin)

Tema 6: Sistemas en Tiempo Real


38 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Planificacin cclica
h En el plan principal existen:
M
ncs = ciclos secundarios
m
M ejecuciones de cada proceso P .
nei = i
pi

h Cada plan secundario est formado por una secuencia s


de ejecuciones de procesos {Pik,Pjl,,Prs} (Pik
representa la ejecucin k del proceso i).

Tema 6: Sistemas en Tiempo Real


39 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Planificacin cclica

h Al aplicar las condiciones anteriores al ejemplo


indicado se llega a que la duracin de los ciclos
secundarios puede ser m=3 o m=4:
i (m di ) m 6 m {1, 2,3, 4,5, 6}

m max ( ci ) m 3 m {3, 4,5, 6}

k ( M = km ) m {3, 4, 6}

( )
i m + ( m mcd ( m, pi ) ) di m {3, 4}

Tema 6: Sistemas en Tiempo Real


40 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Planificacin cclica

h Para m=3 se obtiene ncs=8 y para m=4 resulta ncs=6.


Como la complejidad aumenta con el nmero de ciclos
secundarios se elige m=4 con lo que se tienen 6 ciclos
secundarios por ciclo principal

h Por otra parte, se obtiene que el nmero de ejecuciones


de cada proceso en el ciclo principal es ne1=4 para el
proceso P1, ne2=3 para el proceso P2, ne3=3 para el
proceso P3 y ne4=2 para el proceso P4.

Tema 6: Sistemas en Tiempo Real


41 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Planificacin cclica
h Obtencin de una planificacin admisible:
Ordenacin de las tareas: por plazo de ejecucin ms
corto, por periodo ms corto o por tiempo de computo
menor.
Determinacin de posibles ciclos secundarios para
cada ejecucin de cada tareas:
pi ( k 1) m( j 1) pi ( k 1) + di m

Construir un rbol, probando todas la posibles


combinaciones hasta encontrar una que sea admisible.

Tema 6: Sistemas en Tiempo Real


42 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Planificacin cclica
h rbol para el ejemplo:

Tema 6: Sistemas en Tiempo Real


43 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Planificacin cclica
h Los mtodos de planificacin esttica basados en una planificacin
cclica son los comnmente utilizados en sistemas de tiempo real
crticos. Las principales ventajas de los mtodos de planificacin
esttica son:
El mtodo es determinista y predecible.
La sobrecarga por cambios de contexto no existe en una planificacin
cclica y, en general, es previsible en los planificadores estticos.
Adems no es necesaria sobrecarga adicional para realizar exclusin
mutua.
La realizacin es muy sencilla y la sobrecarga por planificacin es muy
pequea. El planificador se limita a ir activando por turno los procesos
segn un plan prefijado de ejecucin.

h En cuanto a las desventajas se pueden enumerar las siguientes:


El diseo de los planes es muy laborioso.
No son fciles de mantener, ya que un cambio en el conjunto de
procesos o en las restricciones temporales obliga a rehacer todo la
planificacin.
Existen grupos de procesos que no admiten una planificacin cclica
factible.

Tema 6: Sistemas en Tiempo Real


44 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Prioridades estticas (Rate Monotonic)
h Durante la fase de diseo, a cada tarea se le
asigna una prioridad inversamente proporcional
al plazo de ejecucin.
h Durante la fase de ejecucin, el planificador
selecciona aquel proceso con mayor prioridad.
h Este planificador es expulsivo, una tarea con
mas prioridad expulsa a la que este
ejecutndose en ese momento.
h A todas las restricciones antes mencionas, hay
que aadir que el plazo mximo de ejecucin ha
de ser igual al periodo de activacin de cada
tarea
Tema 6: Sistemas en Tiempo Real
45 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Prioridades estticas (Rate Monotonic)
h Ejemplo de planificacin con RM:
Representacin con cronograma: tiempo de izquierda
a derecha
En cada lnea una tarea
Flecha hacia arriba indica la activacin de la tarea

Tema 6: Sistemas en Tiempo Real


46 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Prioridades estticas (Rate Monotonic)
h TEST DE GARANTIA DEL FACTOR DE UTILIZACIN:
Un conjunto de n tareas ser planificable bajo Rate-
Monotonic si se cumple que el factor de utilizacin del
conjunto de tareas es menor que:
1n
n 2 1

C1 Cn 1n
Esto es: + ... + = U U ( n ) = n 2 1
P1 Pn
n U(n)
1 1.0
2 0.828
La Tabla 1 representa los valores de U(n): 3 0.779
4 0.756
5 0.743

4 0.693

Tema 6: Sistemas en Tiempo Real


47 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Prioridades estticas (Rate Monotonic)
h TEST DE GARANTA DEL PLAZO DE EJECUCIN:
Un conjunto de n tareas ser planificable bajo
asignacin de prioridades si y slo si: Cada tarea
cumple su plazo de ejecucin en el peor caso:
1 i nW
. i di
donde Wi representa el instante en el que finaliza la
ejecucin en el peor caso:
Wi
Wi = ci + c j
jhp ( i ) p j

donde hp(i) representa el conjunto de tareas con


prioridad mayor que la tarea i.
Tema 6: Sistemas en Tiempo Real
48 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Prioridades estticas (Rate Monotonic)
Tal como vemos a ambos lados de la igualdad tenemos
el valor Wi, que no se puede despejar. La solucin de
esta expresin se obtiene de forma iterativa:
Wi 0 = ci
Wi 0
Wi = ci +
1
cj
jhp ( i ) p j

Wi1
Wi = ci + c j
2

jhp ( i ) p j

Wi k = Wi k +1
Si en alguna iteracin se obtiene un valor de W mayor
que el plazo mximo de ejecucin de la tarea, entonces
esta tarea no ser planificable y por tanto el sistema
tampoco.
Tema 6: Sistemas en Tiempo Real
49 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Prioridades estticas (Rate Monotonic)
h Ejemplo:
Dado el siguiente conjunto de tareas, comprobar si es o
no planificable bajo asignacin de prioridades y bajo RM.
Dibujar las primeras 50 unidades de tiempo del resultado
de la planificacin
Tarea C P
T1 1 4
T2 2 9
T3 4 10

Tema 6: Sistemas en Tiempo Real


50 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Prioridades estticas (Deadline Monotonic)
h Idntico al RM pero eliminando una restriccin: las
tareas pueden tener un plazo de ejecucin menor o igual
a su periodo. Las prioridades se asignan de forma
inversamente proporcional al plazo mximo de
ejecucin. RM es un caso particular del DM en el que
todas las tareas tienen plazo de ejecucin igual al su
periodo.
h El test de garanta del plazo de ejecucin es vlido para
cualquier asignacin de prioridades.
h DM es que es ptimo entre los planificadores basados
en prioridades estticas (lo que no significa que sea
capaz de planificar cualquier conjunto de tareas factible).
En otras palabras, si el sistema no es planificable,
entonces no existe otra asignacin de prioridades que
haga al sistema planificable.

Tema 6: Sistemas en Tiempo Real


51 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Cambios de Contexto
h Hasta ahora no los habamos considerado
h Procesadores actuales tiene muchos registros y
salvar toda esa informacin en memoria
requiere tiempo

Tema 6: Sistemas en Tiempo Real


52 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial
Cambios de contexto
h Los cambios de contexto han sido provocados
por la tarea ms prioritaria el tiempo del
cambio de contexto se le aade al tiempo de
computo de sta.
h La tarea menos prioritaria tambin debe tener
en cuenta los cambios de contexto ya que en
realidad expulsa a la tarea idle.
h Idle tarea que no hace nada y que se activa
cuando el procesador no tiene nada que hacer
ayuda a simplificar los sistemas operativos.

Tema 6: Sistemas en Tiempo Real


53 Informtica Industrial 3 Ing. Tcnico Industrial en Electrnica Industrial

You might also like