Anda di halaman 1dari 18

Métodos de Planificación

Dr. Pedro Mejía Alvarez

CINVESTAV-IPN, Sección de Computación

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 1


Indice

•Planificación
•Métodos de planificación
•Planificación basada en prioridades

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 2


Planificación (scheduling)

La planificación consiste en asignar un orden de


ejecución a un conjunto de tareas que se ejecutan
concurrentemente

En la planificación existen 3 elementos:


•Procesadores.
•Recursos
•Tareas
•Planificador y Manejador de Recursos (Sistema Operativo)

Cada tarea es planificada por un algoritmo de planificación y distintos


recursos son asignados mediante un protocolo de acceso a recursos.
Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 3
Métodos de Planificación

• Planificar el uso de los recursos con el fin de


poder garantizar los requisitos temporales.
• Un método de planificación tiene dos aspectos
importantes:

 Un algoritmo de planificación que determina el orden de


acceso de la tareas a los recursos del sistema
( en particular al procesador )
 Un método de análisis que permite calcular el
comportamiento temporal del sistema.
 Así se puede comprobar si los requisitos temporales están
garantizados en todos los casos posibles.
 En general se estudia el peor comportamiento posible.

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 4


Proceso de Planificación

Aplicación
Crítica
Tarea
Planificador

Carga de Trabajo Análisis de


de Tiempo Real Planificabilidad EJECUCIÓN
Ci
Ti
Di
No es planificable

Fuera de linea (off-line)


Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real
En linea (on-line)
Transparencia 5
Proceso de Planificación (estados)

*despachar

activación SI
test de LISTA
aceptación EJECUCION

*expulsión
*espera en
*recurso
NO recurso
liberado
BLOQUEO ocupado

*decisiones de planificación
Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 6
Planificación vs. Planificabilidad

• Planificación = enfoque para priorizar una tarea


sobre otra
• Planificabilidad = análisis formal que permite
garantizar que un conjunto de tarea pueden (o no)
ser asignadas a un recurso compartido (p.ej. el
procesador) tal que cada una de las tareas cumpla
con su plazo de respuesta
• Planificabilidad = Control de admisión

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 7


Clasificación de Metodos de Planificación
•Expulsivo: Permite que las tareas en ejecución sean interrumpidas
en cualquier momento para asignar el procesador a otra tarea activa, de
acuerdo al metodo de planificacion.
•No expulsivo: Una vez que inicia su ejecución una tarea no es
interrumpida hasta que termina. Las decisiones de planificacion solo
pueden llevarse a cabo hasta que termina la tarea.

•Estatico: Los parámetros son fijos y calculados antes de la ejecución


•Dinamico: Los parámetros pueden cambiar durante la ejecución.
•Off-line: La planificacion se realiza antes de la ejecución. El plan de
ejecución se almacena en una tabla.
•On-line: El planificador toma decisiones sobre la ejecución, cuando
una tarea inicia su ejecución o cuando termina de ejecutarse.
•Best-effort: Algoritmo dinamico que trata de encontrar un plan de
ejecución factible, pero si no lo encuentra hara lo mejor posible para
cumplir los plazos de las tareas
Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 8
Métodos de Planificación
• Planificacion basada en el reloj (basada en el tiempo): el plan de ejecucion
se calcula fuera de linea y se basa en el conocimiento de los tiempos de inicio y
de computo de todos los jobs. El plan de ejecucion esta en una tabla y no es
concurrente.

• Planificacion round robin con prioridades: las tareas tienen prioridades


asignadas por el usuario (fuera de linea). Dentro de cada prioridad las tareas se
planifican en round robin. Cada tarea se ejecuta en forma continua como
maximo un tiempo= quantum.

• Planificacion basada en prioridades: las prioridades las asigna el algoritmo


de planificacion. La tarea con mayor prioridad se ejecuta en cualquier instante.
• tareas periodicas independientes
• tareas periodicas y aperiodicas, independientes.
• tareas periodicas que comparten recursos.

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 9


Métodos de Planificación
• Planificacion basada reserva de tiempo: a cada tarea se le reserva una
utilizacion del CPU. El planificador elige las tareas a ejecutar en base al
tiempo que tengan asignado.

• Planificacion Heuristica: la planificacion se hace siguiendo el enfoque del


mejor esfuerzo

• Planificacion Flexible: este metodo puede basarse en cualquiera de los


metodos anteriores. Sin embargo, los parametros no son fijos y pueden cambiar
de valor en respuesta a las condiciones del ambiente. En este metodo, es posible
degradar al sistema o permitir la perdida de plazos en condiciones de
sobrecarga.

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 10


Planificación On-line vs. Off-line
• Off-line scheduling: el plan de ejecucion se calcula fuera de
linea y se basa en el conocimiento de los tiempos de inicio y de
computo de todos los jobs.
• Para sistemas deterministicos: con parametros temporales
fijos que no cambien o que cambien muy poco.

• On-line scheduling: el planificador toma decisiones sin


conocimiento del tiempo en que arrivaran jobs en el futuro.
• No existe un plan de ejecucion optimo si los jobs son no-
expulsivos
• Cuando un job arriva, se acepta en el sistema si cumple con
la prueba de aceptacion.
Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 11
Planificación basada en el reloj (tiempo)
El plan de ejecucion se elabora a priori
Tarea T C con parametros fijos.Es un esquema que
A 25 10 se repite cada ciclo principal.
B 25 8 El ciclo principal dura 100 ms
 Se compone de 4 ciclos
C 50 5
secundarios de 25 ms cada uno
D 50 4
E 100 2

T = 100ms
M

TS = 25ms

A B C A B D E A B C A B D

0 25
Dr. Pedro Mejía Alvarez 50
Sistemas de Tiempo Real 75 100
Transparencia 12
Planificación basada en prioridades

• El planificador dicta su politica de ejecucion sobre una cola de procesos


ordenados por prioridades, y el despachador elige para ejecucion a los
procesos que esten listos para ejecucion de acuerdo a un orden de
prioridades.
• El Job con mayor prioridad es ejecutado hasta completarse, o hasta que
alguna tarea de mayor prioridad se alista, o hasta que se bloquea.
• El procesador nunca esta ocioso si hay tareas listas para ejecucion.
• Con prioridades fijas (nunca cambian) o dinamicas (cambian en
cualquier momento durante la ejecucion).
• Expulsivas o no-expulsivas.
• Rate Monotonic (prioridades fijas): mayor prioridad al de menor
periodo.
• EDF (prioridades dinamicas): mayor prioridad a la tarea con plazo mas
cercano
Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 13
Planificación basada en Prioridades

• Se implementa: (expulsivo o preemptive)


– Asignando prioridades a las tareas
– Las decisiones de planificacion se realizan
• cuando alguna tarea se alista,
• cuando se le termina el tiempo de ejecucion a una tarea, termina de
ejecutarse,o se bloquea por algun recurso),
• cuando las prioridades de las tareas cambian.
• cuando ocurre un evento inesperado (sobrecarga)
– Cada vez que se toma una decision de planificacion, la tarea con mayor
prioridad se ejecuta.
• En el caso no-expulivo (non-preemptive), las decisiones de planificacion son
hechas solo cuando el procesador termina la ejecucion de alguna tarea.
• El metodo de planificacion (algoritmo) es estatico, si las prioridades se asignan
una sola vez y permanecen fijas, y es dinamico si las priodidades cambian
durante la ejecucion.

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 14


Planificación basada en Prioridades

• Prioridades Fijas:
– Rate Monotonic (prioridades fijas): mayor prioridad al de
menor periodo.
• Prioridades Dinamicas:
– EDF (Earliest Deadline First): mayor prioridad a la tarea con
plazo mas cercano
– Shortest slack time first (la tarea con menor tiempo de
holgura primero): en cualquier instante t, la holgura (slack)
de un job, es igual a d -t menos la parte de computo restante
del Job.

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 15


Planificación basada en Prioridades
• Rate-Monotonic

(2, 1)

(5, 2.5)

missed deadline
• Earliest Deadline First

(2, 1)

(5, 2.5)

• Shortest slack time first


(2, 1)

(5, 2.5)

0 1
Dr. Pedro Mejía Alvarez 2 3 4 5
Sistemas de Tiempo Real 6 7 8 9
Transparencia 16 10
Programación de Tareas Periodicas
Inicializacion de Tareas

inicializar un timer Inicializacion de Tareas


periodico o una ISR
de un evento externo

start_time=time( )
espera por la
interrupcion

Cómputo

Cómputo Retrasa(period -
( time( ) -start_time) )

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 17


Evaluación de las Políticas de Planificación

Las politicas de planificacion se evaluan en base a:

• Habilidad de cumplir con los plazos de las tareas


• Utilizacion del CPU. Porcentaje de tiempo dedicado a
procesamiento util.
• Overhead de la planificacion (en-linea): tiempo
requerido para tomar decisiones de planificacion
• Flexibilidad ??
• Habilidad de tratar sobrecargas ??

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 18