Planificación de Procesos Contenido

Anuncio
Contenido
Planificación de Procesos
•
•
•
•
Tipos de planificadores
Criterios del planificador a corto término
Criterios de optimización
Algoritmos de Planificación
M. B. Ibáñez
M. B. Ibáñez
¿Por qué es necesaria la
planificación de procesos?
Tipos de Planificadores
¿Cómo se comportan los procesos?
• CPU trabaja más
rápido que los
dispositivos de E/S
• Mientras un proceso
espera por E/S, el
CPU puede ejecutar
otro proceso.
• Pregunta a responder:
¿qué proceso ejecutar?
M. B. Ibáñez
New
Long-term
scheduling
Ready,
suspend
Ready
Medium-term
scheduling
Blocked,
suspend
Running
Short-term
scheduling
– Se realiza cuando el proceso es creado
• A término medio
– Cuando los procesos son llevados a o traidos de
memoria
• A corto término
– ¿Qué proceso ready se escoje?
M. B. Ibáñez
Planificadores y Transición de
Estados
Long-term
scheduling
• A largo término
Exit
Planificación a largo término
• Determina qué programas son admitidos en
el sistema para procesamiento
• Controla el grado de multiprogramación
• Más procesos, menor porcentaje de tiempo
para que cada proceso se ejecute
Blocked
Medium-term
scheduling
M. B. Ibáñez
M. B. Ibáñez
1
Planificación a medio alcance
• Swapping
• Basado en la necesidad de manejar
multiprogramación
Tipos de Planificadores
• A corto término
– Decide qué proceso ready es el próximo en ser
ejecutado
• E/S
– Decide qué petición de E/S será manejada por
el próximo dispositivo de E/S disponible
M. B. Ibáñez
Planificación a corto término
• Conocido como dispatcher
• Es invocado cuando un evento aparece
– clock interrupts
– I/O interrupts
– operating system calls
– signals
M. B. Ibáñez
Criterios del Planificador a corto
término
• Orientados al usuario
– Tiempo de respuesta
• Tiempo que transcurre entre la petición de un
servicio y la obtención de un producto
– Tiempo Turnaround
• ¿Cuánto tarda en ejecutarse un proceso?
M. B. Ibáñez
M. B. Ibáñez
Criterios del Planificador a corto
término (cont)
Criterios del Planificador a corto
término (cont)
• Orientados al usuario
– Tiempo de espera
• Orientados al usuario
– Normalized turnaround time
• Cantidad de tiempo en el que el trabajo está listo
para ejecutarse pero no se está ejecutando
• El cociente de dividir el turnaround time entre el
tiempo de servicio
– Tiempo de Servicio
• Tiempo total de ejecución requerido
M. B. Ibáñez
M. B. Ibáñez
2
Criterios del Planificador a corto
término
• Orientados al Sistema
• Relacionados con el desempeño
– Utilización del CPU
• El CPU debe estar ocupado tanto tiempo como sea
posible
– Throughput
• Maximizar el número de procesos ejecutados por
unidad de tiempo
•
•
•
•
•
Criterios del planificador a corto
término
– Medible a través del tiempo de respuesta y el
throughput
• No relacionados con el desempeño
– predecibles
M. B. Ibáñez
M. B. Ibáñez
Criterios de Optimización
Prioridades
Utilización máxima del CPU
Máximo throughput
Mínimo turnaround time
Mínimo tiempo de espera
Mínimo tiempo de respuesta
• El planificador siempre escoge un proceso
de mayor prioridad sobre otro de menor
prioridad
• Se tienen varias colas ready para
representar el nivel de prioridad
• Los de menor prioridad sufren de inanición
– Se permite cambiar la prioridad de un proceso
en base al tiempo que lleve esperando
M. B. Ibáñez
M. B. Ibáñez
Colas de Prioridad
RQ0
R elease
Dispatch
Processor
RQ1
.
.
.
Admit
RQn
Preemption
Modos de Decisión
• No intrusivo
• Intrusivo
– Una vez que el proceso
está corriendo,
continuará hasta que
termine o decida
bloquearse, por
ejemplo por la petición
de E/S
Event Wait
Event
occurs
Blocked Queue
M. B. Ibáñez
– El proceso que está
corriendo puede ser
interrumpido y movido
al estado ready por el
sistema de operación.
– Permite mejor servicio
ya que ningún proceso
puede monopolizar el
CPU por largo tiempo
M. B. Ibáñez
3
Planificación: Primero en llegarPrimero en ser servido
• Tan pronto como el proceso está listo, va a
la cola de procesos ready.
• Cuando el proceso actual termina su
ejecución, se escoge el proceso que lleve
esperando más tiempo en la cola ready
Convención a seguir en los
Algoritmos de Planificación
Las acciones ocurren en el orden siguiente:
– Cuando un nuevo proceso llega, éste se añade a
la cola de procesos ready
– Cuando se termina el quantum de tiempo de un
proceso, éste se añade a la cola de procesos
ready
M. B. Ibáñez
M. B. Ibáñez
FCFS ejemplo
Desempeño del FCFS
en el ejemplo
P1::3 P2::6 P3::4 P4::5 P5::2
Process
0
5
10
15
20
P1
P2
P3
P4
P5
Ready queue
Arrival
Time
Service
Time
Start
Time
Finish
Time
3
Turnaround Normalized
Time
Turnaround
Time
3
1.00
1
0
3
0
2
2
6
3
9
7
1.17
3
4
4
9
13
9
2.25
4
6
5
13
18
12
2.40
5
8
2
18
20
12
6.00
8.60
2.56
Mean
M. B. Ibáñez
M. B. Ibáñez
Evaluación del FCFS
Efecto convoy en el FCFS
• Se comporta mejor para procesos largos que para
procesos cortos
• El turnaround time para procesos cortos puede ser
alto
• Tiende a favorecer los procesos que usan
extensivamente el CPU sobre los que usan mucha
E/S
• No es una alternativa atractiva en sí misma para sistemas
uniprocesadores. Sin embargo, a menudo es una polítidca
efectiva cuando se combina con prioridades
M. B. Ibáñez
• Considere la situación cuando hay
– un proceso CPU-bound
– Varios procesos I/O bound
• Suponga comenzar con los I/O bound
• Los I/O bound pronto hacen su primera petición por I/O,
entonces el CPU-bound toma al CPU:
– CPU muy ocupado, dispositivos de I/O libres
• Cuando el CPU-bound termina, de nuevo los I/O bound:
– CPU muy desocupado, dispositivos de I/O muy ocupados
M. B. Ibáñez
4
Round-Robin
(q = 1)
Round-Robin
• Versión intrusiva del FCFS
• Nace para reducir la penalización que
sufren los trabajos pequeños en el FCFS
• Cada proceso toma una pequeña unidad de
tiempo de CPU (time quantum), usualmente
10-100 milliseconds. Cuando termina este
tiempo, el proceso es llevado al final de la
cola de procesos ready.
P1::3 P2::6 P3::4 P4::5 P5::2
5
10
15
Ready queue
M. B. Ibáñez
M. B. Ibáñez
Desempeño del Round-Robin
(q=1) en el ejemplo
Round-Robin
(q = 4)
Process
Arrival
Time
Service
Time
Start
Time
Finish
Time
Turnaround Normalized
Time
Turnaround
Time
4
1.33
1
0
3
0
4
2
2
6
2
18
16
2.67
3
4
4
5
17
13
3.25
4
6
5
7
20
14
2.80
5
8
2
10
15
7
3.50
10.80
2.71
Mean
P1::3 P2::6 P3::4 P4::5 P5::2
5
10
15
Ready queue
M. B. Ibáñez
Desempeño del Round-Robin
(q=4) en el ejemplo
Round Robin
Comentarios
Arrival
Time
Service
Time
Start
Time
Finish
Time
Turnaround Normalized
Time
Turnaround
Time
3
1.00
1
0
3
0
3
2
2
6
3
17
15
2.5
3
4
4
7
11
7
1.75
4
6
5
11
20
14
2.80
5
8
2
17
19
Mean
M. B. Ibáñez
11
5.50
10.00
2.71
20
P1
P2
P3
P4
P5
M. B. Ibáñez
Process
20
P1
P2
P3
P4
P5
• Desempeño
– q grande ⇒ FIFO
– q pequeño ⇒
• favorece a los prpcesos pequeños
• q debe ser grande con respecto al cambio de
contexto, de otro modo el overhead es muy grande
M. B. Ibáñez
5
Round Robin
Problemas
Planificación del proceso más
corto primero -no intrusivo-
• Tener en el sistema tanto procesos CPUbound como procesos I/O-bound
• I/O bound:
– CPU::bloqueo por I/O::cola ready
• CPU bound :
– CPU::cola ready
• Política no intrusiva
• Se selecciona el proceso que tenga el
tiempo de procesamiento esperado más
corto
• Los procesos cortos se ejecutan primero que
los procesos largos
• Los procesos CPU bound tienen más
oportunidades de usar el CPU
M. B. Ibáñez
M. B. Ibáñez
Planificación del proceso más
corto primero -no intrusivo-
Planificación del proceso más
corto primero -no intrusivo-
P1::3 P2::6 P3::4 P4::5 P5::2
Process
0
5
10
15
Arrival
Time
20
P1
P2
P3
P4
P5
P3::4 P5::2
P4::5
Service
Time
Start
Time
Finish
Time
3
Turnaround Normalized
Time
Turnaround
Time
3
1.00
1
0
3
0
2
2
6
3
9
7
1.17
3
4
4
7
15
11
2.75
4
6
5
11
20
14
2.80
5
8
2
17
11
3
1.50
7.60
1.84
Mean
Se selecciona el proceso con menor tiempo de procesamiento esperado
M. B. Ibáñez
Planificación del proceso más corto primero
no intrusivo
Comentarios
• Es necesario conocer, o al menos estimar, el
tiempo de procesamiento requerido para
cada proceso
• El riesgo con esta política es la posibilidad
de inanición para procesos grandes,
mientras exista una gran provisión de
procesos pequeños
M. B. Ibáñez
Planificación del proceso más corto primero
intrusivo
P1::3 P2::6 P3::4 P4::5 P5::2
0
5
10
15
20
P1
P2
P3
P4
P5
El planificador siempre escoge el proceso con el tiempo que resta de ejecución esperado más corto
M. B. Ibáñez
M. B. Ibáñez
6
Planificación del proceso más
corto primero -intrusivoProcess
Arrival
Time
Service
Time
Start
Time
Finish
Time
Turnaround Normalized
Time
Turnaround
Time
3
1.00
1
0
3
0
3
2
2
6
3
15
13
2.17
3
4
4
4
8
4
1.00
4
6
5
15
20
14
2.80
5
8
2
8
10
2
1.00
7.20
1.59
Mean
Planificación del proceso más corto primero
intrusivo
Comentarios
• Hay riesgo de inanición para procesos
grandes
• Los procesos cortos tienen una preferencia
inmediata ante tareas grandes, el tiempo
tournaround normalizado para los procesos
cortos es 1.
• Se necesita conocer de antemano la
duración de los procesos
M. B. Ibáñez
M. B. Ibáñez
Highest Response Ratio Next
Highest Response Ratio Next
• Se basa en la siguiente medida:
RR = (w + s) / s
P1::3 P2::6 P3::4 P4::5 P5::2
5
– w = tiempo gastado esperando por el
procesador
– s = tiempo de espera esperado
10
15
20
P1
P2
P3
P4
P5
• Cuando el proceso actual termine o se
bloquee, escoja el proceso con mayor RR
Ready queue
M. B. Ibáñez
M. B. Ibáñez
Highest Response Ratio Next
Highest Response Ratio Next
Comentarios
Process
Arrival
Time
Service
Time
Start
Time
Finish
Time
1
0
3
0
2
2
6
3
9
7
1.17
3
4
4
9
13
9
2.25
4
6
5
15
20
14
2.80
5
8
2
13
15
7
3.50
8.00
2.14
Mean
M. B. Ibáñez
3
Turnaround Normalized
Time
Turnaround
Time
3
1.00
• Favorece a los procesos pequeños
• Toma en cuenta la “edad” de los procesos
de manera que los procesos largos no son
penalizados
• Necesita conocer de antemano el tiempo de
ejecución de los procesos
M. B. Ibáñez
7
Feedback
Feedback
• Si no podemos estimar cuánto tiempo
correrá un proceso, entonces trabajemos en
función del tiempo que lleva corriendo
hasta ahora
• Otra forma de establecer preferencias por
los trabajos pequeños es penalizar aquellos
que llevan corriendo gran cantidad de
tiempo.
• Los procesos son enviados a la próxima cola con
menor prioridad cada vez que deban ir a la cola de
procesos ready
• Los procesos más grandes están en las colas ready
de más abajo, las de menor prioridad
• La última cola es tratada como Round-Robin.
Cuando un proceso llega a esta cola permanece en
ella hasta completar su ejecución.
• Todas las demás colas son tratadas como FCFS.
M. B. Ibáñez
M. B. Ibáñez
Colas en el Feedback
Feedback
Comentarios
Release
RQ0
Admit
Processor
Release
RQ1
Processor
...
...
Release
RQn
Processor
• El turnaround time de los procesos grandes
puede incrementarse de manera alarmante
• Si entran constantemente al sistema
pequeños procesos, los procesos grandes
pueden morir de inanición
• Para evitar esto incrementemos la cantidad
de tiempo que un proceso puede correr a
medida que esté en una cola de menor
prioridad
M. B. Ibáñez
M. B. Ibáñez
Feedback
(q=2^(i-1))
Feedback
P1::3 P2::6 P3::4 P4::5 P5::2
Process
5
10
P1
P2
P3
P4
P5
Ready queue
15
20
Arrival
Time
Service
Time
Start
Time
Finish
Time
0
3
0
4
2
2
6
3
17
15
2.50
3
4
4
4
18
14
3.50
4
6
5
6
20
14
2.80
5
8
2
7
14
6
3.00
10.60
2.63
Mean
M. B. Ibáñez
Turnaround Normalized
Time
Turnaround
Time
4
1.33
1
M. B. Ibáñez
8
Descargar