04-procesos-planificacion
TRANSCRIPT
1
Planificación Uniprocesador
Operating Systems: Fifth EditionWilliam Stallings
(Prentice-Hall, 2001, ISBN 0-13-147954-7)
Algunas ilustraciones y textos fueron obtenidos del material disponible en la Escuela Politécnica Superior, Universidad Autónoma de Madrid, en la asignatura Sistemas Operativos.
Presentación basada en el material adicional del libro (ppt en inglés)
3
Objetivo de la Planificación
• Asignar procesos para ser ejecutados por el procesador, de forma que se consiga:– mejorar tiempos de respuesta.– aumentar la productividad.– optimizar la eficiencia del procesador y de
dispositivos de E/S.
5
Tipos de Planificación
Planificación a largo plazo
Toma la desición de añadir un proceso al conjunto de procesos a ejecutar.
Planificación a medio plazo
Toma la desición de añadir un proceso al conjunto de procesos que están parcialmente o totalmente en la memoria principal.
Planificación a corto plazo
Toma la desición de qué proceso disponible será ejecutado en el procesador.
Planificación de la E/S
Toma la desición sobre qué solicitud de E/S pendiente será tratada por un dispositivo de E/S disponible.
8
Planificación a Largo Plazo
• Determina cuáles son los programas admitidos en el sistema.
• Una vez admitido, un programa se convierte en un proceso y se añade al estado:– Ready: cola del planificador a corto plazo– Ready Suspended: cola de medio plazo
• Controla el grado de multiprogramación.– Cuánto mayor el número de procesos creados,
menor el porcentaje de tiempo que cada proceso se puede ejecutar.
9
Planificación a Largo Plazo
• Los nuevos trabajos se mantienen en una cola en disco (cola de lotes).
• El planificador a largo plazo elije un trabajo desde esta cola y crea un proceso para agregarlo a la cola de listos o listos suspendidos.
¿Cuándo agregar un proceso?
¿Qué trabajo elegir?
10
Planificación a Largo Plazo
• ¿Cuántos procesos adicionales?– limitar el número para dar un buen servicio.– New: cada vez que termina un proceso o si el porcentaje
de utilización del procesador es bajo.• ¿Qué procesos incluír?
– Algorítmos de planificación• Simples (FIFO-FCFS)• Por rendimiento del sistema: prioridades, carga del
procesador, carga de E/S, …
• Sistemas interactivos de tiempo compartido– Se aceptan procesos interactivos hasta saturación (ej:
máx. n° de procesos, carga de procesador, número de usuarios, …).
Darle al sistema una mezcla de procesos que maximice su utilización.
11
Planificación a Medio Plazo
• La planificación a mediano plazo es parte de la función de intercambio.– Gestión de memoria, memoria virtual, estados
suspendidos.
• Encargado de mover procesos de memoria principal al dispositivo de intercambio (swap).
• Decide cuándo un proceso pasa a estado de suspendido y cuando vuelve a listo.
12
Planificación a Medio Plazo
• La desición de intercambio se basa en la necesidad de gestionar el grado de multiprogramación.
• La desición de meter un proceso en la memoria, tendrá en cuenta las necesidades de memoria de los procesos que están fuera de la misma.
13
Planificación a Corto Plazo
• Decide que proceso será el próximo a ejecutarse.– Su objetivo es repartir el tiempo del procesador de forma
que se optimice el comportamiento de 1 o más elementos del sistema.
• Planificador a corto plazo = dispatcher, activador.• Es el planificador de ejecución más frecuente.• Se ejecuta cuando se interrumpe la ejecución de un
proceso:– Interrupción del reloj.– Interrupciones de E/S.– Llamadas al sistema operativo.– Señales.
16
Criterios de la Planificación a Corto Plazo
• Orientados al usuario: comportamiento del sistema visible al usuario:– Tiempo de estancia / tiempo de ejecución (Te):
• Tiempo transcurrido desde que se lanza un proceso hasta que finaliza.
• Incluye todo el tiempo en que el proceso está listo para ejecutar, en ejecución y bloqueado.
– Tiempo de respuesta (Ta):• Tiempo transcurrido entre que el proceso se agrega a listos y en que
se comienza a ejecutar (aparición de la respuesta).• Apropiado para procesos interactivos (el usuario quiere respuestas
rápidas a sus trabajos).• Tiempo de espera (Tw):
• tiempo que pasa un proceso en la cola de listos para ejecutar. – Plazos (fecha tope / deadline)
• Si hay plazos, maximizar porcentaje de plazos cumplidos.– Previsibilidad
• Un trabajo dado debería ejecutarse aproximadamente en el mismo tiempo y con el mismo coste a pesar de la carga del sistema.
17
Criterios de la Planificación a Corto Plazo
• Orientados al sistema: uso efectivo y eficiente del procesador:– Rendimiento (throughput) (P):
• La política de planificación debería maximizar el número de procesos completados por unidad de tiempo.
– Utilización del procesador (C):• Porcentaje de tiempo en que el procesador está ocupado.• Importante en sistemas compartidos.• Menos importante en monousuario y en tiempo real.
– Prioridades• Si hay prioridades, favorecer a procesos con mayor prioridad.
– Equilibrio de ocupación de recursos• La política del planificador debería mantener ocupados los
recursos del sistema. Los procesos con poco uso de un recurso deberían ser favorecidos cuando dicho recurso se encuentra sobreutilizado.
18
Criterios de la Planificación a Corto Plazo
• Los algoritmos de planificación deberían maximizar los criterios orientados al sistema y minimizar los orientados al proceso:
• Optimizar el uso del procesador para conseguir más eficiencia: max(C)
• Minimizar el tiempo de ejecución medio de un proceso: min(Te).
• Minimizar el tiempo de respuesta medio: min(Ta). • Minimzar el tiempo de espera medio: min(Tw).• Maximizar el número de trabajos por unidad de tiempo:
max(P).
19
Ejemplo
Determinar (1) la utilización del procesador, (2) el rendimiento,
(3) el tiempo de estancia medio, (4) tiempo de respuesta medio
20
Ejemplo
• Tiempo medio de ejecución (Te)– Tiempo desde que se lanza hasta que finaliza un proceso:
• suma de los tiempos de ejecución de los procesos:– [t11 + (100 - t3)] / 2
• Utilización del procesador (C)– Tiempo en que el procesador está ocupado:
• 100 – (t2-t1) unidades de tiempo
• Rendimiento (P)– Procesos realizados por unidad de tiempo:
• 2 / 100
• Tiempo medio de espera del procesador (Tw)• (tiempo que el proceso espera x el procesador)• [(t4 - t3) + (t6 - t5) + (t7 - t6) +(t9 - t8) + (t11 - t10)] / 2
22
Uso de Prioridades
• Planificador selecciona, según un algoritmo de planificación, siempre el proceso de mayor prioridad antes que uno de menor prioridad.
• Múltiples colas de Ready (Listos):– una por nivel de prioridad
• Los procesos de prioridad más baja podrían sufrir inanición. Solución:– Permitir que un proceso cambie su prioridad en
función de su edad o su historial de ejecución.
1. Políticas de planificación1. Políticas de Planificación2. FCFS
• Ejemplo
1. Round Robin• Ejemplo• Virtual Roun Robin
1. SPN (Primero el proceso más corto)• Ejemplo
1. SRT (Menor Tiempo Restante)• Ejemplo
1. HRRN (Primero el de mayor tasa de respuesta)• Ejemplo
1. Feedback (Realimentación Multinivel)1. Ejemplo
2. Comparación
25
Políticas de Planificación
• Función de selección: cómo seleccionar el siguiente proceso a ejecutar. Puede estar basada en:– Prioridades– Necesidades de recursos– Características de ejecución:
• tiempo en el sistema– tiempo en el sistema hasta el momento (esperando o
ejecutando)• tiempo ejecutado
– tiempo de ejecución hasta el momento• tiempo total de servicio estimado
– esta cantidad debe ser estimada o proporcionada por el usuario
26
Políticas de Planificación
• Modo de decisión: momento en que se aplica la función de selección.– Sin expulsión (nonpreemptive)
• Cuando un proceso pasa a ejecución, ejecuta hasta que:– termina– se bloquea en espera de E/S– solicita servicios del sistema operativo
– con expulsión (preemptive)• Proceso en ejecución puede ser interrumpido y pasado a
Ready por el sistema operativo por:– Nuevo proceso– Proceso pasa de bloqueado a listo (interrupción)– Interrupción de reloj
• Ventaja: mejor servicio, impiden a un proceso monopolizar el procesador.
• Desventaja: mayor coste, más cambios de contexto.
27
Tipos de Políticas de Planificación
• FCFS (first come first served)• Round Robin• SPN (shortest process next)• SRT (shortest remaining time)• HRRN (highest response ratio next)• Retroalimentación (Feedback)
28
Ejemplo de Políticas de Planificación
Proceso Tiempo de Llegada
Tiempo de Servicio
A 0 3
B 2 6
C 4 4
D 6 5
E 8 2
1. Políticas de planificación1. Políticas de Planificación2. FCFS
• Ejemplo
1. Round Robin• Ejemplo• Virtual Roun Robin
1. SPN (Primero el proceso más corto)• Ejemplo
1. SRT (Menor Tiempo Restante)• Ejemplo
1. HRRN (Primero el de mayor tasa de respuesta)• Ejemplo
1. Feedback (Realimentación Multinivel)• Ejemplo
1. Comparación
30
First-Come-First-Served(FCFS)
• Cada proceso se incorpora a la cola de Ready.• Cuando el proceso actual cesa su ejecución, se
selecciona el proceso más antiguo del sistema.• Función de selección: máximo tiempo en la cola de ready• Modelo de desición: sin expulsión
Proc Llegada Servicio
A 0 3
B 2 6
C 4 4
D 6 5
E 8 2
31
First-Come-First-Served(FCFS)
• Penaliza los procesos cortos.– Un proceso corto puede tener que esperar mucho tiempo
antes de poder ejecutar.
• Efecto convoy:– Dominio de procesos con carga de CPU frente a los que
hacen uso de E/S. Posible uso ineficiente no solo de CPU sino también de los dispositivos de E/S.
• Es teóricamente justo, pero poco eficiente en tiempo medio de espera.
• Por sí misma, no útil para monoprocesadores.• Planificación efectiva combinada con colas de
prioridades.– Planificación realimentada
1. Políticas de planificación1. Políticas de Planificación2. FCFS
• Ejemplo1. Round Robin
• Ejemplo• Virtual Roun Robin
1. SPN (Primero el proceso más corto)• Ejemplo
• SRT (Menor Tiempo Restante)• Ejemplo
1. HRRN (Primero el de mayor tasa de respuesta)• Ejemplo
1. Feedback (Realimentación Multinivel)• Ejemplo
1. Comparación
33
Ejemplo FCFS
• Uso de CPU: 29 – 0 = 29 sobre 29 = 100%• Rendimiento: 5 / 29• Tiempo medio de estancia: (15 + 7 + 22 + 23 + 20) / 5 = 82 / 5 = 17.4• Tiempo medio de espera del procesos: (8 + 1 + 5 + 5 + 9 + 3 + 12 + 2) / 5 = 9
Proc Llegada Ráfaga de CPU E/S Ráfaga CPU
A 0 3 2 2
B 2 6 - -
C 4 4 4 4
D 6 5 5 1
E 8 2 2 2
1. Políticas de planificación1. Políticas de Planificación2. FCFS
• Ejemplo
1. Round Robin• Ejemplo• Virtual Roun Robin
1. SPN (Primero el proceso más corto)• Ejemplo
1. SRT (Menor Tiempo Restante)• Ejemplo
1. HRRN (Primero el de mayor tasa de respuesta)• Ejemplo
1. Feedback (Realimentación Multinivel)• Ejemplo
1. Comparación
35
Round-Robin
• Reduce penalización a procesos cortos• Usa expulsión basada en una interrupción de
reloj cada cierto intervalo de tiempo.• Se determina un periodo de tiempo (cuanto, q)
de uso del procesador– Función de selección: constante – (con FCFS)– Modo de decisión: con expulsión (cada q)
Proc Llegada Servicio
A 0 3
B 2 6
C 4 4
D 6 5
E 8 2
36
Round-Robin
• Periódicamente, se genera interrupción de reloj– Diseñado específicamente para sistemas de
tiempo compartido.– Se asigna un cuanto de tiempo (10-100 ms.) de
igual duración a todos los procesos listos para ser ejecutados.
• Cuando se genera la interrupción:– El proceso en ejecución pasa a la cola de Ready– Se selecciona el siguiente trabajo de la cola
(FCFS)• También conocido como time slicing.
37
Round-Robin• Parámetro crítico de diseño: longitud del
cuanto:– Si es muy pequeño, los procesos cortos pasan
rápidamente, pero se sobrecarga el procesador (gestión interrupciones de reloj, planificación).
– Si es muy grande, degenera en FCFS.– Referencia: debe ser algo mayor que el tiempo
necesario para una interacción normal.– Efectivo en sistemas de carácter general, tiempo
compartido, procesos de transacciones.– Favorece procesos con carga de procesador vs.
procesos con carga de E/S (éstos no aprovechan el cuanto).
1. Políticas de planificación1. Políticas de Planificación2. FCFS
• Ejemplo
1. Round Robin• Ejemplo• Virtual Roun Robin
1. SPN (Primero el proceso más corto)• Ejemplo
1. SRT (Menor Tiempo Restante)• Ejemplo
1. HRRN (Primero el de mayor tasa de respuesta)• Ejemplo
1. Feedback (Realimentación Multinivel)• Ejemplo
1. Comparación
39
Ejemplo Round Robin (q=1)
• Uso de CPU: 29 – 0 = 29 sobre 29 = 100%• Rendimiento: 5 / 29• Tiempo medio de estancia: (13 + 18 + 24 + 23 + 16) / 5 = 94 / 5 = 18.8• Tiempo medio de espera del proc.: (6 + 12 + 12 + 12 + 10) / 5 = 10.4
Proc Llegada Ráfaga de CPU E/S Ráfaga CPU
A 0 3 2 2
B 2 6 - -
C 4 4 4 4
D 6 5 5 1
E 8 2 2 2
Cola readyÓrden de encolar:1. Vuelta de E/S2. Nuevo3. Acaba de ejecutarse
40
Virtual Round-Robin
• Una desventaja de RR es que trata de forma desigual a los procesos con mucho procesador, de los procesos con mucha E/S, desfavoreciendo estos últimos,– Procesos con carga E/S tienden a rendimiento pobre
desaprovechamiento de recursos E/S (generalmente ejecutan menos que q y se bloquean y luego vuelven a cola fifo)
• VRR evita esta injusticia:– Cola de Listos (FCFS)– Cola Auxiliar (FCFS) con mayor prioridad.
• Los procesos que dejan de estar bloqueados por E/S se desplazan a la cola Auxiliar.
• Los procesos de la cola Auxiliar se ejecutan q-e (un cuanto más corto)
– e = tiempo de ejecución de la última vez (antes de espera E/S).
1. Políticas de planificación1. Políticas de Planificación2. FCFS
• Ejemplo
1. Round Robin• Ejemplo• Virtual Round Robin
1. SPN (Primero el proceso más corto)• Ejemplo
1. SRT (Menor Tiempo Restante)• Ejemplo
1. HRRN (Primero el de mayor tasa de respuesta)• Ejemplo
1. Feedback (Realimentación Multinivel)1. Ejemplo
2. Comparación
1. Políticas de planificación1. Políticas de Planificación2. FCFS
• Ejemplo
1. Round Robin• Ejemplo• Virtual Roun Robin
1. SPN (Primero el proceso más corto)• Ejemplo
1. SRT (Menor Tiempo Restante)• Ejemplo
• HRRN (Primero el de mayor tasa de respuesta)• Ejemplo
1. Feedback (Realimentación Multinivel)• Ejemplo
1. Comparación
44
Shortest Process Next(primero el proceso más corto)
• Se selecciona el proceso con menor tiempo esperado de ejecución. Se ejecuta completo (sin expulsión). Luego se elije otro proceso.
• Un proceso corto salta a la cabeza de la cola, sobrepasando a trabajos largos.
– Función de selección: mínimo tiempo total de servicio– Modo de decisión: sin expulsión
Proc Llegada Servicio
A 0 3
B 2 6
C 4 4
D 6 5
E 8 2
45
Shortest Process Next(primero el proceso más corto)
• Problemas:– Se incrementa la variabilidad de los tiempos
de respuesta, especialmente para procesos largos, y de esta forma se reduce la predicibilidad.
– Si el tiempo estimado de un proceso no es correcto, el sistema operativo puede abortarlo.
– Posibilidad de inanición (starvation) de procesos largos.
46
Shortest Process Next(primero el proceso más corto)
• Problemas:– Saber o estimar el tiempo de CPU
requerido para cada proceso.• Trabajos por lotes o repetitivos:
– el valor es estimado por el programador o por estadísticas basadas en ejecuciones pasadas miramos suma de ráfagas en una tabla del SO.
• Procesos interactivos:– el SO podría guardar una media del tiempo de
ejecución de cada ráfaga.
1. Políticas de planificación1. Políticas de Planificación2. FCFS
• Ejemplo
1. Round Robin• Ejemplo• Virtual Roun Robin
1. SPN (Primero el proceso más corto)• Ejemplo
1. SRT (Menor Tiempo Restante)• Ejemplo
1. HRRN (Primero el de mayor tasa de respuesta)• Ejemplo
1. Feedback (Realimentación Multinivel)• Ejemplo
1. Comparación
48
Ejemplo Shortest Process NextProc Llegada Ráfaga de CPU E/S Ráfaga CPU Suma
A 0 3 2 2 5
B 2 6 - - 6
C 4 4 4 4 8
D 6 5 5 1 6
E 8 2 2 2 4
49
Ejemplo Shortest Process NextProc Llegada Ráfaga de CPU E/S Ráfaga CPU Suma
A 0 3 2 2 5
B 2 6 - - 6
C 4 4 4 4 8
D 6 5 5 1 6
E 8 2 2 2 4
50
Ejemplo Shortest Process NextProc Llegada Ráfaga de CPU E/S Ráfaga CPU Suma
A 0 3 2 2 5
B 2 6 - - 6
C 4 4 4 4 8
D 6 5 5 1 6
E 8 2 2 2 4
51
Ejemplo Shortest Process NextProc Llegada Ráfaga de CPU E/S Ráfaga CPU Suma
A 0 3 2 2 5
B 2 6 - - 6
C 4 4 4 4 8
D 6 5 5 1 6
E 8 2 2 2 4
52
Ejemplo Shortest Process NextProc Llegada Ráfaga de CPU E/S Ráfaga CPU Suma
A 0 3 2 2 5
B 2 6 - - 6
C 4 4 4 4 8
D 6 5 5 1 6
E 8 2 2 2 4
53
Ejemplo Shortest Process NextProc Llegada Ráfaga de CPU E/S Ráfaga CPU Suma
A 0 3 2 2 5
B 2 6 - - 6
C 4 4 4 4 8
D 6 5 5 1 6
E 8 2 2 2 4
54
Ejemplo Shortest Process NextProc Llegada Ráfaga de CPU E/S Ráfaga CPU Suma
A 0 3 2 2 5
B 2 6 - - 6
C 4 4 4 4 8
D 6 5 5 1 6
E 8 2 2 2 4
55
Ejemplo Shortest Process NextProc Llegada Ráfaga de CPU E/S Ráfaga CPU Suma
A 0 3 2 2 5
B 2 6 - - 6
C 4 4 4 4 8
D 6 5 5 1 6
E 8 2 2 2 4
56
Ejemplo Shortest Process NextProc Llegada Ráfaga de CPU E/S Ráfaga CPU Suma
A 0 3 2 2 5
B 2 6 - - 6
C 4 4 4 4 8
D 6 5 5 1 6
E 8 2 2 2 4
57
Ejemplo Shortest Process NextProc Llegada Ráfaga de CPU E/S Ráfaga CPU Suma
A 0 3 2 2 5
B 2 6 - - 6
C 4 4 4 4 8
D 6 5 5 1 6
E 8 2 2 2 4
58
Ejemplo Shortest Process Next
• Uso de CPU: 32 – 2 = 30 sobre 32 = 93,75%• Rendimiento: 5 / 32• Tiempo medio de estancia: (13 + 7 + 28 + 20 + 7) / 5 = 75 / 5 = 15• Tiempo medio de espera del proc.: (6 + 1 + 16 + 9 + 1) / 5 = 33 / 5 = 6,6
Proc Llegada Ráfaga de CPU E/S Ráfaga CPU Suma
A 0 3 2 2 5
B 2 6 - - 6
C 4 4 4 4 8
D 6 5 5 1 6
E 8 2 2 2 4
59
Shortest Process Next(primero el proceso más corto)
• Conclusión SPN:– Mejora rendimiento global:
• Mejora el uso de CPU y rendimiento.
– Posibilidad de inanición para los procesos largos.
– No conveniente para tiempo compartido o procesamiento de transacciones (por la ausencia de expropiación).
– Se reduce la previsibilidad de los procesos largos (pueden variar mucho de una ejecución a otra, dependiendo de los procesos con los que compita).
1. Políticas de planificación1. Políticas de Planificación2. FCFS
• Ejemplo
1. Round Robin• Ejemplo• Virtual Roun Robin
1. SPN (Primero el proceso más corto)• Ejemplo
1. SRT (Menor Tiempo Restante)• Ejemplo
1. HRRN (Primero el de mayor tasa de respuesta)• Ejemplo
1. Feedback (Realimentación Multinivel)• Ejemplo
1. Comparación
61
Shortest Remaining Time(Menor Tiempo Restante)
• Versión "con expulsión" de la política Shortest Process Next.
• Versión preferente de SPN: elige el proceso que le queda menos tiempo esperado de ejecución.
– Debe estimar el tiempo de procesamiento.
• Cada vez que llega un proceso nuevo a la cola de listos se ejecuta el planificador.
– Función de selección: mínimo tiempo restante de ejecución (tiempo total – tiempo consumido)
– Modo de decisión: con expulsión
Proc Llegada Servicio
A 0 3
B 2 6
C 4 4
D 6 5
E 8 2
62
Shortest Remaining Time(Menor Tiempo Restante)
Problema: ¿Cómo saber el tiempo esperado?– Se deben almacenar los tiempos de
servicio transcurridos → sobrecarga.
– Estimar tiempos restantes.
1. Políticas de planificación1. Políticas de Planificación2. FCFS
• Ejemplo
1. Round Robin• Ejemplo• Virtual Roun Robin
1. SPN (Primero el proceso más corto)• Ejemplo
1. SRT (Menor Tiempo Restante)• Ejemplo
1. HRRN (Primero el de mayor tasa de respuesta)• Ejemplo
1. Feedback (Realimentación Multinivel)• Ejemplo
1. Comparación
64
Ejemplo Shortest Remaining Time(Menor Tiempo Restante)
Proc Llegada Ráfaga de CPU E/S Ráfaga CPU T.Restante
A 0 3 2 2 3
B 2 6 - - 6
C 4 4 4 4 -
D 6 5 5 1 -
E 8 2 2 2 -
65
Ejemplo Shortest Remaining Time(Menor Tiempo Restante)
Proc Llegada Ráfaga de CPU E/S Ráfaga CPU T.Restante
A 0 3 2 2 2
B 2 6 - - 5
C 4 4 4 4 8
D 6 5 5 1 -
E 8 2 2 2 -
66
Ejemplo Shortest Remaining Time(Menor Tiempo Restante)
Proc Llegada Ráfaga de CPU E/S Ráfaga CPU T.Restante
A 0 3 2 2 2
B 2 6 - - 4
C 4 4 4 4 8
D 6 5 5 1 -
E 8 2 2 2 -
67
Ejemplo Shortest Remaining Time(Menor Tiempo Restante)
Proc Llegada Ráfaga de CPU E/S Ráfaga CPU T.Restante
A 0 3 2 2 1
B 2 6 - - 4
C 4 4 4 4 8
D 6 5 5 1 6
E 8 2 2 2 -
68
Ejemplo Shortest Remaining Time(Menor Tiempo Restante)
Proc Llegada Ráfaga de CPU E/S Ráfaga CPU T.Restante
A 0 3 2 2 Terminó
B 2 6 - - 4
C 4 4 4 4 8
D 6 5 5 1 6
E 8 2 2 2 -
69
Ejemplo Shortest Remaining Time(Menor Tiempo Restante)
Proc Llegada Ráfaga de CPU E/S Ráfaga CPU T.Restante
A 0 3 2 2 Terminó
B 2 6 - - 3
C 4 4 4 4 8
D 6 5 5 1 6
E 8 2 2 2 4
70
Ejemplo Shortest Remaining Time(Menor Tiempo Restante)
Proc Llegada Ráfaga de CPU E/S Ráfaga CPU T.Restante
A 0 3 2 2 Terminó
B 2 6 - - 2
C 4 4 4 4 8
D 6 5 5 1 6
E 8 2 2 2 4
71
Ejemplo Shortest Remaining Time(Menor Tiempo Restante)
Proc Llegada Ráfaga de CPU E/S Ráfaga CPU T.Restante
A 0 3 2 2 Terminó
B 2 6 - - Terminó
C 4 4 4 4 8
D 6 5 5 1 6
E 8 2 2 2 4
72
Ejemplo Shortest Remaining Time(Menor Tiempo Restante)
Proc Llegada Ráfaga de CPU E/S Ráfaga CPU T.Restante
A 0 3 2 2 Terminó
B 2 6 - - Terminó
C 4 4 4 4 8
D 6 5 5 1 6
E 8 2 2 2 2
73
Ejemplo Shortest Remaining Time(Menor Tiempo Restante)
Proc Llegada Ráfaga de CPU E/S Ráfaga CPU T.Restante
A 0 3 2 2 Terminó
B 2 6 - - Terminó
C 4 4 4 4 8
D 6 5 5 1 4
E 8 2 2 2 2
74
Ejemplo Shortest Remaining Time(Menor Tiempo Restante)
Proc Llegada Ráfaga de CPU E/S Ráfaga CPU T.Restante
A 0 3 2 2 Terminó
B 2 6 - - Terminó
C 4 4 4 4 8
D 6 5 5 1 4
E 8 2 2 2 Terminó
75
Ejemplo Shortest Remaining Time(Menor Tiempo Restante)
Proc Llegada Ráfaga de CPU E/S Ráfaga CPU T.Restante
A 0 3 2 2 Terminó
B 2 6 - - Terminó
C 4 4 4 4 8
D 6 5 5 1 1
E 8 2 2 2 Terminó
76
Ejemplo Shortest Remaining Time(Menor Tiempo Restante)
• Uso de CPU: 32-3 = 29 sobre 32 = 90,63%• Rendimiento: 5 / 32• Tiempo medio de estancia: (7 + 9 + 28 + 20 + 9) / 5 = 73 / 5 = 14.6• Tiempo medio de espera de c/proeso.: (0 + 3 + 16 + 9 + 3) / 5 = 31 / 5 = 6.2
Proc Llegada Ráfaga de CPU E/S Ráfaga CPU T. Restante
A 0 3 2 2 Terminó
B 2 6 - - Terminó
C 4 4 4 4 Terminó
D 6 5 5 1 Terminó
E 8 2 2 2 Terminó
77
Ejemplo Shortest Remaining Time(Menor Tiempo Restante)
• Conclusiones– Favorece a los procesos cortos.– Ventaja: no genera interrupciones
adicionales (vs. Round Robin).– Desventaja: debe contabilizar los tiempos
de servicio transcurridos sobrecarga.
1. Políticas de planificación1. Políticas de Planificación2. FCFS
• Ejemplo
1. Round Robin• Ejemplo• Virtual Roun Robin
1. SPN (Primero el proceso más corto)• Ejemplo
1. SRT (Menor Tiempo Restante)• Ejemplo
1. HRRN (Primero el de mayor tasa de respuesta)• Ejemplo
1. Feedback (Realimentación Multinivel)• Ejemplo
1. Comparación
79
Highest Response Ratio Next (HRRN)(Primero el de mayor tasa de respuesta)
• Elige el proceso con la “tasa de respuesta” más alta.• Se considera: tiempo esperando el procesador y el tiempo de procesamiento
que necesita.
– Función de selección: máxima tasa de respuesta
– Modo de desición: sin expulsión
Tasa de Respuesta =(T. Esperando al Procesador + T. de Servicio Esperado ) / T. de Servicio Esperado
Proc Llegada Servicio
A 0 3
B 2 6
C 4 4
D 6 5
E 8 2
Entonces, el envejecimiento sin servicio (Tw) aumenta la tasa, a su vez que el menor tiempo de servicio esperado también aumenta la tasa (denominador pequeño) → prioridad a procesos “antiguos” y cortos.
80
Highest Response Ratio Next (HRRN)(Primero el de mayor tasa de respuesta)
Tasa de Respuesta =(T. Esperando al Procesador + T. de Servicio Esperado ) / T. de Servicio Esperado
Proc Llegada Servicio
A 0 3
B 2 6
C 4 4
D 6 5
E 8 2
T = 3Solo proceso Ben listos
T = 9 ->Procesos en listos:C con TR = 5 + 4 / 4 = 2.25 D = TR = (3 + 5) / 5 = 1.6E = TR = (1 + 2) / 2 = 1.5
T = 13 ->Procesos en listos:
D = TR = (7 + 5) / 5 = 2.4E = TR = (5 + 2 ) / 2 = 3.5
81
Highest Response Ratio Next (HRRN)(Primero el de mayor tasa de respuesta)
• Procesos cortos– Denominador pequeño– Tasa de respuesta alta.
• Envejecimiento sin servicio– Nominador grande.– Tasa de respuesta alta.– Los procesos largos compiten con los cortos en forma
más igualitaria.
Tasa de Respuesta =(T. Esperando al Procesador + T. de Servicio Esperado ) / T. de Servicio Esperado
1. Políticas de planificación1. Políticas de Planificación2. FCFS
• Ejemplo
1. Round Robin• Ejemplo• Virtual Roun Robin
1. SPN (Primero el proceso más corto)• Ejemplo
1. SRT (Menor Tiempo Restante)• Ejemplo
1. HRRN (Primero el de mayor tasa de respuesta)• Ejemplo
1. Feedback (Realimentación Multinivel)1. Ejemplo
2. Comparación
83
Ejemplo HRRN(Primero el de mayor tasa de respuesta)
• Uso de CPU: 29 sobre 29 = 100%• Rendimiento: 5 / 29• Tiempo medio de estancia: (11 + 7 + 24 + 23 + 16) / 5 = 81 / 5 = 16.2• Tiempo medio de espera del proc.: (4 + 1 + 12 + 12 + 10) / 5 = 39 / 5 = 7.8
Proc Llegada Ráfaga de CPU E/S Ráfaga CPU
A 0 3 2 2
B 2 6 - -
C 4 4 4 4
D 6 5 5 1
E 8 2 2 2
A: (4 + 2) / 2 = 3
C: (5 + 4) / 4 = 2,25
D: (3 + 5) / 5 = 1,6
E: (1 + 2) / 2 = 1,5
1. Políticas de planificación1. Políticas de Planificación2. FCFS
• Ejemplo
1. Round Robin• Ejemplo• Virtual Roun Robin
1. SPN (Primero el proceso más corto)• Ejemplo
1. SRT (Menor Tiempo Restante)• Ejemplo
1. HRRN (Primero el de mayor tasa de respuesta)• Ejemplo
1. Feedback (Realimentación Multinivel)1. Ejemplo
2. Comparación
85
Feedback(Realimentación Multinivel)
• En SPN, SRT y HRRN es necesario estimar el tiempo de servicio de varios procesos. Si no es posible, no se pueden utilizar.
• Otra forma de establecer preferencia sobre los trabajos más cortos es penalizar a los trabajos que han estado ejecutando más tiempo.
• Esto es: si no podemos basarnos en el tiempo de ejecución restante, nos podemos basar en el tiempo de ejecución utilizado hasta el momento.
86
Feedback(Realimentación Multinivel)
• La planificación se realiza con expulsión (por time slices), y se utilizan prioridades dinámicas.
• Cuando un proceso entra en el sistema, se sitúa en RQ0 (ver siguiente diapositiva).
• Después de su expulsión, cuando vuelve al estado Ready, se sitúa en RQ1 (cola de menor prioridad).
• …y así sucesivamente.
• De esta forma: un proceso corto sale rápido del sistema, sin descender demasiado por las colas de prioridades.
• Un proceso largo irá degradándose gradualmente.
• Dentro de cada cola (excepto la última) se utiliza FCFS (FIFO).
• En la última se utiliza Round Robin (con un quantum de tiempo).
88
Feedback(Realimentación Multinivel)
• No se dispone de información del tiempo restante de ejecución del proceso (SPN, SRT, HRRN)
• Para dar preferencia a trabajos cortos, se penaliza a los que han estado ejecutándose más tiempo.– Función de Selección: FIFO con reduccióon de prioridad tras
cada ejecución (Round Robin en la última cola).– Modo de desición: con expulsión.
Proc Llegada Servicio
A 0 3
B 2 6
C 4 4
D 6 5
E 8 2
2 colas
q=2i, 5 colas
89
Feedback(Realimentación Multinivel)
Proc Llegada Servicio
A 0 3
B 2 6
C 4 4
D 6 5
E 8 2
2 colas
q=2i, 5 colas
Q0, q = 1Q1, q = 2 Q2: q = 4Q3: q= 8Q4: q= 16
Q0: BQ1: AQ2Q3Q4
Q0: Q1: A,BQ2Q3Q4
Q0: CQ1: BQ2: Q3Q4
Q0: Q1: B,CQ2: Q3Q4
Q0: DQ1: CQ2: BQ3Q4
Q0: EQ1: C,DQ2: BQ3Q4
Q0: Q1: C,D,EQ2: BQ3Q4
Q0: Q1: D,EQ2: B,CQ3Q4
Q0: Q1: EQ2:B,C, DQ3Q4
90
Feedback(Realimentación Multinivel)
• Los procesos cortos terminan rápido, sin descender demasiado en la jerarquía de colas.
• Los procesos largos son llevados gradualmente hacia abajo.
• Problema:– Pueden sufrir inanición en colas de prioridad baja si
llegan muchos procesos cortos continuamente.
• Soluciones:– Cuanta menor es la prioridad se pueden asignar más
cuantos de tiempo de ejecución.– Tras cierto tiempo de espera en cola, se le cambia a una
cola de prioridad mayor.
91
Feedback(Realimentación Multinivel)
• Existen diversas variantes:– Apropiación en intervalos periódicos (como Round Robin)– Otras: SRT en cada cola, etc.– etc.– etc.
1. Políticas de planificación1. Políticas de Planificación2. FCFS
• Ejemplo
1. Round Robin• Ejemplo• Virtual Roun Robin
1. SPN (Primero el proceso más corto)• Ejemplo Trabajos por Lotes• Ejemplo Procesos Interactivos
1. SRT (Menor Tiempo Restante)• Ejemplo Trabajos por Lotes• Ejemplo Procesos Interactivos
1. HRRN (Primero el de mayor tasa de respuesta)• Ejemplo
1. Feedback (Realimentación Multinivel)1. Ejemplo
2. Comparación
93
Comparación1. Uso de CPU: 30 – (1) = 29/30
2. Rendimiento: 5/30
3. Tiempo de retorno (medio): (11 + 7 + 20 + 21 + 23) / 5 = 82 / 5 = 16.4
4. Tiempo de espera/respuesta (medio): (4 + 1 + 7 + 1 + 9 + 1 + 16) / 5 = 7.8
1. Uso de CPU: 29 - 0 = 29/29
2. Rendimiento: 5/29
3. Tiempo de retorno (medio): (13 + 18 + 24 + 23 + 16) / 5 = 94 / 5 = 18.8
4. Tiempo de espera/respuesta (medio): (6 + 12 + 12 + 12 + 10) / 5 = 10.4
1. Uso de CPU: 30 - 1 = 29/30
2. Rendimiento: 5/30
3. Tiempo de retorno (medio): (13 + 7 + 24 + 24 + 7) / 5 = 75 / 5 = 15
4. Tiempo de espera/respuesta (medio): (6 + 1 + 12 + 13 + 1) / 5 = 33 / 5 = 6.6
1. Uso de CPU: 34 - 5 = 29/34
2. Rendimiento: 5/34
3. Tiempo de retorno (medio): (7 + 17 + 19 + 28 + 8) / 5 = 79 / 5 = 15.8
4. Tiempo de espera/respuesta (medio): (0 + 11 + 7 + 17 + 2) / 5 = 37 / 5 = 7.4
1. Uso de CPU: 29 - 0 = 29/29
2. Rendimiento: 5/29
3. Tiempo de retorno (medio): (11 + 7 + 24 + 23 + 16) / 5 = 81 / 5 = 16.2
4. Tiempo de espera/respuesta (medio): (4 + 1 + 12 + 12 + 10) / 5 = 39 / 5 = 7.8
1. Uso de CPU: 30 - 1 = 29/30
2. Rendimiento: 5/30
3. Tiempo de retorno (medio): (21 + 23 + 24 + 18 + 11) / 5 = 97 / 5 = 19.4
4. Tiempo de espera/respuesta (medio): (14 + 17 + 12 + 13 + 6) / 5 = 62 / 5 = 12.4
FCFS
RR (q=1)
SPN
SRT
HRRN
Realimentación (q=1)