planificación de tareas de tiempo realpla/ii75/docs/ii75-t2-planificacion-tareas-rt.pdf · del...

36
Planificación de Tareas de Tiempo Real Planificación de Tareas de Tiempo Real Sistemas de Tiempo Real Sistemas de Tiempo Real htt // ii ji / l /ii75 htt // ii ji / l /ii75 http://www.vision.uji.es/~pla/ii75 http://www.vision.uji.es/~pla/ii75 Í di Í di Índice Índice l f ó d l f ó d Planificación de Tareas: Planificación de Tareas: Tareas Periódicas. Tareas Periódicas. Pl ifi Cí li Pl ifi Cí li Planificacn clica. Planificacn clica. Planificación por Prioridades. Planificación por Prioridades. Factor de Utilización Factor de Utilización Factor de Utilización. Factor de Utilización. Tiempo de Respuesta. Tiempo de Respuesta. Interacción entre Tareas y Bloqueos Interacción entre Tareas y Bloqueos Interacción entre Tareas y Bloqueos. Interacción entre Tareas y Bloqueos. Tareas Periódicas con Plazo de Finalización Inferior al Tareas Periódicas con Plazo de Finalización Inferior al Período. Período. Tareas Aperiódicas. Tareas Aperiódicas. Bibliografía Bibliografía F. Pla - UJI 2

Upload: others

Post on 14-Jul-2020

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Planificación de Tareas de Tiempo Realpla/ii75/docs/II75-T2-Planificacion-Tareas-RT.pdf · del algorimo de planificación utilizado. Asimismo, si podemos garantizar los plazos de

Planificación de Tareas de Tiempo RealPlanificación de Tareas de Tiempo Real

Sistemas de Tiempo RealSistemas de Tiempo Realpp

htt // i i ji / l /ii75htt // i i ji / l /ii75http://www.vision.uji.es/~pla/ii75http://www.vision.uji.es/~pla/ii75

Í diÍ diÍndiceÍndice

l f ó dl f ó d•• Planificación de Tareas:Planificación de Tareas:

–– Tareas Periódicas.Tareas Periódicas.

Pl ifi ió Cí liPl ifi ió Cí li•• Planificación Cíclica.Planificación Cíclica.

•• Planificación por Prioridades.Planificación por Prioridades.

•• Factor de UtilizaciónFactor de Utilización•• Factor de Utilización.Factor de Utilización.

•• Tiempo de Respuesta.Tiempo de Respuesta.

•• Interacción entre Tareas y BloqueosInteracción entre Tareas y Bloqueos•• Interacción entre Tareas y Bloqueos.Interacción entre Tareas y Bloqueos.

•• Tareas Periódicas con Plazo de Finalización Inferior al Tareas Periódicas con Plazo de Finalización Inferior al Período.Período.

–– Tareas Aperiódicas.Tareas Aperiódicas.

•• BibliografíaBibliografíagg

F. Pla - UJI2

Page 2: Planificación de Tareas de Tiempo Realpla/ii75/docs/II75-T2-Planificacion-Tareas-RT.pdf · del algorimo de planificación utilizado. Asimismo, si podemos garantizar los plazos de

Pl ifi ió d TPl ifi ió d TPlanificación de TareasPlanificación de Tareas

•• LaLa planificaciónplanificación dede tareastareas surgesurge debidodebido aa queque esesnecesarionecesario garantizargarantizar ciertosciertos plazosplazos mínimosmínimos dedef i i tf i i tfuncionamientofuncionamiento..

•• ObjetivosObjetivos principalesprincipales::

ObjetivoObjetivo 11:: ProporcionarProporcionar unun algoritmoalgoritmo parapara ordenarordenar elel usouso dedeloslos recursosrecursos deldel sistemasistema..

ObjetivoObjetivo 22:: PredecirPredecir queque ocurriráocurrirá enen elel peorpeor casocaso posibleposible(aplicando(aplicando elel algoritmoalgoritmo dede ordenaciónordenación dede recursosrecursosproporcionado)proporcionado)..proporcionado)proporcionado)..

F. Pla - UJI3

Modelo de TareasModelo de Tareas

•• Las aplicaciones están formadas por unLas aplicaciones están formadas por un conjunto fijoconjunto fijo dede•• Las aplicaciones están formadas por un Las aplicaciones están formadas por un conjunto fijoconjunto fijo de de tareas.tareas.

•• Las tareas sonLas tareas son independientesindependientes entre sí (a no ser que seentre sí (a no ser que se•• Las tareas son Las tareas son independientesindependientes entre sí (a no ser que se entre sí (a no ser que se diga lo contrario).diga lo contrario).

úú áá•• Las operaciones del núcleo del sistema son Las operaciones del núcleo del sistema son instantáneasinstantáneas(por ejemplo los cambios de contexto, interrupciones, (por ejemplo los cambios de contexto, interrupciones, etc )etc )etc.).etc.).

•• El tiempo de El tiempo de cómputo máximocómputo máximo de cada tarea es conocido.de cada tarea es conocido.

F. Pla - UJI4

Page 3: Planificación de Tareas de Tiempo Realpla/ii75/docs/II75-T2-Planificacion-Tareas-RT.pdf · del algorimo de planificación utilizado. Asimismo, si podemos garantizar los plazos de

Tiempo de CómputoTiempo de Cómputo

•• Para realizar un planificación adecuada debemos realizar Para realizar un planificación adecuada debemos realizar ppuna correcta estimación del una correcta estimación del tiempo de cómputotiempo de cómputo para las para las diferentes tareas del sistema.diferentes tareas del sistema.

•• Tenemos dos técnicas básicas:Tenemos dos técnicas básicas:

–– Medida delMedida del tiempo de ejecución:tiempo de ejecución: Difícil determinar el tiempoDifícil determinar el tiempoMedida del Medida del tiempo de ejecución:tiempo de ejecución: Difícil determinar el tiempo Difícil determinar el tiempo máximo ya que es difícil tener en cuenta los efectos de los máximo ya que es difícil tener en cuenta los efectos de los dispositivos “hardware”.dispositivos “hardware”.

–– Análisis del Análisis del código ejecutable:código ejecutable: Descomposición del código en Descomposición del código en bloques secuenciales. Calculando el tiempo de ejecución de cada bloques secuenciales. Calculando el tiempo de ejecución de cada bloque, determinamos el camino más largo.bloque, determinamos el camino más largo.q , gq , g

La utilización de estructuras con tiempos no acotados (bucles no La utilización de estructuras con tiempos no acotados (bucles no acotados, recursividad, objetos dinámicos, ...) dificultarán en gran acotados, recursividad, objetos dinámicos, ...) dificultarán en gran medida la correcta estimación de este parámetromedida la correcta estimación de este parámetromedida la correcta estimación de este parámetro.medida la correcta estimación de este parámetro.

F. Pla - UJI5

Tareas de Tiempo Real: NotaciónTareas de Tiempo Real: Notación

–– NN: Número de tareas.: Número de tareas.

CC Ti d j ió ( á i ) d l t iTi d j ió ( á i ) d l t iRequisitos

–– CCii: Tiempo de ejecución (máximo) de la tarea i.: Tiempo de ejecución (máximo) de la tarea i.

–– TTii: Período de repetición de la tarea i.: Período de repetición de la tarea i.de

planificación

–– SSii: Separación mínima entre eventos de la tarea i.: Separación mínima entre eventos de la tarea i.

–– DDii: Plazo de finalización (“deadline”) de la tarea i.: Plazo de finalización (“deadline”) de la tarea i.

–– RRii: Tiempo de respuesta (máximo) de la tarea i.: Tiempo de respuesta (máximo) de la tarea i.Resultado de la ejecuciónii j

El objetivo es el de asegurar los plazos de todas laEl objetivo es el de asegurar los plazos de todas laEl objetivo es el de asegurar los plazos de todas la El objetivo es el de asegurar los plazos de todas la tareas tareas críticascríticas en las peores condiciones y ofrecer un en las peores condiciones y ofrecer un “buen tiempo” de respuesta a las “buen tiempo” de respuesta a las restantesrestantes tareas.tareas.

F. Pla - UJI6

Page 4: Planificación de Tareas de Tiempo Realpla/ii75/docs/II75-T2-Planificacion-Tareas-RT.pdf · del algorimo de planificación utilizado. Asimismo, si podemos garantizar los plazos de

DefinicionesDefiniciones

•• Planificable por un planificadorPlanificable por un planificador: Un conjunto de tareas se dice : Un conjunto de tareas se dice que es planificable porque es planificable por un determinado planificadorun determinado planificador si éste essi éste esque es planificable por que es planificable por un determinado planificadorun determinado planificador si éste es si éste es capaz de garantizarcapaz de garantizar que ninguna tarea perderá sus plazos de que ninguna tarea perderá sus plazos de ejecución.ejecución.

•• PlanificablePlanificable: Un conjunto de tareas se dice que es planificable: Un conjunto de tareas se dice que es planificable si si existe algún planificador que garanticeexiste algún planificador que garantice que ninguna tarea que ninguna tarea perderá sus plazos de ejecución.perderá sus plazos de ejecución.p p jp p j

•• HiperperíodoHiperperíodo: : Mínimo común múltiploMínimo común múltiplo del período de todas las del período de todas las tareas. Si un conjunto de tareas periódico es planificable en su tareas. Si un conjunto de tareas periódico es planificable en su hiperperíodo entonces podemos asegurar que es planificablehiperperíodo entonces podemos asegurar que es planificablehiperperíodo, entonces podemos asegurar que es planificable, hiperperíodo, entonces podemos asegurar que es planificable, ya que su comportamiento temporal se repite cada ya que su comportamiento temporal se repite cada hiperperíodo.hiperperíodo.

•• Sistema síncronoSistema síncrono: Sistema en el que : Sistema en el que todas las tareas “piden” todas las tareas “piden” ejecución al mismo tiempoejecución al mismo tiempo (es decir, todas tienen el mismo (es decir, todas tienen el mismo desfasedesfase). Representa el caso de máxima carga del procesador.). Representa el caso de máxima carga del procesador.) p g p) p g p

F. Pla - UJI7

Tareas de Tiempo Real: CaracterísticasTareas de Tiempo Real: Características

•• PeriódicasPeriódicas: se repiten cada cierto período.: se repiten cada cierto período.

•• AperiódicasAperiódicas: no tienen establecido un período de repetición: no tienen establecido un período de repetición•• AperiódicasAperiódicas: no tienen establecido un período de repetición : no tienen establecido un período de repetición (aunque pueden tener establecidas condiciones mínimas de (aunque pueden tener establecidas condiciones mínimas de separación entre eventos).separación entre eventos).separación entre eventos).separación entre eventos).

F. Pla - UJI8

Page 5: Planificación de Tareas de Tiempo Realpla/ii75/docs/II75-T2-Planificacion-Tareas-RT.pdf · del algorimo de planificación utilizado. Asimismo, si podemos garantizar los plazos de

Í diÍ diÍndiceÍndice

l f ó dl f ó d•• Planificación de Tareas:Planificación de Tareas:

–– Tareas Periódicas.Tareas Periódicas.

Pl ifi ió Cí liPl ifi ió Cí li•• Planificación Cíclica.Planificación Cíclica.

•• Planificación por Prioridades.Planificación por Prioridades.

•• Factor de UtilizaciónFactor de Utilización•• Factor de Utilización.Factor de Utilización.

•• Tiempo de Respuesta.Tiempo de Respuesta.

•• Interacción entre Tareas y BloqueosInteracción entre Tareas y Bloqueos•• Interacción entre Tareas y Bloqueos.Interacción entre Tareas y Bloqueos.

•• Tareas Periódicas con Plazo de Finalización Inferior al Tareas Periódicas con Plazo de Finalización Inferior al PeríodoPeríodo..

–– Tareas Aperiódicas.Tareas Aperiódicas.

•• BibliografíaBibliografía

F. Pla - UJI 9

gg

F. Pla - UJI9

T P iódiT P iódiTareas PeriódicasTareas Periódicas

El objetivo final es el de asegurar que para todas El objetivo final es el de asegurar que para todas j g q pj g q plas tareas el tiempo de respuesta Rlas tareas el tiempo de respuesta Rii sea menor o sea menor o igual al plazo de finalización Digual al plazo de finalización Dii..

F. Pla - UJI10

Page 6: Planificación de Tareas de Tiempo Realpla/ii75/docs/II75-T2-Planificacion-Tareas-RT.pdf · del algorimo de planificación utilizado. Asimismo, si podemos garantizar los plazos de

Tareas Periódicas cuyo Plazo de FinalizaciónTareas Periódicas cuyo Plazo de FinalizaciónTareas Periódicas cuyo Plazo de Finalización Tareas Periódicas cuyo Plazo de Finalización es el Períodoes el Período

En este tipo de tareas, el plazo de finalización es En este tipo de tareas, el plazo de finalización es igual al período, es decir Digual al período, es decir Dii=T=Tii..En este tipo de tareas, el plazo de finalización es En este tipo de tareas, el plazo de finalización es igual al período, es decir Digual al período, es decir Dii=T=Tii..

El objetivo final es el de asegurar que para todas El objetivo final es el de asegurar que para todas las tareas el tiempo de respuesta sea menor o igual las tareas el tiempo de respuesta sea menor o igual al período de repetición, es decir Ral período de repetición, es decir Rii TTii..al período de repetición, es decir Ral período de repetición, es decir Rii TTii..

F. Pla - UJI11

Planificación CíclicaPlanificación Cíclica

•• LaLa planificación cíclicaplanificación cíclica consiste en confeccionar un planconsiste en confeccionar un planLa La planificación cíclicaplanificación cíclica consiste en confeccionar un plan consiste en confeccionar un plan de ejecución fijo. de ejecución fijo.

•• Funcionamiento:Funcionamiento:Funcionamiento:Funcionamiento:

–– Obtener el hiperperíodo (ciclo en el que se repite el Obtener el hiperperíodo (ciclo en el que se repite el comportamiento del sistema):comportamiento del sistema):

TTHH = mcm(= mcm(TTii))–– Obtener el período mínimo:Obtener el período mínimo:Obtener el período mínimo:Obtener el período mínimo:

TTMinMin = min(= min(TTii))

Di idi l hi í dDi idi l hi í d k Tk T /T/T i l d ii l d i–– Dividir el hiperperíodo en Dividir el hiperperíodo en k=Tk=THH/T/TMinMin ciclos secundariosciclos secundarios: : en cada uno de ellos se ejecutan las actividades en cada uno de ellos se ejecutan las actividades correspondientes a determinadas tareas.correspondientes a determinadas tareas.

F. Pla - UJI12

Page 7: Planificación de Tareas de Tiempo Realpla/ii75/docs/II75-T2-Planificacion-Tareas-RT.pdf · del algorimo de planificación utilizado. Asimismo, si podemos garantizar los plazos de

Planificación CíclicaPlanificación Cíclica

Tarea T C

Planificación Cíclica (Ejemplo)Planificación Cíclica (Ejemplo)

Tarea T CT1 25 10T2 25 8 • El hiperperíodo dura 100 u.t.

T3 50 5T4 50 4

• Hay 4 ciclos secundarios de 25 u.t.

T5 100 2

11 11 111122 22 222233 33

3020 40 50100 60 70 80 90 100

T1T1 T1T1 T1T1T1T1T2T2 T2T2 T2T2T2T2T3T3 T3T3T4T4 T4T4T5T5

F. Pla - UJI13

Planificación CíclicaPlanificación Cíclica

Planificación Cíclica (Características)Planificación Cíclica (Características)

•• En la planificación cíclica En la planificación cíclica no hay concurrenciano hay concurrencia: cada ciclo : cada ciclo secundario es una secuencia de invocaciones de tareas.secundario es una secuencia de invocaciones de tareas.

•• No son necesarios procedimientos de No son necesarios procedimientos de exclusión mutuaexclusión mutuapara compartir datos.para compartir datos.

•• No es necesario analizar el comportamiento temporal: es No es necesario analizar el comportamiento temporal: es correcto por construccióncorrecto por construcción..

•• Los períodos deben ser Los períodos deben ser armónicosarmónicos..

•• El plan cíclico esEl plan cíclico es difícil de construirdifícil de construir..El plan cíclico es El plan cíclico es difícil de construirdifícil de construir..

•• Es Es poco flexiblepoco flexible y y difícil de mantenerdifícil de mantener..

F. Pla - UJI14

Page 8: Planificación de Tareas de Tiempo Realpla/ii75/docs/II75-T2-Planificacion-Tareas-RT.pdf · del algorimo de planificación utilizado. Asimismo, si podemos garantizar los plazos de

Í diÍ diÍndiceÍndice

l f ó dl f ó d•• Planificación de Tareas:Planificación de Tareas:

–– Tareas Periódicas.Tareas Periódicas.

Pl ifi ió Cí liPl ifi ió Cí li•• Planificación Cíclica.Planificación Cíclica.

•• Planificación por Prioridades.Planificación por Prioridades.

•• Factor de UtilizaciónFactor de Utilización•• Factor de Utilización.Factor de Utilización.

•• Tiempo de Respuesta.Tiempo de Respuesta.

•• Interacción entre Tareas y BloqueosInteracción entre Tareas y Bloqueos•• Interacción entre Tareas y Bloqueos.Interacción entre Tareas y Bloqueos.

•• Tareas Periódicas con Plazo de Finalización Inferior al Tareas Periódicas con Plazo de Finalización Inferior al PeríodoPeríodo..

–– Tareas Aperiódicas.Tareas Aperiódicas.

•• BibliografíaBibliografía

F. Pla - UJI 15

gg

F. Pla - UJI15

Planificación por PrioridadesPlanificación por Prioridades

•• LasLas tareastareas sese modelanmodelan comocomo procesosprocesos concurrentesconcurrentes..

•• UnaUna tareatarea puedepuede encontrarseencontrarse enen variosvarios estadosestados..

•• LasLas tareastareas ejecutablesejecutables sese vanvan despachandodespachando enen ordenorden dedeprioridadprioridadprioridadprioridad..

•• ElEl despachodespacho puedepuede serser expulsivoexpulsivo oo nono--expulsivoexpulsivo..(supondremos(supondremos queque eses expulsivo)expulsivo)..

suspendida

( p( p qq p )p )

ejecutable

suspenderactivar

ejecutable

desalojardespachar

ejecutándoseF. Pla - UJI

16

Page 9: Planificación de Tareas de Tiempo Realpla/ii75/docs/II75-T2-Planificacion-Tareas-RT.pdf · del algorimo de planificación utilizado. Asimismo, si podemos garantizar los plazos de

Planificación por PrioridadesPlanificación por Prioridades

•• AsignaciónAsignación porpor prioridadesprioridades monótonasmonótonas enen frecuenciafrecuencia (Rate(RateM t i )M t i ) i ti t ii i id di id d ( táti )( táti )Monotonic)Monotonic):: consisteconsiste enen asignarasignar mayormayor prioridadprioridad (estática)(estática)aa laslas tareastareas dede menormenor períodoperíodo..

Obviamente, si tratamos de satisfacer los plazos comenzando por aquellas tareas que son más críticas, lograremos ir cumpliendo todos los plazos a los que está sometido el sistema.

Obviamente, si tratamos de satisfacer los plazos comenzando por aquellas tareas que son más críticas, lograremos ir cumpliendo todos los plazos a los que está sometido el sistema.

•• EsteEste algoritmoalgoritmo dede planificaciónplanificación eses óptimoóptimo parapara tareastareasperiódicasperiódicas independientesindependientes sinsin plazoplazo dede finalizaciónfinalización

p p qp p q

periódicasperiódicas independientesindependientes sinsin plazoplazo dede finalizaciónfinalización..

Si no es así, el sistema no será planificable, independientemente Si no es así, el sistema no será planificable, independientemente del algorimo de planificación utilizado. Asimismo, si podemos garantizar los plazos de un sistema de tareas con otro algoritmo de planificación, también podremos garantizarlos con el Rate

del algorimo de planificación utilizado. Asimismo, si podemos garantizar los plazos de un sistema de tareas con otro algoritmo de planificación, también podremos garantizarlos con el Rate Monotonic.Monotonic.

F. Pla - UJI17

Planificación por PrioridadesPlanificación por Prioridades

•• ElEl RMRM haha sidosido elegidoelegido comocomo algoritmoalgoritmo dede planificaciónplanificación enengg gg ppproyectosproyectos dede grangran envergaduraenvergadura (NASA,(NASA, IEEEIEEE Futurebus+,Futurebus+,etcetc..))..

•• AunqueAunque elel RMRM eses óptimo,óptimo, nono siempresiempre unun conjuntoconjunto dedetareastareas (periódicas(periódicas independientesindependientes sinsin plazoplazo dede finalización)finalización)eses planificableplanificable utilizandoutilizando elel RMRM..

•• ParaPara averiguraraverigurar sisi lolo sonson utilizaremosutilizaremos dosdos técnicastécnicas::ParaPara averiguraraverigurar sisi lolo sonson utilizaremosutilizaremos dosdos técnicastécnicas::

–– MedianteMediante elel testtest dede garantíagarantía (condición(condición suficiente)suficiente)..

–– MedianteMediante elel cálculocálculo deldel tiempotiempo dede respuestarespuesta (condición(condición–– MedianteMediante elel cálculocálculo deldel tiempotiempo dede respuestarespuesta (condición(condiciónnecesarianecesaria yy suficiente)suficiente)..

F. Pla - UJI18

Page 10: Planificación de Tareas de Tiempo Realpla/ii75/docs/II75-T2-Planificacion-Tareas-RT.pdf · del algorimo de planificación utilizado. Asimismo, si podemos garantizar los plazos de

Í diÍ diÍndiceÍndice

l f ó dl f ó d•• Planificación de Tareas:Planificación de Tareas:

–– Tareas Periódicas.Tareas Periódicas.

Pl ifi ió Cí liPl ifi ió Cí li•• Planificación Cíclica.Planificación Cíclica.

•• Planificación por Prioridades.Planificación por Prioridades.

•• Factor de UtilizaciónFactor de Utilización•• Factor de Utilización.Factor de Utilización.

•• Tiempo de Respuesta.Tiempo de Respuesta.

•• Interacción entre Tareas y BloqueosInteracción entre Tareas y Bloqueos•• Interacción entre Tareas y Bloqueos.Interacción entre Tareas y Bloqueos.

•• Tareas Periódicas con Plazo de Finalización Inferior al Tareas Periódicas con Plazo de Finalización Inferior al PeríodoPeríodo..

–– Tareas Aperiódicas.Tareas Aperiódicas.

•• BibliografíaBibliografía

F. Pla - UJI 19

gg

F. Pla - UJI19

Factor de UtilizaciónFactor de Utilización

•• La cantidad La cantidad CCii indica el tiempo máximo que consumirá la indica el tiempo máximo que consumirá la iitarea i cada tarea i cada TTii unidades de tiempo.unidades de tiempo.

•• CCii/T/Tii, indica el, indica el tanto por unotanto por uno de utilización delde utilización delCCii/T/Tii, indica el , indica el tanto por unotanto por uno de utilización del de utilización del procesador por la tarea i.procesador por la tarea i.

•• Una medida de carga del procesador para un conjuntoUna medida de carga del procesador para un conjunto•• Una medida de carga del procesador para un conjunto Una medida de carga del procesador para un conjunto de tareas es el de tareas es el factor de utilizaciónfactor de utilización: :

U =U = NNi 1i 1 (C(Cii/T/Tii))U = U = i=1i=1 (C(Cii/T/Tii))

•• En un sistema monoprocesador UEn un sistema monoprocesador U1.1.

F. Pla - UJI20

Page 11: Planificación de Tareas de Tiempo Realpla/ii75/docs/II75-T2-Planificacion-Tareas-RT.pdf · del algorimo de planificación utilizado. Asimismo, si podemos garantizar los plazos de

Factor de UtilizaciónFactor de Utilización

Teorema (Liu & Layland [1973])Teorema (Liu & Layland [1973]) U j t d NU j t d N

Factor de Utilización (Test de Garantía)Factor de Utilización (Test de Garantía)

•• Teorema (Liu & Layland [1973])Teorema (Liu & Layland [1973]): Un conjunto de N : Un conjunto de N tareas periódicas independientes sin plazo de tareas periódicas independientes sin plazo de finalizaciónfinalización será planificable bajo el será planificable bajo el Rate MonotonicRate Monotonic si se si se p jp jcumple que:cumple que:

UU N · (2N · (21/N1/N -- 1)1) Test de garantíaU U N (2N (2 1)1)

•• La cantidad La cantidad UU00 == N · (2N · (21/N1/N -- 1)1) determina la determina la utilización utilización í i i dí i i d NN

Test de garantía

mínima garantizadamínima garantizada para N tareas. para N tareas.

Cualquier conjunto de tareas periódicas independientes cuya ó í

Cualquier conjunto de tareas periódicas independientes cuya ó íutilización mínima garantizada sea menor que dicha cantidad

podrá ser siempre planificada de un modo correcto utilizando el Rate Monotonic.

utilización mínima garantizada sea menor que dicha cantidad podrá ser siempre planificada de un modo correcto utilizando el Rate Monotonic.

F. Pla - UJI21

Factor de UtilizaciónFactor de Utilización

Factor de Utilización (Tabla de Garantía II)Factor de Utilización (Tabla de Garantía II)

•• La siguiente tabla muestra el valor de La siguiente tabla muestra el valor de UU00 en función del en función del número de tareas:número de tareas:

N U01 12 0,8283 0 7793 0,7794 0,7565 0 7435 0,743

limlim UU = log 2= log 2 0 6930 693lim lim nn UU00 = log 2 = log 2 0,6930,693F. Pla - UJI

22

Page 12: Planificación de Tareas de Tiempo Realpla/ii75/docs/II75-T2-Planificacion-Tareas-RT.pdf · del algorimo de planificación utilizado. Asimismo, si podemos garantizar los plazos de

Factor de UtilizaciónFactor de Utilización

Factor de Utilización (Ejemplo 1)Factor de Utilización (Ejemplo 1)

Tarea T C P UT1 50 12 1 0,24T2 40 10 2 0 25

El sistema NO cumple el test de garantía: U>0,779.T2 40 10 2 0,25

T3 30 10 3 0,3330,823

g ,

FalloT1

T2

5010 30200 40 60

T3

5010 30200 40 60

F. Pla - UJI23

Factor de UtilizaciónFactor de UtilizaciónFactor de Utilización (Ejemplo 2)Factor de Utilización (Ejemplo 2)

Tarea T C P UT3 80 32 1 0,4T2 40 5 2 0 125

El sistema cumple el test de garantía: U<0,779.T2 40 5 2 0,125

T1 16 4 3 0,250,775

g ,

4 44 4T1

5 5T2OK

7 12 3 64

70

T3

500 3020 4010 60 8070500 3020 4010 60 80

F. Pla - UJI24

Page 13: Planificación de Tareas de Tiempo Realpla/ii75/docs/II75-T2-Planificacion-Tareas-RT.pdf · del algorimo de planificación utilizado. Asimismo, si podemos garantizar los plazos de

Factor de UtilizaciónFactor de UtilizaciónFactor de Utilización (Ejemplo 3)Factor de Utilización (Ejemplo 3)

Tarea T C P UT1 80 40 1 0,5T2 40 10 2 0 25

El sistema NO cumple el test de garantía: U>0,779.T2 40 10 2 0,25

T3 20 5 3 0,251

¡¡¡ Se cumplen los plazos !!!

g ,

¡¡¡ Se cumplen los plazos !!!

OK

10

55 15 15

10T2

T1

5

10

555

10T2

T3

3020 40 50100 60 70 80F. Pla - UJI 25

Í diÍ diÍndiceÍndice

l f ó dl f ó d•• Planificación de Tareas:Planificación de Tareas:

–– Tareas Periódicas.Tareas Periódicas.

Pl ifi ió Cí liPl ifi ió Cí li•• Planificación Cíclica.Planificación Cíclica.

•• Planificación por Prioridades.Planificación por Prioridades.

•• Factor de UtilizaciónFactor de Utilización•• Factor de Utilización.Factor de Utilización.

•• Tiempo de Respuesta.Tiempo de Respuesta.

•• Interacción entre Tareas y BloqueosInteracción entre Tareas y Bloqueos•• Interacción entre Tareas y Bloqueos.Interacción entre Tareas y Bloqueos.

•• Tareas Periódicas con Plazo de Finalización Inferior al Tareas Periódicas con Plazo de Finalización Inferior al PeríodoPeríodo..

–– Tareas Aperiódicas.Tareas Aperiódicas.

•• BibliografíaBibliografía

F. Pla - UJI 26

gg

F. Pla - UJI26

Page 14: Planificación de Tareas de Tiempo Realpla/ii75/docs/II75-T2-Planificacion-Tareas-RT.pdf · del algorimo de planificación utilizado. Asimismo, si podemos garantizar los plazos de

Tiempo de RespuestaTiempo de Respuesta

ElEl test de garantía de utilizacióntest de garantía de utilización proporciona unaproporciona unaEl El test de garantía de utilizacióntest de garantía de utilización proporciona una proporciona una condición condición suficientesuficiente pero no pero no necesarianecesaria (además, no (además, no puede generalizarse para modelos de tareas más puede generalizarse para modelos de tareas más

l j )l j )complejos).complejos).

Otro tipo de prueba está basada en el cálculo delOtro tipo de prueba está basada en el cálculo delOtro tipo de prueba está basada en el cálculo del Otro tipo de prueba está basada en el cálculo del tiempo de respuestatiempo de respuesta de cada tarea: el tiempo de de cada tarea: el tiempo de respuesta (respuesta (RRii) de una tarea es la suma de su ) de una tarea es la suma de su tiempo de tiempo de óó á lá l i f i f idi f i f idcómputocómputo más la más la interferencia sufridainterferencia sufrida..

RiRi

F. Pla - UJI27

Tiempo de RespuestaTiempo de Respuesta

Un conjunto de N Un conjunto de N tareas periódicas independientestareas periódicas independientes será será planificable planificable si y sólo sisi y sólo si se cumple que se cumple que RRiiTTii ((para cada para cada pp yy p qp q ii ii ((pptarea tarea ii).).

Sólo hemos de calcular, para cada tarea, su tiempo de respuesta: si cumplen la condición expuesta, el sistema será l f bl l ( l ó )planificable con el RM (el óptimo).

F. Pla - UJI28

Page 15: Planificación de Tareas de Tiempo Realpla/ii75/docs/II75-T2-Planificacion-Tareas-RT.pdf · del algorimo de planificación utilizado. Asimismo, si podemos garantizar los plazos de

Tiempo de RespuestaTiempo de Respuesta

•• ElEl tiempotiempo dede respuestarespuesta dede unauna tareatarea ii eses::

Tiempo de Respuestas (Análisis)Tiempo de Respuestas (Análisis)

pp pp

RRii = C= Cii + I+ Iii

dondedonde IIii eses lala interferenciainterferencia máximamáxima queque puedepuede sufrirsufrir laladondedonde IIii eses lala interferenciainterferencia máximamáxima queque puedepuede sufrirsufrir lalatareatarea ii debidodebido aa tareastareas dede mayormayor prioridadprioridad..

•• IIii tendrátendrá lugarlugar cuandocuando todastodas laslas tareastareas concon mayormayor prioridadprioridadii dd ll ll llqueque ii sonson ejecutadasejecutadas enen elel mismomismo instanteinstante enen queque lolo eses lala

tareatarea ii (instante(instante crítico)crítico)..

•• La interferencia máxima sufrida por la tareaLa interferencia máxima sufrida por la tarea ii debida a ladebida a la•• La interferencia máxima sufrida por la tarea La interferencia máxima sufrida por la tarea ii debida a la debida a la tarea tarea jj será:será:

IIi,j i,j = = RRii/T/Tjj CCjj,j,j jj jj

dondedonde RRii/T/Tjj eses elel númeronúmero dede vecesveces queque durantedurante elelintervalointervalo RRii unauna determinadadeterminada tareatarea jj (con(con mayormayor prioridadprioridadii jj (( yy ppqueque ii)) eses “lanzada”“lanzada”..

F. Pla - UJI29

Tiempo de RespuestaTiempo de Respuesta

•• PorPor lolo tantotanto lala interferenciainterferencia máximamáxima sufridasufrida porpor lala tareatarea ii

Tiempo de Respuestas (Análisis)Tiempo de Respuestas (Análisis)

•• PorPor lolo tanto,tanto, lala interferenciainterferencia máximamáxima sufridasufrida porpor lala tareatarea iidebidadebida aa laslas tareastareas concon mayormayor prioridadprioridad seráserá::

II == II == RR /T/T CCIIii = = jjps(i)ps(i) IIi,ji,j = = jjps(i)ps(i) RRii/T/Tjj CCjj

•• ConCon lolo cual,cual, elel tiempotiempo dede respuestarespuesta dede lala tareatarea ii eses(([Joseph[Joseph && PandyaPandya 19861986]]))::

RRii = C= Cii + I+ Iii = C= Ci i + + jjps(i)ps(i) RRii/T/Tjj CCjjjj jj jj

•• Sin embargo la ecuación Sin embargo la ecuación CCi i + + jjps(i)ps(i) RRii/T/Tjj CCjj TTii no no tiene solución analítica.tiene solución analítica.

•• No obstante, podemos construir un algoritmo iterativo No obstante, podemos construir un algoritmo iterativo para resolverlapara resolverlapara resolverla.para resolverla.

F. Pla - UJI30

Page 16: Planificación de Tareas de Tiempo Realpla/ii75/docs/II75-T2-Planificacion-Tareas-RT.pdf · del algorimo de planificación utilizado. Asimismo, si podemos garantizar los plazos de

Tiempo de RespuestaTiempo de Respuesta

TT ([A d l([A d l tt ll 19931993])]) dd

Tiempo de Respuesta Tiempo de Respuesta (Resolución)(Resolución)

•• TeoremaTeorema ([Audsley([Audsley etet alal.. 19931993])]):: UnUn conjuntoconjunto dede NNtareastareas periódicasperiódicas independientesindependientes sinsin plazoplazo dede finalizaciónfinalizaciónseráserá planificableplanificable (bajo(bajo elel RateRate Monotonic)Monotonic) sisi yy sólosólo sisi seseseráserá planificableplanificable (bajo(bajo elel RateRate Monotonic)Monotonic) sisi yy sólosólo sisi sesecumplecumple que,que, parapara cadacada tareatarea i,i, loslos plazosplazos dede lala siguientesiguienteecuaciónecuación estánestán garantizadosgarantizados::

WWiinn== CCii ++ jjps(i)ps(i) WWii

nn--11/T/Tjj CCjj

dondedonde WWii00== CCii ++ jjps(i)ps(i) CCjjdo dedo de ii CCii jjps(i)ps(i) CCjj

SeSe terminatermina cuandocuando::

a)a) nn:: WW nn>T>T plazosplazos nono garantizadosgarantizadosa)a) nn:: WWiinn>T>Tii plazosplazos nono garantizadosgarantizados..

b)b) nn:: WWiinn==WWii

nn--11 plazosplazos garantizadosgarantizados ((RRii=W=Wiinn))..

F. Pla - UJI31

Tiempo de RespuestaTiempo de Respuesta

Tiempo de Respuesta Tiempo de Respuesta (Ejemplo)(Ejemplo)

Tarea T C P RT1 7 3 3 3T2 12 3 2 6T3 20 5 1 20

T1: W10 = 3 O.K.

T2: W20 = 3 + 3 = 6

W21 = 3 + (6/7) · 3 = 6 O.K.

T3: W30 = 5 + 3 + 3 =11

W31 = 5 + (11/7) · 3 + (11/12) · 3 = 14

W32 = 5 + (14/7) · 3 + (14/12) · 3 = 17

W33 = 5 + (17/7) · 3 + (17/12) · 3 = 20

W 4 5 (20/7) 3 (20/12) 3 20 O KW34 = 5 + (20/7) · 3 + (20/12) · 3 = 20 O.K.

F. Pla - UJI32

Page 17: Planificación de Tareas de Tiempo Realpla/ii75/docs/II75-T2-Planificacion-Tareas-RT.pdf · del algorimo de planificación utilizado. Asimismo, si podemos garantizar los plazos de

Errores acerca de RMErrores acerca de RM

EnEn presenciapresencia dede sobrecargassobrecargas transitoriastransitorias,, lala primeraprimera tareatarea enenpp gg ,, pp“fallar”“fallar” eses aquellaaquella concon elel mayormayor periodoperiodo..

Tarea T C PT1 5 2 1T1 5 2 1T2 9 3 2T3 20 1 3T4 30 1 4

El sistema es planificable.

T1 Fallo

T2

T3

Excepto la tarea con mayor prioridad,

T3

T4

cualquiera puede fallar

F. Pla - UJI 330 2 4 6 8 10 12 14 16 18

Simulador de Algoritmos de PlanificaciónSimulador de Algoritmos de Planificación

•• Permite simular el RM.Permite simular el RM.

•• No soporta interacción entre tareas (se estudiará en breve).No soporta interacción entre tareas (se estudiará en breve).

•• Muestra el diagrama de tiempos, el factor de utilización y el Muestra el diagrama de tiempos, el factor de utilización y el ti d tti d ttiempo de respuesta.tiempo de respuesta.

•• Indica si es planificable con el RM o no (en cuyo caso Indica si es planificable con el RM o no (en cuyo caso muestra donde falla)muestra donde falla)muestra donde falla).muestra donde falla).

•• Disponible en Disponible en http://www.vision.uji.es/~pla/ii75http://www.vision.uji.es/~pla/ii75

F. Pla - UJI34

Page 18: Planificación de Tareas de Tiempo Realpla/ii75/docs/II75-T2-Planificacion-Tareas-RT.pdf · del algorimo de planificación utilizado. Asimismo, si podemos garantizar los plazos de

Í diÍ diÍndiceÍndice

l f ó dl f ó d•• Planificación de Tareas:Planificación de Tareas:

–– Tareas Periódicas.Tareas Periódicas.

Pl ifi ió Cí liPl ifi ió Cí li•• Planificación Cíclica.Planificación Cíclica.

•• Planificación por Prioridades.Planificación por Prioridades.

•• Factor de UtilizaciónFactor de Utilización•• Factor de Utilización.Factor de Utilización.

•• Tiempo de Respuesta.Tiempo de Respuesta.

•• Interacción entre Tareas y BloqueosInteracción entre Tareas y Bloqueos•• Interacción entre Tareas y Bloqueos.Interacción entre Tareas y Bloqueos.

•• Tareas Periódicas con Plazo de Finalización Inferior al Tareas Periódicas con Plazo de Finalización Inferior al PeríodoPeríodo..

–– Tareas Aperiódicas.Tareas Aperiódicas.

•• BibliografíaBibliografía

F. Pla - UJI 35

gg

F. Pla - UJI35

Interacción entre Tareas y BloqueosInteracción entre Tareas y Bloqueos

Hasta ahora hemos supuesto modelos con tareas Hasta ahora hemos supuesto modelos con tareas independientesindependientesindependientesindependientes..

En aplicaciones reales, generalmente se producen En aplicaciones reales, generalmente se producen interacciones entre tareas debido a la existencia de interacciones entre tareas debido a la existencia de recursos comunesrecursos comunes (datos mensajes etc )(datos mensajes etc )recursos comunesrecursos comunes (datos, mensajes, etc.).(datos, mensajes, etc.).

F. Pla - UJI36

Page 19: Planificación de Tareas de Tiempo Realpla/ii75/docs/II75-T2-Planificacion-Tareas-RT.pdf · del algorimo de planificación utilizado. Asimismo, si podemos garantizar los plazos de

Interacción entre Tareas y BloqueosInteracción entre Tareas y Bloqueos

•• Cuando una tarea accede a un recurso compartido y Cuando una tarea accede a un recurso compartido y óó

p yp yhasta que no termina el intervalo de utilización del hasta que no termina el intervalo de utilización del mismo, lo mantiene mismo, lo mantiene bloqueadobloqueado (por ejemplo, utilizando (por ejemplo, utilizando semáforos).semáforos).

•• Cuando una tarea queda bloqueada, pasa a estado Cuando una tarea queda bloqueada, pasa a estado ejecutableejecutable (hasta que el recurso que la bloqueó esté (hasta que el recurso que la bloqueó esté disponible)disponible)disponible).disponible).

•• Esto puede dar lugar a que una tarea quede Esto puede dar lugar a que una tarea quede bloqueadabloqueadaesperando a obtener un recurso que otra tarea tiene esperando a obtener un recurso que otra tarea tiene bl d A í d d i i dbl d A í d d i i d i iói ióbloqueado. Así, pueden darse situaciones de bloqueado. Así, pueden darse situaciones de inversión inversión de prioridadde prioridad: : una tarea de alta prioridad tiene que una tarea de alta prioridad tiene que esperar debido a una de menor prioridadesperar debido a una de menor prioridad..

F. Pla - UJI37

Interacción entre Tareas y BloqueosInteracción entre Tareas y Bloqueos

Interacción entre Tareas y Bloqueos Interacción entre Tareas y Bloqueos (Ejemplo I)(Ejemplo I)

Acción C Recurso

T1 T2 T3 T4

Acción C Recursoa1 2 localax 1 Xay 1 Yay 1 Ya2 1 localb1 1 localby 2 Y

X Y

Tarea Prioridad Activación Acciones

T1 4 4 a1,ax,ay,a2

T2 3 2 b1 b b2

by 2 Yb2 1 localc1 2 locald1 1 localT2 3 2 b1,by,b2

T3 2 2 c1

T4 1 0 d1,dx,d2

d1 1 localdx 4 Xd2 1 local

F. Pla - UJI38

Page 20: Planificación de Tareas de Tiempo Realpla/ii75/docs/II75-T2-Planificacion-Tareas-RT.pdf · del algorimo de planificación utilizado. Asimismo, si podemos garantizar los plazos de

Interacción entre Tareas y BloqueosInteracción entre Tareas y Bloqueos

SuspendidaEjecución Interacción entre Tareas y Bloqueos Interacción entre Tareas y Bloqueos

(Ejemplo II)(Ejemplo II)Tarea Acciones

Recurso XBloqueo

p

Recurso Y

T1 a1=2,ax=1,ay=1,a2=1

T2 b1=1,by=2,b2=1

T3 c1=2

T1 sufre inversión de prioridad al querer acceder a recurso X bloqueado.Recurso Y

T1

T4 d1=1,dx=4,d2=1

T2

T3T3

T4

0 2 4 6 8 10 12 14 16 18

El tiempo de respuesta de T1 es 12El tiempo de respuesta de T1 es 12.

F. Pla - UJI39

Interacción entre Tareas y BloqueosInteracción entre Tareas y Bloqueos

•• Cuando hay bloqueos la ecuación del tiempo deCuando hay bloqueos la ecuación del tiempo de

Interacción entre Tareas y Bloqueos (Resolución)Interacción entre Tareas y Bloqueos (Resolución)

•• Cuando hay bloqueos, la ecuación del tiempo de Cuando hay bloqueos, la ecuación del tiempo de respuesta queda así:respuesta queda así:

RRii = = CCi i + + jjps(i)ps(i) RRii/T/Tjj CCjj + RIP+ RIPii

dondedonde RIPRIPii es eles el retraso por inversión de prioridadretraso por inversión de prioridad: el: eldonde donde RIPRIPii es el es el retraso por inversión de prioridadretraso por inversión de prioridad: el : el sufrido por la tarea i debido a los efectos de inversión de sufrido por la tarea i debido a los efectos de inversión de prioridad.prioridad.

•• La solución, al igual que en el modelo simple, también la La solución, al igual que en el modelo simple, también la bt d di t l ió d ibt d di t l ió d iobtendremos mediante una relación de recurrencia:obtendremos mediante una relación de recurrencia:

WWiinn= = CCi i + + jjps(i)ps(i) WWii

nn--11/T/Tjj CCjj + RIP+ RIPii

F. Pla - UJI40

Page 21: Planificación de Tareas de Tiempo Realpla/ii75/docs/II75-T2-Planificacion-Tareas-RT.pdf · del algorimo de planificación utilizado. Asimismo, si podemos garantizar los plazos de

Interacción entre Tareas y BloqueosInteracción entre Tareas y Bloqueos

Existen distintas técnicas para calcular el RIP de cadaExisten distintas técnicas para calcular el RIP de cada

Interacción entre Tareas y Bloqueos: TécnicasInteracción entre Tareas y Bloqueos: Técnicas

Existen distintas técnicas para calcular el RIP de cada Existen distintas técnicas para calcular el RIP de cada tarea:tarea:–– OrdenarOrdenar lala ejecuciónejecución dede laslas tareastareas:: sese estableceestablece unaunajj

precedenciaprecedencia dede tareastareas parapara elel usouso dede recursosrecursos “off“off--line”line”..

–– MedianteMediante lala utilizaciónutilización dede recursosrecursos compartidoscompartidos nonointerrumpiblesinterrumpibles (por(por ningunaninguna tarea)tarea):: lala utilizaciónutilización dede loslosinterrumpiblesinterrumpibles (por(por ningunaninguna tarea)tarea):: lala utilizaciónutilización dede loslosrecursosrecursos tienetiene queque serser muymuy brevebreve..

–– MedianteMediante lala utilizaciónutilización dede recursosrecursos compartidoscompartidosi t ibli t ibl bj tbj t dd d id i ll i ti t d ld l RIPRIPinterrumpiblesinterrumpibles:: concon objetoobjeto dede reducirreducir elel impactoimpacto deldel RIP,RIP,loslos protocolosprotocolos utilizadosutilizados varíanvarían dinámicamentedinámicamente lala prioridadprioridaddede laslas tareastareas,, modificándolasmodificándolas cuandocuando éstaséstas utilicenutilicen ununrecursorecurso compartidocompartidorecursorecurso compartidocompartido..

•• ProtocoloProtocolo dede HerenciaHerencia dede PrioridadPrioridad..•• ProtocoloProtocolo dede TechoTecho dede PrioridadPrioridad..•• ProtocoloProtocolo dede TechoTecho dede PrioridadPrioridad InmediatoInmediato..

F. Pla - UJI41

Protocolo de Herencia de PrioridadProtocolo de Herencia de Prioridad

Interacción entre Tareas y Bloqueos: Interacción entre Tareas y Bloqueos: Protocolo de Herencia de PrioridadProtocolo de Herencia de Prioridad II

El El protocolo de herencia de prioridadprotocolo de herencia de prioridad actúa de la siguiente actúa de la siguiente forma (forma ([Cornill et al. 1987][Cornill et al. 1987]):):

C d t tiC d t ti i id d bá ii id d bá i ( i d tili d RM)( i d tili d RM)–– Cada tarea tiene una Cada tarea tiene una prioridad básicaprioridad básica (asignada utilizando RM).(asignada utilizando RM).

–– La La prioridad dinámicaprioridad dinámica de una tarea es el de una tarea es el máximomáximo de su de su prioridad prioridad básicabásica y lasy las prioridades de las tareas bloqueadas por ellaprioridades de las tareas bloqueadas por ella (de(debásicabásica y las y las prioridades de las tareas bloqueadas por ellaprioridades de las tareas bloqueadas por ella (de (de manera transitiva).manera transitiva).

El l ifi d li l t l i id d di á iEl planificador elige la tarea con la mayor prioridad dinámica.

NOTA: La utilización de un recurso NO implica herencia deNOTA: La utilización de un recurso NO implica herencia de prioridad: ésta SÓLO se produce cuando hay bloqueo.NOTA: Cuando se acaba la utilización de un recurso, la tarea vuelve a recuperar su prioridad básica.

F. Pla - UJI 42

Page 22: Planificación de Tareas de Tiempo Realpla/ii75/docs/II75-T2-Planificacion-Tareas-RT.pdf · del algorimo de planificación utilizado. Asimismo, si podemos garantizar los plazos de

Protocolo de Herencia de PrioridadProtocolo de Herencia de PrioridadInteracción entre Tareas y Bloqueos: Interacción entre Tareas y Bloqueos: Protocolo de Herencia de Prioridad IIProtocolo de Herencia de Prioridad II

S didEjecución

Hereda laTarea Acciones

T1 a1=2,ax=1,ay=1,a2=1

T2 b1=1,by=2,b2=1 Recurso XBloqueoSuspendida

Hereda la prioridad

Hereda la prioridad

de T1T3 c1=2

T4 d1=1,dx=4,d2=1Recurso Y

T1

pde T1

T2

T3

T4

0 2 4 6 8 10 12 14 16 18

T2 f i ió d i id dT3 f i ió d i id dEl tiempo de respuesta de T1 es ahora 9.T2 sufre inversión de prioridad por recursos a los que no accede.

T3 sufre inversión de prioridad aunque no accede a ningún recurso.

F. Pla - UJI 43

Protocolo de Herencia de PrioridadProtocolo de Herencia de Prioridad

•• La duración máxima del RIP es:La duración máxima del RIP es:

Interacción entre Tareas y Bloqueos: Interacción entre Tareas y Bloqueos: Protocolo de Herencia de Prioridad IIIProtocolo de Herencia de Prioridad III

•• La duración máxima del RIP es:La duración máxima del RIP es:

RIPRIPii = = jjpi(i),kpi(i),kRCRC CCj,kj,k

d dd ddondedonde

–– RCRC es el conjunto de recursos compartidos.es el conjunto de recursos compartidos.

CC–– CCj,kj,k es el tiempo durante el cual la tarea es el tiempo durante el cual la tarea jj accede al accede al recurso recurso kk..

•• En nuestro ejemplo:En nuestro ejemplo:•• En nuestro ejemplo:En nuestro ejemplo:–– RIPRIP11 = = CC2,Y2,Y+ C+ C4,X4,X=2+4=6=2+4=6–– RIPRIP22 = = CC4 X4 X=4=422 4,X4,X

–– RIPRIP33 = = CC4,X4,X=4=4–– RIPRIP44 = 0= 0

•• Puede dar lugar a interbloqueos.Puede dar lugar a interbloqueos.F. Pla - UJI

44

Page 23: Planificación de Tareas de Tiempo Realpla/ii75/docs/II75-T2-Planificacion-Tareas-RT.pdf · del algorimo de planificación utilizado. Asimismo, si podemos garantizar los plazos de

Protocolo de Techo de PrioridadProtocolo de Techo de Prioridad

Interacción entre Tareas y Bloqueos: Interacción entre Tareas y Bloqueos: Protocolo de Techo de PrioridadProtocolo de Techo de Prioridad II

El El protocolo de techo de prioridadprotocolo de techo de prioridad actúa de la misma actúa de la misma mane a q e elmane a q e el p otocolo de he encia de p io idadp otocolo de he encia de p io idadmanera que el manera que el protocolo de herencia de prioridadprotocolo de herencia de prioridad, , aunque para poder comenzar a utilizar un recurso compartido, una tarea debe tener una prioridad di á i l h d i id d (TP) d ddinámica mayor que el techo de prioridad (TP) de todos los recursos compartidos en uso.

Prioridad máxima de las tareas que lo usan en algún momento

PD(Tarea)>TP(Recursos en uso)

F. Pla - UJI 45

Protocolo de Techo de PrioridadProtocolo de Techo de PrioridadInteracción entre Tareas y Bloqueos: Interacción entre Tareas y Bloqueos: Protocolo de Techo de Prioridad IIProtocolo de Techo de Prioridad II

BlSuspendidaEjecución

Hereda la Hereda laTarea Acciones

T1 a1=2,ax=1,ay=1,a2=1

T2 b1=1,by=2,b2=1

Recurso XBloqueo

Recurso Y

Hereda la prioridad de T2.T2 ha quedado

bloqueado

Hereda la prioridad

de T1T3 c1=2

T4 d1=1,dx=4,d2=1

T1

bloqueado indirectamente

por X.3=PD(T2)TP(X)=4X=recurso en uso

T2

T3

T4

0 2 4 6 8 10 12 14 16 18

El tiempo de respuesta de T1 es ahora 7.F. Pla - UJI

46

Page 24: Planificación de Tareas de Tiempo Realpla/ii75/docs/II75-T2-Planificacion-Tareas-RT.pdf · del algorimo de planificación utilizado. Asimismo, si podemos garantizar los plazos de

Protocolo de Techo de PrioridadProtocolo de Techo de PrioridadInteracción entre Tareas y Bloqueos: Interacción entre Tareas y Bloqueos: Protocolo de Techo de Prioridad IIIProtocolo de Techo de Prioridad III En el protocolo

d h i d

•• La duración máxima del RIP es:La duración máxima del RIP es:

de herencia de prioridad era el

sumatorioLa duración máxima del RIP es:La duración máxima del RIP es:

RIPRIPii = max= maxjjpi(i),kpi(i),kRC(i)RC(i) CCj,kj,k

dondedonde RC(i)RC(i) es el conjunto de recursos que pueden es el conjunto de recursos que pueden bloquear la tarea bloquear la tarea ii (porque tienen un techo de prioridad (porque tienen un techo de prioridad superior o igual a susuperior o igual a su mínima prioridad dinámicamínima prioridad dinámica))superior o igual a su superior o igual a su mínima prioridad dinámicamínima prioridad dinámica).).

•• Evita el interbloqueoEvita el interbloqueo.. Recursos que qutilizan las tareas pi(i) y tengan un TP ≥ min PD(i)

F. Pla - UJI47

TP ≥ min PD(i)

Protocolo de Techo de Prioridad InmediatoProtocolo de Techo de Prioridad InmediatoInteracción entre Tareas y Bloqueos: Interacción entre Tareas y Bloqueos:

Protocolo de Techo de Prioridad InmediatoProtocolo de Techo de Prioridad Inmediato II

•• El El protocolo de techo de prioridad inmediatoprotocolo de techo de prioridad inmediato actúa igual actúa igual que el protocolo de techo de prioridad:que el protocolo de techo de prioridad:que el protocolo de techo de prioridad:que el protocolo de techo de prioridad:–– La La prioridad dinámicaprioridad dinámica de una tarea se define como el de una tarea se define como el

máximomáximo de su de su prioridad básicaprioridad básica yy los los techos de techos de prioridad de los recursos compartidos que usa en eseprioridad de los recursos compartidos que usa en eseprioridad de los recursos compartidos que usa en ese prioridad de los recursos compartidos que usa en ese momentomomento..

–– Los Los techos de prioridadtechos de prioridad de un recurso han sido de un recurso han sido d fi id t ld fi id t l á i d l i id dá i d l i id ddefinidos antes como el definidos antes como el máximo de la prioridad máximo de la prioridad básica de las tareas que lo utilizan en algún básica de las tareas que lo utilizan en algún momentomomento..

F. Pla - UJI48

Page 25: Planificación de Tareas de Tiempo Realpla/ii75/docs/II75-T2-Planificacion-Tareas-RT.pdf · del algorimo de planificación utilizado. Asimismo, si podemos garantizar los plazos de

Protocolo de Techo de Prioridad InmediatoProtocolo de Techo de Prioridad InmediatoInteracción entre Tareas y Bloqueos: Protocolo Interacción entre Tareas y Bloqueos: Protocolo de Techo de Prioridad Inmediato II de Techo de Prioridad Inmediato II

SuspendidaEjecución

Tarea Acciones

T1 a1=2,ax=1,ay=1,a2=1

T2 b1=1,by=2,b2=1 Recurso XBloqueoSuspendida

Rec so Y

Hereda el techo de prioridad del recurso X

T3 c1=2

T4 d1=1,dx=4,d2=1

Recurso Y

T1

T2

T3

T4

0 2 4 6 8 10 12 14 16 18

El tiempo de respuesta de T1 es ahora 6.F. Pla - UJI

49

Protocolo de Techo de Prioridad InmediatoProtocolo de Techo de Prioridad InmediatoInteracción entre Tareas y Bloqueos: Interacción entre Tareas y Bloqueos:

Protocolo de Techo de Prioridad Inmediato IIIProtocolo de Techo de Prioridad Inmediato III

•• La La duración máxima del RIPduración máxima del RIP es la es la misma que con el misma que con el protocolo anteriorprotocolo anterior. No obstante, existen algunas . No obstante, existen algunas pp , g, gdiferenciasdiferencias::

–– Es más Es más fácil de implementarfácil de implementar que el protocolo básico ya que el protocolo básico ya que que no es necesario monitorizar las situaciones de no es necesario monitorizar las situaciones de bloqueobloqueo: para calcular la prioridad dinámica no hay que : para calcular la prioridad dinámica no hay que monitorizar las tareas que bloquea, simplemente es monitorizar las tareas que bloquea, simplemente es q q , pq q , pnecesario conocer el techo de prioridad de los recursos necesario conocer el techo de prioridad de los recursos que usa (que puede ser realizado que usa (que puede ser realizado a prioria priori).).

EsEs más eficientemás eficiente a q ea q e ha menos cambios de conte toha menos cambios de conte to–– Es Es más eficientemás eficiente ya que ya que hay menos cambios de contextohay menos cambios de contexto y y requiere requiere menos movimientos de prioridadesmenos movimientos de prioridades..

•• ContinúaContinúa evitando el interbloqueoevitando el interbloqueo•• Continúa Continúa evitando el interbloqueoevitando el interbloqueo..F. Pla - UJI

50

Page 26: Planificación de Tareas de Tiempo Realpla/ii75/docs/II75-T2-Planificacion-Tareas-RT.pdf · del algorimo de planificación utilizado. Asimismo, si podemos garantizar los plazos de

Interacción entre Tareas y BloqueosInteracción entre Tareas y BloqueosInteracción entre Tareas y Bloqueos: Interacción entre Tareas y Bloqueos: La Misión Pathfinder ILa Misión Pathfinder I

y qy q

En 1997, la sondaEn 1997, la sonda Pathfinder, Pathfinder, q e contenía al mód loq e contenía al mód loque contenía al móduloque contenía al móduloSojourner,Sojourner, aterrizó en Marte. aterrizó en Marte.

Un componente clave de laUn componente clave de laUn componente clave de la Un componente clave de la misión era el sistema operativo misión era el sistema operativo en tiempo real en tiempo real VxWorksVxWorks (de la (de la empresaempresa Wind River SystemsWind River Systems))empresa empresa Wind River SystemsWind River Systems).).

F. Pla - UJI51

Interacción entre Tareas y BloqueosInteracción entre Tareas y Bloqueosy qy qInteracción entre Tareas y Bloqueos: Interacción entre Tareas y Bloqueos: La Misión Pathfinder IILa Misión Pathfinder II

Al poco de aterrizar y tras Al poco de aterrizar y tras empezar a recopilar información empezar a recopilar información meteorológica empezó a sufrirmeteorológica empezó a sufrirmeteorológica, empezó a sufrir meteorológica, empezó a sufrir continuos reinicios.continuos reinicios.

El problema era debido aEl problema era debido aEl problema era debido a El problema era debido a diversos retrasos por inversión diversos retrasos por inversión de prioridad.de prioridad.

Los problemas se solucionaron Los problemas se solucionaron al configurar el sistema al configurar el sistema operativo (en Marte) para queoperativo (en Marte) para queoperativo (en Marte) para que operativo (en Marte) para que utilizase el Protocolo de utilizase el Protocolo de Herencia de Prioridad.Herencia de Prioridad.

El que tiene peores prestaciones y que puede dar lugar a interbloqueos

F. Pla - UJI52

Page 27: Planificación de Tareas de Tiempo Realpla/ii75/docs/II75-T2-Planificacion-Tareas-RT.pdf · del algorimo de planificación utilizado. Asimismo, si podemos garantizar los plazos de

Í diÍ diÍndiceÍndice

l f ó dl f ó d•• Planificación de Tareas:Planificación de Tareas:

–– Tareas Periódicas.Tareas Periódicas.

Pl ifi ió Cí liPl ifi ió Cí li•• Planificación Cíclica.Planificación Cíclica.

•• Planificación por Prioridades.Planificación por Prioridades.

•• Factor de UtilizaciónFactor de Utilización•• Factor de Utilización.Factor de Utilización.

•• Tiempo de Respuesta.Tiempo de Respuesta.

•• Interacción entre Tareas y BloqueosInteracción entre Tareas y Bloqueos•• Interacción entre Tareas y Bloqueos.Interacción entre Tareas y Bloqueos.

•• Tareas Periódicas con Plazo de Finalización Inferior al Tareas Periódicas con Plazo de Finalización Inferior al Período.Período.

–– Tareas Aperiódicas.Tareas Aperiódicas.

•• BibliografíaBibliografía

F. Pla - UJI 53

gg

F. Pla - UJI53

Tareas Periódicas cuyo Plazo deTareas Periódicas cuyo Plazo deTareas Periódicas cuyo Plazo de Tareas Periódicas cuyo Plazo de Finalización es Menor o Inferior al PeríodoFinalización es Menor o Inferior al Período

E t ti d t l l d fi li ióE t ti d t l l d fi li ióE t ti d t l l d fi li ióE t ti d t l l d fi li ióEn este tipo de tareas el plazo de finalización es En este tipo de tareas el plazo de finalización es igual o menor al período, es decir Digual o menor al período, es decir DiiTTii..En este tipo de tareas el plazo de finalización es En este tipo de tareas el plazo de finalización es igual o menor al período, es decir Digual o menor al período, es decir DiiTTii..

El objetivo final es el de asegurar que para todasEl objetivo final es el de asegurar que para todasEl objetivo final es el de asegurar que, para todas El objetivo final es el de asegurar que, para todas las tareas, el tiempo de respuesta sea menor o las tareas, el tiempo de respuesta sea menor o igual al plazo de finalización, es decir Rigual al plazo de finalización, es decir Rii DDii..g p ,g p , ii ii

F. Pla - UJI54

Page 28: Planificación de Tareas de Tiempo Realpla/ii75/docs/II75-T2-Planificacion-Tareas-RT.pdf · del algorimo de planificación utilizado. Asimismo, si podemos garantizar los plazos de

Planificación por PrioridadesPlanificación por Prioridades

•• Se puede utilizar un sistema de prioridades similar alSe puede utilizar un sistema de prioridades similar al•• Se puede utilizar un sistema de prioridades similar al Se puede utilizar un sistema de prioridades similar al utilizado en la utilizado en la planificación monótona en períodosplanificación monótona en períodos..

A i ió i id d ót l dA i ió i id d ót l d•• Asignación por prioridades monótonas en plazo de Asignación por prioridades monótonas en plazo de finalización (Deadline Monotonic)finalización (Deadline Monotonic): consiste en asignar : consiste en asignar mayor prioridadmayor prioridad (estática) a las tareas de(estática) a las tareas de menor plazomenor plazomayor prioridadmayor prioridad (estática) a las tareas de (estática) a las tareas de menor plazo menor plazo de finalizaciónde finalización..

Nuevamente, si tratamos de satisfacer los plazos comenzando por aquellas tareas que son más críticas (ahora, las de menor plazo de finalización) lograremos ir cumpliendo todos los

Nuevamente, si tratamos de satisfacer los plazos comenzando por aquellas tareas que son más críticas (ahora, las de menor plazo de finalización) lograremos ir cumpliendo todos losplazo de finalización), lograremos ir cumpliendo todos los plazos a los que está sometido el sistema. plazo de finalización), lograremos ir cumpliendo todos los plazos a los que está sometido el sistema.

F. Pla - UJI55

Planificación por PrioridadesPlanificación por Prioridades

•• El RM es unEl RM es un caso especialcaso especial del DM (cuando Ddel DM (cuando D=T=T))•• El RM es un El RM es un caso especialcaso especial del DM (cuando Ddel DM (cuando Dii=T=Tii).).

•• Este algoritmo de planificación es Este algoritmo de planificación es óptimoóptimo para tareas para tareas periódicas independientes con plazo de finalización.periódicas independientes con plazo de finalización.

•• Al igual que en el caso del RM, no siempre un conjunto Al igual que en el caso del RM, no siempre un conjunto g q , p jg q , p jde tareas es planificables utilizando el DM. de tareas es planificables utilizando el DM.

•• Para garantizar la planificabilidad emplearemos elPara garantizar la planificabilidad emplearemos el testtest•• Para garantizar la planificabilidad emplearemos el Para garantizar la planificabilidad emplearemos el test test de tiempos de respuestade tiempos de respuesta..

F. Pla - UJI56

Page 29: Planificación de Tareas de Tiempo Realpla/ii75/docs/II75-T2-Planificacion-Tareas-RT.pdf · del algorimo de planificación utilizado. Asimismo, si podemos garantizar los plazos de

Tiempo de Respuesta (Resolución)Tiempo de Respuesta (Resolución)

El El tiempo de respuestatiempo de respuesta se calcula de la misma forma que se calcula de la misma forma que con la asignación monótona en frecuencia (utilizando el con la asignación monótona en frecuencia (utilizando el Teorema de Audsley et al ):Teorema de Audsley et al ):Teorema de Audsley et al.):Teorema de Audsley et al.):

a) a) n: n: WWiinn>D>Dii plazos no garantizadosplazos no garantizados. .

b) b) n: n: WWiinn==WWii

nn--11 plazos garantizadosplazos garantizados ((RRii=W=Wiinn).).

El test continúa siendo válido si se utilizan recursos compartidoscompartidos.

F. Pla - UJI57

Tiempo de Respuesta (Ejemplo)Tiempo de Respuesta (Ejemplo)

T T D C P RTarea T D C P R

T1 10 10 4 4 4

T2 15 7 3 3 7

Con el Rate Monotonic Rate Monotonic los plazos def l ó O á

T3 20 5 3 2 10

T4 20 20 3 1 20

finalización NO están asegurados.

T T D C P RTarea T D C P R

T3 20 5 3 4 3

T2 15 7 3 3 6

Con el Deadline Deadline MonotonicMonotonic los plazosT2 15 7 3 3 6

T1 10 10 4 2 10

T4 20 20 3 1 20

Monotonic Monotonic los plazos SÍ están asegurados.

F. Pla - UJI58

Page 30: Planificación de Tareas de Tiempo Realpla/ii75/docs/II75-T2-Planificacion-Tareas-RT.pdf · del algorimo de planificación utilizado. Asimismo, si podemos garantizar los plazos de

Simulador de Algoritmos de PlanificaciónSimulador de Algoritmos de Planificación

•• El El simuladorsimulador visto anteriormente también permite simular el visto anteriormente también permite simular el DM (de hecho el RM se simula a través del DM)DM (de hecho el RM se simula a través del DM)DM (de hecho, el RM se simula a través del DM).DM (de hecho, el RM se simula a través del DM).

•• EjercicioEjercicio: probar el ejemplo anterior. Calcular los tiempos : probar el ejemplo anterior. Calcular los tiempos de respuesta.de respuesta.

•• EjercicioEjercicio: Calcular tiempos de respuesta del ejemplo : Calcular tiempos de respuesta del ejemplo siguiente.siguiente.

F. Pla - UJI59

Tiempo de Respuesta (Ejemplo)Tiempo de Respuesta (Ejemplo)

Deadline MonotonicDeadline Monotonic utilizandoutilizandoT h d P i id d I di tT h d P i id d I di t

RecursosRecursos

TareaTarea PP DD TT CC RIPRIP C1C1 C2C2 C3C3

Techo de Prioridad InmediatoTecho de Prioridad Inmediato

T1T1 55 55 120120 22 22 11 -- --

T2T2 44 1515 120120 1212 11 22 22 --

T3T3 33 3030 3030 66 22 -- -- 11

T4T4 22 3232 300300 1616 11 -- -- 22

T5T5 11 5050 5050 1010 00 -- 11 --

TPTP 55 44 33

RIPRIPii = max= maxjjpi(i),kpi(i),kRC(i)RC(i) CCj,kj,k

Recursos que utilizan las tareas

F. Pla - UJI 60

pi(i) y tengan un TP ≥ min PD(i)

Page 31: Planificación de Tareas de Tiempo Realpla/ii75/docs/II75-T2-Planificacion-Tareas-RT.pdf · del algorimo de planificación utilizado. Asimismo, si podemos garantizar los plazos de

Cálculo del Tiempo de RespuestaCálculo del Tiempo de Respuesta

•• Cuando hay bloqueosCuando hay bloqueos

RRii = = CCi i + + jjps(i)ps(i) RRii/T/Tjj CCjj + RIP+ RIPii

RIPRIP = max= max ( ) k( ) k ( )( ) CC kkRIPRIPii = max= maxjjpi(i),kpi(i),kRC(i)RC(i) CCj,kj,k

•• La solución mediante la relación de recurrencia:La solución mediante la relación de recurrencia:•• La solución mediante la relación de recurrencia:La solución mediante la relación de recurrencia:

WWiinn= = CCi i + + jjps(i)ps(i) WWii

nn--11/T/Tjj CCjj + RIP+ RIPii

WW 00 CC ++ CC + RIP+ RIPWWii00= = CCi i + + jjps(i)ps(i) CCjj + RIP+ RIPii

SeSe terminatermina cuandocuando::SeSe terminatermina cuandocuando::

a)a) nn:: WWiinn>D>Dii plazosplazos nono garantizadosgarantizados..

b)b) nn WW nn WW nn 11 pla ospla os ga anti adosga anti ados ((RR WW nn))

F. Pla - UJI 61

b)b) nn:: WWiinn==WWii

nn--11 plazosplazos garantizadosgarantizados ((RRii=W=Wiinn))..

61

Í diÍ diÍndiceÍndice

l f ó dl f ó d•• Planificación de Tareas:Planificación de Tareas:

–– Tareas Periódicas.Tareas Periódicas.

Pl ifi ió Cí liPl ifi ió Cí li•• Planificación Cíclica.Planificación Cíclica.

•• Planificación por Prioridades.Planificación por Prioridades.

•• Factor de UtilizaciónFactor de Utilización•• Factor de Utilización.Factor de Utilización.

•• Tiempo de Respuesta.Tiempo de Respuesta.

•• Interacción entre Tareas y BloqueosInteracción entre Tareas y Bloqueos•• Interacción entre Tareas y Bloqueos.Interacción entre Tareas y Bloqueos.

•• Tareas Periódicas con Plazo de Finalización Inferior al Tareas Periódicas con Plazo de Finalización Inferior al PeríodoPeríodo..

–– Tareas Aperiódicas.Tareas Aperiódicas.

•• BibliografíaBibliografía

F. Pla - UJI 62

gg

F. Pla - UJI62

Page 32: Planificación de Tareas de Tiempo Realpla/ii75/docs/II75-T2-Planificacion-Tareas-RT.pdf · del algorimo de planificación utilizado. Asimismo, si podemos garantizar los plazos de

Tareas AperiódicasTareas Aperiódicas

El objetivo es distinto dependiendo de si El objetivo es distinto dependiendo de si existe unaexiste una separación mínimaseparación mínima entreentreexiste una existe una separación mínimaseparación mínima entre entre eventos:eventos:

•• Si existe, el objetivo será el de Si existe, el objetivo será el de

Tiempo mínimo

transcurrido, j, jasegurar que, para todas las tareas, el asegurar que, para todas las tareas, el tiempo de respuesta sea menor o tiempo de respuesta sea menor o igual a dicha separación (igual a dicha separación (SiSi))

transcurrido entre dos

activaciones consecutivaigual a dicha separación (igual a dicha separación (SiSi).).

•• Si no existe, el objetivo será ofrecer Si no existe, el objetivo será ofrecer un “buen tiempo de respuesta”.un “buen tiempo de respuesta”.

s

un buen tiempo de respuesta .un buen tiempo de respuesta .

F. Pla - UJI63

Tareas Aperiódicas con Separación Mínima Tareas Aperiódicas con Separación Mínima entre Eventosentre Eventos

El objetivo final es el de asegurar que para todas El objetivo final es el de asegurar que para todas las tareas el tiempo de respuesta sea menor o iguallas tareas el tiempo de respuesta sea menor o iguallas tareas el tiempo de respuesta sea menor o igual las tareas el tiempo de respuesta sea menor o igual a la separación mínima entre eventos, es decir que a la separación mínima entre eventos, es decir que RRii SSii. . ii ii

F. Pla - UJI64

Page 33: Planificación de Tareas de Tiempo Realpla/ii75/docs/II75-T2-Planificacion-Tareas-RT.pdf · del algorimo de planificación utilizado. Asimismo, si podemos garantizar los plazos de

TratamientoTratamiento

•• Situación de Situación de peor casopeor caso: cuando la activación de eventos : cuando la activación de eventos tiene lugar en la separación mínima.tiene lugar en la separación mínima.

•• Dicha situación es Dicha situación es equivalenteequivalente a la de una tarea a la de una tarea periódica (con o sin plazo de finalización) en la que periódica (con o sin plazo de finalización) en la que dicha separación constituye el períododicha separación constituye el períododicha separación constituye el período.dicha separación constituye el período.

Las técnicas utilizadas para tareas periódicas continúan siendo válidas si sustituimos Ti por Si.

F. Pla - UJI65

Tareas Aperiódicas sin Separación Tareas Aperiódicas sin Separación Mínima entre EventosMínima entre Eventos

El objetivo final será el de ofrecer unEl objetivo final será el de ofrecer un “buen tiempo“buen tiempoEl objetivo final será el de ofrecer un El objetivo final será el de ofrecer un “buen tiempo “buen tiempo de respuesta”de respuesta”..

F. Pla - UJI66

Page 34: Planificación de Tareas de Tiempo Realpla/ii75/docs/II75-T2-Planificacion-Tareas-RT.pdf · del algorimo de planificación utilizado. Asimismo, si podemos garantizar los plazos de

T A iódi i S ió Mí iT A iódi i S ió Mí iTareas Aperiódicas sin Separación Mínima Tareas Aperiódicas sin Separación Mínima entre Eventosentre Eventos

TeoremaTeorema (Tia&Liu&Shankar(Tia&Liu&Shankar [[19961996])]):: EnEn cualquiercualquier conjuntoconjuntodede tareastareas periperióódicasdicas ordenadasordenadas utilizandoutilizando unun esquemaesquema basadobasadodede tareastareas periperióódicasdicas ordenadasordenadas utilizandoutilizando unun esquemaesquema basadobasadoenen prioridadesprioridades fijasfijas,, enen elel queque hayanhayan tareastareas aperiaperióódicasdicas,, nonoexisteexiste ningningúúnn algoritmoalgoritmo dede planificaciplanificacióónn vváálidolido queque minimiceminimice eleltiempotiempo dede respuestarespuesta dede cadacada unauna dede laslas tareastareas aperiaperióódicasdicas..

TT (Ti &Li &Sh k(Ti &Li &Sh k [[19961996])]) llTeoremaTeorema (Tia&Liu&Shankar(Tia&Liu&Shankar [[19961996])]):: EnEn cualquiercualquier conjuntoconjuntodede tareastareas periperióódicasdicas ordenadasordenadas utilizandoutilizando unun esquemaesquema basadobasadoenen prioridadesprioridades fijas,fijas, enen elel queque hayanhayan tareastareas aperiaperióódicas,dicas, nonoenen prioridadesprioridades fijas,fijas, enen elel queque hayanhayan tareastareas aperiaperióódicas,dicas, nonoexisteexiste ningningúúnn algoritmoalgoritmo dede planificaciplanificacióónn onon--lineline queque minimiceminimice eleltiempotiempo mediomedio dede respuestarespuesta dede laslas tareastareas aperiaperióódicasdicas..

F. Pla - UJI 67

Tratamiento ITratamiento I

•• Técnica 1Técnica 1: Utilización de un servidor en segundo plano : Utilización de un servidor en segundo plano g pg p(“(“backgroundbackground”): ”): cuando no hay trabajo periódico que cuando no hay trabajo periódico que ejecutar, se sirven las tareas aperiódicas (puede utilizarse ejecutar, se sirven las tareas aperiódicas (puede utilizarse cualquier algoritmo de planificación por ejemplo el Roundcualquier algoritmo de planificación por ejemplo el Round--cualquier algoritmo de planificación, por ejemplo el Roundcualquier algoritmo de planificación, por ejemplo el RoundRobin).Robin).

•• Ofrece unOfrece un mal tiempo de respuestamal tiempo de respuesta, pero es, pero es simple desimple deOfrece un Ofrece un mal tiempo de respuestamal tiempo de respuesta, pero es , pero es simple de simple de implementarimplementar..

F. Pla - UJI68

Page 35: Planificación de Tareas de Tiempo Realpla/ii75/docs/II75-T2-Planificacion-Tareas-RT.pdf · del algorimo de planificación utilizado. Asimismo, si podemos garantizar los plazos de

Tratamiento IITratamiento II

•• Técnica 2Técnica 2: Utilización de un servidor de reserva : Utilización de un servidor de reserva ((“pooling”“pooling”): ): se añade una nueva tarea periódica a las se añade una nueva tarea periódica a las existentes.existentes.existentes.existentes.

•• Durante el tiempo en que esta tarea está activa, se Durante el tiempo en que esta tarea está activa, se sirve el trabajo aperiódico (nuevamente, puede sirve el trabajo aperiódico (nuevamente, puede tili l i l it d l ifi ió )tili l i l it d l ifi ió )utilizarse cualquier algoritmo de planificación). utilizarse cualquier algoritmo de planificación).

•• Si no hay tareas aperiódicas que servir, el servidor Si no hay tareas aperiódicas que servir, el servidor espera a que las haya (mientras está activo).espera a que las haya (mientras está activo).p q y ( )p q y ( )

•• Ofrece un Ofrece un tiempo de respuesta mejortiempo de respuesta mejor..

F. Pla - UJI69

Tratamiento IIITratamiento III

•• Técnica 3Técnica 3: Utilización de un servidor de reserva diferido : Utilización de un servidor de reserva diferido ((“defe able se e ”“defe able se e ”)) ñ d t iódiñ d t iódi((“deferrable server”“deferrable server”): ): se añade una nueva tarea periódica a se añade una nueva tarea periódica a las existentes.las existentes.

•• Durante el tiempo en que esta tarea está activa, seDurante el tiempo en que esta tarea está activa, seDurante el tiempo en que esta tarea está activa, se Durante el tiempo en que esta tarea está activa, se sirve el trabajo aperiódico (utilizando cualquier sirve el trabajo aperiódico (utilizando cualquier algoritmo de planificación). algoritmo de planificación).

•• Sin embargo a diferencia de la técnica de “pooling” siSin embargo a diferencia de la técnica de “pooling” si•• Sin embargo, a diferencia de la técnica de pooling , si Sin embargo, a diferencia de la técnica de pooling , si no hay tareas aperiódicas que servir, el servidor no hay tareas aperiódicas que servir, el servidor termina.termina.

F. Pla - UJI70

Page 36: Planificación de Tareas de Tiempo Realpla/ii75/docs/II75-T2-Planificacion-Tareas-RT.pdf · del algorimo de planificación utilizado. Asimismo, si podemos garantizar los plazos de

Bibli fíBibli fíBibliografíaBibliografía

•• Burns, A. and Wellings, A.; Burns, A. and Wellings, A.; RealReal--Time Systems and Time Systems and Programming LanguagesProgramming Languages. Addison. Addison--Wesley, 3ª Ed., 2003.Wesley, 3ª Ed., 2003.

•• Jane Liu, Jane Liu, RealReal--Time SystemsTime Systems, Prentice, Prentice--Hall, 2000.Hall, 2000.

•• Giorgio Butazzo, Giorgio Butazzo, Hard RealHard Real--Time Computer SystemsTime Computer Systems, , Kluwer, 1997.Kluwer, 1997.

•• Francis Cottet, Joëlle Delacroix, Claude Kaiser, Zoubir Francis Cottet, Joëlle Delacroix, Claude Kaiser, Zoubir M iM i S h d li i R lS h d li i R l Ti S tTi S t WilWilMammeri, Mammeri, Scheduling in RealScheduling in Real--Time SystemsTime Systems, Wiley, , Wiley, 2002.2002.

Hermann KopetzHermann Kopetz RealReal Time SystemsTime Systems Kluwer 1997Kluwer 1997•• Hermann Kopetz, Hermann Kopetz, RealReal--Time SystemsTime Systems, Kluwer, 1997., Kluwer, 1997.

F. Pla - UJI71