04-procesos-planificacion

94
1 Planificación Uniprocesador Operating Systems: Fifth Edition William 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)

Upload: ovmlcabrera

Post on 31-Oct-2015

15 views

Category:

Documents


0 download

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)

1. Planificación2. Tipos de planificación3. Criterios de planificación4. Políticas de planificación

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.

1. Planificación2. Tipos de planificación3. Criterios de planificación4. Políticas de planificación

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.

6

Tipos de Planificación y el Diagrama de Transición de Estados

7

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.

Colas de Planificación

1. Planificación2. Tipos de planificación3. Criterios de planificación4. Políticas de planificación

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

1. Planificación2. Tipos de planificación3. Criterios de planificación4. Políticas de planificación

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.

23

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

42

Virtual Round-Robin

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).

87

Feedback(Realimentación Multinivel)

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)

94