Você está na página 1de 59

PLANIFICACIÓN ESTÁTICA

Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 1


Tema 4: Planificación Estática

Objetivos:

• Estudiar las características de un plan de ejecución estático


• Introducir un método de diseño de sistemas de tiempo real
basado en arquitectura síncrona
• Diseño de ejecutivos cíclicos

Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 2


Tema 4: Planificación Estática

Referencias

• Jane W.S. Liu


Real-Time Systems Ed. Prentice Hall (2000), capítulo 5
• Hermann Kopetz
Design Principles for Distributed Embedded Applications,
Kluwer Academic Publishers (1997), capítulo 11
• Transparencias de Juan Antonio de la Puente
http://polaris.dit.upm.es/~jpuente/
• Transparencias de J.L. Villarroel

Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 3


Tema 4: Planificación Estática

Concurrencia
• Los sistemas de tiempo real ejecutan actividades (tareas)
concurrentemente
• Las tareas controlan actividades del mundo exterior que se
producen de forma simultánea
• En sistema mono-procesador, la ejecución de las tareas se
multiplexa en el tiempo en el procesador disponible
ejecutándose desalojada

τ1

τ2

τ3
t
Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 4
Tema 4: Planificación Estática

Requisitos temporales de las tareas

• Esquema de activación:
• Tareas periódicas: se activan a intervalos regulares
• Tareas esporádicas: se activan en respuesta a eventos
(que se producen en instantes distribuidos
irregularmente)
• Instante límite de ejecución:
• Especifica un plazo (relativo al instante de activación)
para terminar la ejecución

Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 5


Tema 4: Planificación Estática

D D D

t
Tarea periódica
T T T

Tarea esporádica
t

D D
Modelo simple de tareas
• Inicialmente supondremos que todas las tareas son periódicas y
que el número de tareas y sus atributos temporales son fijos y
conocidos y que las tareas son independientes

Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 6


Tema 4: Planificación Estática

Arquitectura Software
Arquitectura síncrona
• Las tareas se ejecutan según un plan de ejecución fijo
(realizado por el diseñador)
• El sistema operativo se reemplaza por un plan estático
Arquitectura asíncrona
• Las tareas son despachadas al procesador de forma
dinámica
• Cada tarea tiene una prioridad
• En cada instante se ejecuta la tarea ejecutable de mayor
prioridad
Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 7
Tema 4: Planificación Estática

Arquitectura síncrona
• planificación conducida por tiempo
reloj

PLAN ESTÁTICO

tarea 1 tarea 1 ..... tarea 1

Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 8


Tema 4: Planificación Estática

Arquitectura asíncrona

TAREA 1 TAREA 2 TAREA n


...

SISTEMA OPERATIVO

Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 9


Tema 4: Planificación Estática

Planificación conducida por tiempo: (clock driven


scheduling)

• La decisión de las actividades a ejecutar y cuándo


ejecutarlas se realiza en determinados instantes
• Los instantes de decisión se eligen a priori
• Se diseña el plan y se almacena para su utilización en
tiempo de ejecución
• Se puede realizar de forma que las decisiones de
planificación se hagan periódicamente. En tal caso, se
puede utilizar un temporizador hardware

Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 10


Tema 4: Planificación Estática

Planificación conducida por tiempo: (clock driven


scheduling)

• La principal desventaja es que es poco flexible


• El plan se calcula conocidos los tiempos de activación y los
requisitos de CPU y recursos de todas las tareas del
sistema
• El sistema debe ser por tanto, determinista
• Para sistemas de estas características el plan cíclico es
temporalmente correcto por construcción

Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 11


Tema 4: Planificación Estática

Modelo de Tareas simple:


• Conjunto de tareas estático (número fijo y conocido)
• Todas las tareas son periódicas
• Las tareas son independientes
• El tiempo de cómputo máximo (Ci) es conocido
• Di≤ Ti
Parámetros de una tarea τi:
• φi: fase. Tiempo que transcurre desde t=0 hasta la primera
activación
• Ti: periodo. Tiempo entre activaciones consecutivas
• Ci: WCET. Tiempo de ejecución de peor caso
• Di: plazo. Tiempo máximo, relativo al instante de activación, en el
que debe completarse

Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 12


Tema 4: Planificación Estática

Si se conocen los plazos de todas las tareas críticas, una forma


de asegurar que siempre están garantizados es construir un
Plan Estático
Este plan especifica cuándo se deben ejecutar las tareas
A cada tarea se le asigna un tiempo de CPU correspondiente a
su tiempo de cómputo máximo Ci
El planificador en tiempo de ejecución despacha las tareas de
acuerdo al plan estático
De todos los posibles planes que aseguran los plazos, se elige
uno de acuerdo a un criterio. Por ejemplo, que los tiempos de
procesador libre sean casi-periódicos (de forma que se puedan
acomodar las tareas aperiódicas)

Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 13


Tema 4: Planificación Estática

Factor de utilización de procesador de una tarea τi


Ci
Ui =
Ti
Factor de utilización total del procesador
Ci
n
U =∑
i =1 Ti

siendo n el número de tareas en el sistema


• Es una medida de la carga del procesador
• Una CN para poder elaborar un plan de ejecución estático
es:
U ≤1
Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 14
Tema 4: Planificación Estática

Dado que todas las tareas son periódicas, el


comportamiento temporal se repite cada
Hiperperiodo (mcm(Ti))

Para construir el plan estático es suficiente planificar


el primer Hiperperiodo del conjunto de tareas

Se denomina ciclo principal, TM=mcm(Ti)

Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 15


Tema 4: Planificación Estática
Ejemplo:
» Factor de utilización
Tarea C T U del procesador
τ1 1 4 0,25 n
Ci
U =∑ = 0,76 < 1
τ2 1,8 5 0,36 i =1 Ti
» Dado que las tareas son
τ3 1 20 0,05
periódicas, el comportamiento
τ4 2 20 0,1 temporal se repite cada
Hiperperiodo (o ciclo principal):
» El plan estático se compone de
TM = mcm(Ti) = 20 ms
segmentos de longitud 20 ms

T1 T3 T2 T1 T4 T2 T1 T2 T1 T1 T2 T1 tiempo
0 4 8 12 16 20

Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 16


Tema 4: Planificación Estática

Una forma intuitiva de realizar el plan estático es


mediante una tabla
• Cada entrada de la tabla (tk, T(tk)) viene definida por:
• tk: instante de planificación
• El nombre de la tarea que se tiene que ejecutar o libre

0 1 2 3,8 4 5 6 8 9,8 10,8 12 13,8 14,8 16 17 18,2 20


tk
T1 T3 T2 L T1 L T4 T2 T1 L T2 T1 L T1 L T2 T1
T

Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 17


Tema 4: Planificación Estática

Durante la inicialización, el S.O. crea todas las tareas


El planificador utiliza un temporizador de forma que
genere una interrupción en cada instante de
planificación
La rutina de servicio realiza las siguientes acciones:
• carga el temporizador con el siguiente instante de
planificación
• despacha la tarea TABLA(tk)
• se suspende hasta el siguiente instante de planificación
Si no hay tarea asignada, se puede despachar a la
primera de las tareas de la cola de aperiódicas

Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 18


Tema 4: Planificación Estática

Input: stored schedule for k=0 to number_of frames (F)-1


Task CYCLIC_EXECUTIVE
the current time t=0; the current frame k=0;
do forever
accept clock interrupt at time tf;
currentBlock=T(k);
t=t+1; k=t mod F;
if the last job is not completed, take the appropriate action;
execute the currentBlock;
sleep until the next clock interrupt;
end do
End CYCLIC_EXECUTIVE

Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 19


Tema 4: Planificación Estática

Estructura general de los planes cíclicos

• Por simplicidad se utilizan planes estáticos con cierta


estructura
• De esta forma, los marcos intermedios son iguales
• Los puntos de planificación son periódicos (y no arbitrarios)
• Estos puntos dividen el Hiperperiodo (o ciclo principal) TM en
k marcos (frames), también llamados ciclos secundarios, de
longitud Ts

Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 20


Tema 4: Planificación Estática

Estructura general de los planes cíclicos

9 Cada marco secundario es de longitud fija Ts


9 Las decisiones de planificación se hacen al comienzo de cada
marco secundario (no existe desalojo dentro de un marco)
9 La primera activación de una tarea se produce al comienzo del
primer marco secundario (Φi = 0 ∀i)
9 Ciclo principal TM=mcm(Ti)
9 El ciclo principal contiene un número entero de ciclos
secundarios TM=k Ts

Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 21


Tema 4: Planificación Estática

Ejemplo:

9 Ejemplo T1: T=D=20; C=5 T2: T=D=40; C=5


9 Plan cíclico: TM=40; Ts=20
TT11S
TM TM
T11 T2 T12
TS TS

Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 22


Tema 4: Planificación Estática

Selección del ciclo secundario, Ts


Restricciones al tamaño del marco

• Es deseable que sea lo suficientemente largo para que


todas las tareas se puedan completar en un solo marco
Ts ≥ max(Ci )
1≤i ≤ n
• El ciclo secundario, Ts, debe ser divisor de TM
∃k :TM = k .Ts
Esto se cumple si k es divisor de al menos el periodo de una
tarea  Ti  Ti
m = m
 
Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 23
Tema 4: Planificación Estática

Selección del ciclo secundario, Ts

Restricciones al tamaño del marco

• Para conseguir que toda activación de una tarea se


complete en su plazo, el marco debe ser lo suficientemente
pequeño como para que entre la activación y el plazo exista
un marco secundario completo

Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 24


Tema 4: Planificación Estática

Selección del ciclo secundario, Ts


Restricciones al tamaño del marco

CASO 1: La activación de la tarea se produce al comienzo de un marco


secundario (caso del primer marco secundario de todo ciclo principal)
Ts ≤ min( Di )
1≤i ≤ n
CASO 2: La activación de la tarea se produce después del comienzo de un
marco secundario
2Ts − mcd (Ts , Ti ) ≤ Di
• Esta condición incluye a la anterior
• Permite detectar fallos en el tiempo de respuesta de cualquier
activación de la tarea

Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 25


Tema 4: Planificación Estática

Ejemplo:
U = 0,76 < 1
Tarea C T U Ciclo principal
τ1 1 4 0,25 TM=mcm(Ti)=20

τ2 1,8 5 0,36 Ciclo secundario


τ3 1 20 0,05 • Ts ≤ min( Di ) = 4
• Ts ≥ max(C i ) = 2
τ4 2 20 0,1
• TM = k .Ts ; Ts = 2,4
• 2Ts − mcd (Ts , Ti ) ≤ Di

Posibles Ts = 2
Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 26
Tema 4: Planificación Estática

Ejemplo:
U = 0,96 < 1

tarea C T D Ciclo principal


TM=mcm(Ti)=24
τ1 2 8 8
Ciclo secundario
τ2 3 8 8
• Ts ≤ min( Di ) = 6
τ3 1 6 6 • Ts ≥ max(Ci ) = 3
τ4 2 12 12 • TM = k .Ts ; Ts = 3,4,6
• 2Ts − mcd (Ts , Ti ) ≤ Di

Posibles Ts = 3,4
Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 27
Tema 4: Planificación Estática

Ejemplo:
U = 0,76 < 1

Ciclo principal
tarea C T D Ui Nº Ej
TM=mcm(Ti)=200
τ1 10 40 40 0,25 5
Ciclo secundario
τ2 18 50 50 0,36 4 • Ts ≤ min( Di ) = 40; Ts = 1..40
• Ts ≥ max(Ci ) = 20; Ts = 20..40
τ3 10 200 200 0,05 1
• TM = k .Ts ; Ts = 20,25,40
τ4 20 200 200 0,1 1 • 2Ts − mcd (Ts , Ti ) ≤ Di

Posibles Ts = 20
Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 28
Tema 4: Planificación Estática

TM
En cada ciclo principal hay = k ciclos secundarios
Ts
TM
En cada plan principal existen ejecuciones de la tarea τi
Ti
Conocidos TM y Ts, se trata de definir la secuencia de tareas en
cada marco o ciclo secundario

Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 29


Tema 4: Planificación Estática

La ejecución k-ésima de cada tarea τi podrá ser incluida en los


marcos j-ésimos que comienzan después de la activación τik y
terminan antes del plazo de τik
los marcos que empiezan después
(k − 1)Ti ≤ ( j − 1)Ts de la k-ésima activación
los marcos que terminan
jTs ≤ (k − 1)Ti + Di antes de su plazo
Para que la ejecución k-ésima de τi pueda ser incluida en la
secuencia de un marco, debe quedar suficiente tiempo libre en
el marco:
Ci ≤ Ts − ∑C
∀l t .q .
l Ts – tiempo de CPU ya asignado a otras tareas

Cl ∈marco

Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 30


Tema 4: Planificación Estática

Asignación de tareas a los marcos de forma que se cumplan los


requisitos temporales
• Búsqueda en el espacio de estados
• Estado: asignación parcial
• Algoritmo: búsqueda en profundidad con retroceso
– Se busca una única solución
• Guiado de la búsqueda
– Sobre la siguiente tarea a asignar
» Primero la más urgente (o la más frecuente)
» Primero la de tiempo de proceso más grande
– Si varios marcos cumplen las condiciones
» El primero que las cumpla
» El marco con menor tiempo de cómputo libre

Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 31


Tema 4: Planificación Estática

Ejemplo:
U = 0,96 < 1

Ciclo principal
tarea C T D Ui NE
TM=mcm(Ti)=24
τ1 2 8 8 0,25 3
Ciclo secundario
τ2 3 8 8 0,375 3
• Ts ≤ min( Di ) = 6
τ3 1 6 6 0,17 4 • Ts ≥ max(Ci ) = 3
• TM = k .Ts ; Ts = 3,4,6
τ4 2 12 12 0,17 2
• 2Ts − mcd (Ts , Ti ) ≤ Di

Posibles Ts = 3,4
Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 32
Tema 4: Planificación Estática

Ejemplo:
tarea C T D Ui NE
τ3 1 6 6 0,17 4

τ2 3 8 8 0,375 3

τ1 2 8 8 0,25 3

τ4 2 12 12 0,17 2

Ordenación de tareas: primero la más urgente


Ts=4 (la complejidad disminuye con el número de marcos)
Una planificación consta de 6 marcos consecutivos
Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 33
Tema 4: Planificación Estática

La k-ésima activación de τi, τik, puede ir al marco j si:


(k − 1)Ti ≤ ( j − 1)Ts
jTs ≤ (k − 1)Ti + Di
τ31 τ32 τ33 τ34
asignación única
τ3 0 4 8 12 16 20 24
τ21 τ22 τ23
τ2 0 4 8 12 16 20 24
τ11 τ12 τ13

τ1 0 4 8 12 16 20 24
τ41 τ42

τ4 0 4 8 12 16 20 24
Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 34
Tema 4: Planificación Estática

3 τ3: asignación única


3

3
2,4,5 1,3,6
1,3,5 2,3,5 1,4,5
3 2 3 3 2 3 3 2
2 2
3 2 3 2 3 3 3 2
τ3 y τ2 3 3 3 2 3 2 3
2 2 2 2
3 3 3 3 3 2

3 2 3 1 3 2 3 1 3 2
τ3 , τ2 y τ1 1
3 2
2
3 2
1
3 1
2
3 1
1
3 2
3 3 3 3 3
τ1 asignación 2
1
2
1
2
2
2
2
1
1

única 3 1 3 1 3 1 3 1 3 2

3 2
1 4
3 2
3 1 τ3 , τ2 , τ1 y τ4
1 4
3 2
Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 35
Tema 4: Planificación Estática

Recursos compartidos (las tareas no son


independientes)

• Una tarea se ejecuta sin interrupción hasta que termina


• No es necesario proteger los recursos compartidos (la
exclusión mutua está implícita)

Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 36


Tema 4: Planificación Estática

Segmentación de tareas

• Hay casos en los que un conjunto de tareas no es planificable


• Por ejemplo, si el tiempo de cómputo máximo de una tarea es
mayor que el plazo de otra, no es posible cumplir a la vez:
» Ts ≤ min ( Di )
1≤i ≤ n

» Ts ≥ max(C i )
1≤i ≤ n

• Si no queda tiempo de marco disponible para la ejecución de


una tarea
• Si U ≤ 1 es posible planificar la ejecución segmentando una ó más
tareas

Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 37


Tema 4: Planificación Estática

• Los segmentos son secuencias de instrucciones de la tarea


con un tiempo de cómputo conocido
ƒ Descomposición de una tarea τi: Ci,Ti,Di en
segmentos τij : Cij,Tij,Dij con:
• Tij=Ti; Dij=Di
• Ci1+ Ci2+ Ci3+... = Ci
• Cuidado! No se pueden partir secciones críticas
ƒ Existe una relación de precedencia entre la
ejecución de los diferentes segmentos
• τi1 τi2  τi3 ...

Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 38


Tema 4: Planificación Estática

• Sean τi1 y τi2 dos procesos entre los que existe una relación de
precedencia: τi1 τi2
ƒ En la ordenación de los procesos para su inclusión en la
planificación se mantiene el orden de precedencia (las dos
tareas tienen los mismos requisitos temporales, Ti=Ti2; Di1=
Di2 ):
ƒ Para incluir la k-ésima ejecución de τi2 (τi2k)
• obtener los marcos donde puede ser incluida {j ...j+h}
(k − 1)Ti ≤ ( j − 1)Ts jTs ≤ (k − 1)Ti + Di
• debido a que τi1k habrá sido ya incluida en un marco l del
conjunto {j ...j+h}, τi2k sólo podrá ser incluida en los marcos
{l+1 ...j+h} para mantener la relación de precedencia
• Sólo se podrá asignar en los que quede suficiente tiempo
libre C ≤T −
i s ∑ C
∀l t .q .
l

Cl ∈marco
Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 39
Tema 4: Planificación Estática

Ejemplo:
U = 0,92 < 1
tarea C T D Ui Nº Ej
Ciclo principal
τ1 2 6 6 0,33 4 TM=mcm(Ti)=24

τ2 2 8 8 0,25 3 Ciclo secundario


• Ts ≤ min( Di ) = 6; Ts = 1..6
τ3 8 24 20 0,33 1
• Ts ≥ max(Ci ) = 8
Ambas condiciones no
Solución: partir la tarea más larga: τ3
C3=8 en dos tareas τ31 y τ32 cuyo pueden cumplirse
tiempo de cómputo sea ≤ 6
Relación de precedencia: τ31 → τ32
Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 40
Tema 4: Planificación Estática

U = 0,92 < 1
tarea C T D Ui NE Ciclo principal
TM=mcm(Ti)=24
τ1 2 6 6 0,33 4
τ2 2 8 8 0,25 3 Ciclo secundario
• Ts ≤ min( Di ) = 6; Ts = 1..6
τ31 4 24 20 0,17 1
• Ts ≥ max(Ci ) = 4; Ts = 4..6
τ32 4 24 20 0,17 1 • TM = k .Ts ; Ts = 4,6
• 2Ts − mcd (Ts , Ti ) ≤ Di
Ordenación de tareas:
tareas primero la más
urgente manteniendo la relación de Posibles Ts = 4
precedencia: τ31 → τ32 El plan estático consta de 6 marcos
secundarios consecutivos: TM= 6 Ts
Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 41
Tema 4: Planificación Estática

La k-ésima activación de τi, τik, puede ir al marco j si:


(k − 1)Ti ≤ ( j − 1)Ts
jTs ≤ (k − 1)Ti + Di
τ11 τ12 τ13 τ14
asignación única
τ1 0 4 8 12 16 20 24
τ21 τ22 τ23
τ2 0 4 8 12 16 20 24
τ311

τ31 0 4 8 12 16 20
El último marco no es
24 válido ya que D=20
τ321 siempre detrás de τ311
τ32 0 4 8 12 16 20 24
Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 42
Tema 4: Planificación Estática

11 TM :24; Ts :4
12
13 τ1 :asignación única
14
τ2 :1,3,5 τ2 :1,3,6
11 21 11 21

12 22 12 22
τ1 + τ2 13 13
23
14 14 23

11 21 11 21
311 311
τ1 + τ2 + τ31 12 22
13
12 22
13
τ32 no cabe 23
14 14 23

11 21
311
τ1 + τ2 + τ31 + τ32 12 22
13
321
14 23
Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 43
Tema 4: Planificación Estática

• Si es preciso segmentar alguna tarea en sub-tareas, no


deben segmentarse secciones críticas, con objeto de
preservar la exclusión mutua
Ejemplo:

tarea C T D Ui Nº Ej

τ1 20 100 100 0,2 3 U = 0,6667 < 1

τ2 25 150 150 0,17 2 Ciclo principal


TM=mcm(Ti)=300
τ3 90 300 300 0,3 1

Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 44


Tema 4: Planificación Estática

• Supongamos que las tareas acceden a una variable


compartida de la siguiente forma:
τ1 15 5

τ2 15 10

τ3 15 20 15 40

Ciclo secundario
• Ts ≤ min( Di ) = 100 ; Ts = 1..100
• Ts ≥ max(Ci ) = 90 ; Ts = 90..100
• TM = k .Ts ; Ts = 100
• 2Ts − mcd (Ts , Ti ) ≤ Di
Posibles valores de Ts = 100 ⇒ TM = 3 Ts
Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 45
Tema 4: Planificación Estática

• Ordenación de tareas: primero la más urgente


• El plan estático consta de 3 marcos consecutivos
τ11 τ12 τ13
asignación única
τ1 0 100 200 300
τ21 τ22
τ2 asignación única
0 100 200 300
τ31
τ3
0 100 200 300

Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 46


Tema 4: Planificación Estática

• Ordenación de tareas: primero la más urgente


• El plan estático consta de 3 marcos consecutivos
• 0 100
No es posible asignar τ a ningún marco 3

Es necesario partir la tarea mas grande (τ3) en dos


20
segmentos:
T11
T12 • Tiempo sobrante en los marcos: 55, 80, 55 ms
1
T13

20 45
• τ31 : primera sección crítica + segundo segmento código
T11 T21
T12 τ31 : C31=35, T31=300, D31=300
1
T13 T22
• τ32 : segunda sección crítica + cuarto segmento código
τ32 : C32=55, T32=300, D32=300
Relación de precedencia: τ31 → τ32
Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 47
Tema 4: Planificación Estática

• Segmentación con secciones críticas

tarea C T D Ui NE U = 0,7 < 1


τ1 20 100 100 0,2 3 TM=mcm(Ti)=300

τ2 25 150 150 0,17 2 Ciclo secundario


• Ts ≤ min( Di ) = 100 ; Ts = 1..100
τ31 35 300 300 0,12 1
• Ts ≥ max(Ci ) = 55 ; Ts = 55..100
τ32 55 300 300 0,18 1 • TM = k .Ts ; Ts = 75,100
• 2Ts − mcd (Ts , Ti ) ≤ Di

Posibles valores de Ts = 100 ⇒ TM = 3 Ts

Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 48


Tema 4: Planificación Estática

• Ordenación de tareas: primero la más urgente, manteniendo la


relación de precedencia τ31 → τ32
• El plan estático consta de 3 marcos consecutivos

Asignación de tareas a marcos


20
• τ1 y τ2 misma asignación T11

• τ31 a cualquier marco T12


1
T13
• τ32 siempre detrás de τ31
20 45
T11 T21
T12
1
T13 T22

20 45 80
T11 T21 T31
T12 T32
1
T13 T22
Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 49
Tema 4: Planificación Estática

• Problemas de la segmentación

• A veces es difícil ajustar el tiempo de cómputo de los


segmentos
• Si hay recursos compartidos, cada sección crítica debe
pertenecer a un único segmento
• Si se modifica una sola tarea, hay que rehacer la
planificación completa (posiblemente segmentando de
otra manera)

Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 50


Tema 4: Planificación Estática

Tareas esporádicas

• El ejecutivo sólo permite tareas periódicas


• Las tareas esporádicas se realizan mediante un servidor de
consulta
• Es una tarea periódica que consulta si se ha producido el
suceso esporádico
• El periodo depende de la separación mínima entre
eventos y del plazo de respuesta

Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 51


Tema 4: Planificación Estática

Proceso esporádico E: atención a eventos externos


aperiódicos

• SE : separación mínima entre eventos


• DE : plazo límite (normalmente DE≤SE )
• CE : tiempo de cómputo máximo
• En un ejecutivo cíclico las tareas esporádicas pueden
programarse por muestreo periódico del evento:

Se consulta, y no hay evento


Hay evento, y se procesa CE

Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 52


Tema 4: Planificación Estática

Se programa la tarea esporádica como una periódica que


consulta si ha llegado un evento y, en tal caso, lo procesa.
• Se transforma la tarea esporádica en periódica con :
DE
D' = T ' ≤
2
• Si la tarea periódica cumple sus plazos, cualquier evento se
atiende en su plazo DE

T’ tarea periódica
Se consulta, y no hay evento

Hay evento, y se procesa CE


DE
evento
Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 53
Tema 4: Planificación Estática
Ejemplo:

tarea C T D S tarea C T D Ui NE

E 1 8 20 τE 1 4 4 0,25 3

τ1 3 6 6 τ1 3 6 6 0,5 2

τ2 2 12 12 τ2 2 12 12 0,17 1

τE: tarea periódica equivalente: D’ = T’= 4 ≤ DE / 2

Ciclo principal: TM=mcm(Ti)=12

U = 0,92 ≤ 1 cumple CN

Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 54


Tema 4: Planificación Estática

Selección del ciclo secundario


U = 0,92 < 1 TM=mcm(Ti)=12

Ciclo secundario
• Ts ≤ min( Di ) = 4 ; Ts = 1..4
• Ts ≥ max(C i ) = 3 ; Ts = 3,4
• TM = k .Ts ; Ts = 3,4
• 2Ts − mcd (Ts , Ti ) ≤ Di

Posibles valores de Ts = 4 ⇒ TM = 3 Ts

Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 55


Tema 4: Planificación Estática

• Ordenación de tareas: primero la más urgente


• El plan estático consta de 3 ciclos secundarios consecutivos
τE1 τE2 τE3
asignación única
τE 0 4 8 12
τ21 τ22
τ1 asignación única
0 4 8 12
τ31
τ2
0 4 8 12

Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 56


Tema 4: Planificación Estática

• Ordenación de tareas: primero la más urgente


• El plan estático consta de 3 marcos consecutivos

Asignación de tareas a marcos

τE
τE
τE

τE τ1
τE
τE τ1

τE τ1
τE τ2
τE τ1
Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 57
Tema 4: Planificación Estática

Construcción del plan cíclico

ƒ En general, el problema es NP-duro


• no hay algoritmos eficientes que resuelvan todos los casos
ƒ Se usan algoritmos heurísticos
• se construye un árbol de soluciones parciales
• se puede empezar colocando las tareas más urgentes
• se podan las ramas según algún criterio heurístico
ƒ Es más fácil cuando el sistema es armónico
• pero esto puede forzar una mayor utilización del procesador
ƒ Cuando los periodos son muy dispares es más difícil
• muchos ciclos secundarios en cada ciclo principal

Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 58


Tema 4: Planificación Estática

Conclusiones

ƒ Los sistemas cíclicos, con arquitectura síncrona, se caracterizan


por:
• implementación sencilla y robusta
• determinismo temporal
• es posible certificar que son seguros
ƒ Pero tienen inconvenientes importantes:
• mantenimiento difícil y costoso
» si se cambia algo hay que empezar desde el principio
» la segmentación añade mucha complejidad
• es difícil incluir tareas esporádicas
ƒ En general, es un método de bajo nivel

Sistemas de Tiempo Real Marga Marcos, © 2003-04-05-06 59

Você também pode gostar