Está en la página 1de 94

Operating Systems: Fifth Edition William Stallings (Prentice-Hall, 2001, ISBN 0-13-147954-7)

Presentacin basada en el material adicional del libro (ppt en ingls)

Planificacin Uniprocesador

Algunas ilustraciones y textos fueron obtenidos del material disponible en la Escuela Politcnica Superior, Universidad Autnoma de Madrid, en la asignatura Sistemas Operativos. 1

1. 2. 3. 4.

Planificacin Tipos de planificacin Criterios de planificacin Polticas de planificacin

Objetivo de la Planificacin
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. 2. 3. 4.

Planificacin Tipos de planificacin Criterios de planificacin Polticas de planificacin

Tipos de Planificacin
Planificacin a largo plazo Planificacin a medio plazo Planificacin a corto plazo Planificacin de la E/S Toma la desicin de aadir un proceso al conjunto de procesos a ejecutar. Toma la desicin de aadir un proceso al conjunto de procesos que estn parcialmente o totalmente en la memoria principal. Toma la desicin de qu proceso disponible ser ejecutado en el procesador. Toma la desicin sobre qu solicitud de E/S pendiente ser tratada por un dispositivo de E/S disponible.

Tipos de Planificacin y el Diagrama de Transicin de Estados

Planificacin a Largo Plazo


Determina cules son los programas admitidos en el sistema. Una vez admitido, un programa se convierte en un proceso y se aade al estado:
Ready: cola del planificador a corto plazo Ready Suspended: cola de medio plazo

Controla el grado de multiprogramacin.


Cunto mayor el nmero de procesos creados, menor el porcentaje de tiempo que cada proceso se puede ejecutar.
8

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

Cundo agregar un proceso? Qu trabajo elegir?


9

Planificacin a Largo Plazo


Cuntos procesos adicionales?
limitar el nmero para dar un buen servicio. New: cada vez que termina un proceso o si el porcentaje de utilizacin del procesador es bajo.

Qu procesos inclur?
Algortmos de planificacin
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 saturacin (ej: mx. n de procesos, carga de procesador, nmero de usuarios, ).

Darle al sistema una mezcla de procesos 10 que maximice su utilizacin.

Planificacin a Medio Plazo


La planificacin a mediano plazo es parte de la funcin de intercambio.
Gestin de memoria, memoria virtual, estados suspendidos.

Encargado de mover procesos de memoria principal al dispositivo de intercambio (swap). Decide cundo un proceso pasa a estado de suspendido y cuando vuelve a listo.

11

Planificacin a Medio Plazo


La desicin de intercambio se basa en la necesidad de gestionar el grado de multiprogramacin. La desicin de meter un proceso en la memoria, tendr en cuenta las necesidades de memoria de los procesos que estn fuera de la misma.

12

Planificacin a Corto Plazo


Decide que proceso ser el prximo a ejecutarse.
Su objetivo es repartir el tiempo del procesador de forma que se optimice el comportamiento de 1 o ms elementos del sistema.

Planificador a corto plazo = dispatcher, activador. Es el planificador de ejecucin ms frecuente. Se ejecuta cuando se interrumpe la ejecucin de un proceso:
Interrupcin del reloj. Interrupciones de E/S. Llamadas al sistema operativo. Seales.
13

Colas de Planificacin

1. 2. 3. 4.

Planificacin Tipos de planificacin Criterios de planificacin Polticas de planificacin

Criterios de la Planificacin a Corto Plazo


Orientados al usuario: comportamiento del sistema visible al usuario:
Tiempo de estancia / tiempo de ejecucin (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 ejecucin y bloqueado.

Tiempo de respuesta (Ta):


Tiempo transcurrido entre que el proceso se agrega a listos y en que se comienza a ejecutar (aparicin de la respuesta). Apropiado para procesos interactivos (el usuario quiere respuestas rpidas 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 debera ejecutarse aproximadamente en el mismo tiempo y con el mismo coste a pesar de la carga del sistema.
16

Criterios de la Planificacin a Corto Plazo


Orientados al sistema: uso efectivo y eficiente del procesador:
Rendimiento (throughput) (P):
La poltica de planificacin debera maximizar el nmero de procesos completados por unidad de tiempo.

Utilizacin 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 ocupacin de recursos


La poltica del planificador debera mantener ocupados los recursos del sistema. Los procesos con poco uso de un recurso deberan ser favorecidos cuando dicho recurso se encuentra sobreutilizado. 17

Criterios de la Planificacin a Corto Plazo


Los algoritmos de planificacin deberan maximizar los criterios orientados al sistema y minimizar los orientados al proceso: Optimizar el uso del procesador para conseguir ms eficiencia: max(C) Minimizar el tiempo de ejecucin medio de un proceso: min(Te). Minimizar el tiempo de respuesta medio: min(Ta). Minimzar el tiempo de espera medio: min(Tw). Maximizar el nmero de trabajos por unidad de tiempo: max(P).

18

Ejemplo

Determinar (1) la utilizacin del procesador, (2) el rendimiento, (3) el tiempo de estancia medio, (4) tiempo de respuesta medio
19

Ejemplo
Tiempo medio de ejecucin (Te)
Tiempo desde que se lanza hasta que finaliza un proceso:
suma de los tiempos de ejecucin de los procesos:
[t11 + (100 - t3)] / 2

Utilizacin 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
20

1. 2. 3. 4.

Planificacin Tipos de planificacin Criterios de planificacin Polticas de planificacin

Uso de Prioridades
Planificador selecciona, segn un algoritmo de planificacin, siempre el proceso de mayor prioridad antes que uno de menor prioridad. Mltiples colas de Ready (Listos):
una por nivel de prioridad

Los procesos de prioridad ms baja podran sufrir inanicin. Solucin:


Permitir que un proceso cambie su prioridad en funcin de su edad o su historial de ejecucin.
22

23

1. Polticas de planificacin
1. 2. 1. Polticas de Planificacin FCFS
Ejemplo Ejemplo Virtual Roun Robin Ejemplo Ejemplo Ejemplo Ejemplo

Round Robin

1. 1. 1. 1. 2.

SPN (Primero el proceso ms corto)


1.

SRT (Menor Tiempo Restante) HRRN (Primero el de mayor tasa de respuesta) Feedback (Realimentacin Multinivel) Comparacin

Polticas de Planificacin
Funcin de seleccin: cmo seleccionar el siguiente proceso a ejecutar. Puede estar basada en:
Prioridades Necesidades de recursos Caractersticas de ejecucin:
tiempo en el sistema
tiempo en el sistema hasta el momento (esperando o ejecutando)

tiempo ejecutado
tiempo de ejecucin hasta el momento

tiempo total de servicio estimado


esta cantidad debe ser estimada o proporcionada por el usuario
25

Polticas de Planificacin
Modo de decisin: momento en que se aplica la funcin de seleccin.
Sin expulsin (nonpreemptive)
Cuando un proceso pasa a ejecucin, ejecuta hasta que:
termina se bloquea en espera de E/S solicita servicios del sistema operativo

con expulsin (preemptive)


Proceso en ejecucin puede ser interrumpido y pasado a Ready por el sistema operativo por:
Nuevo proceso Proceso pasa de bloqueado a listo (interrupcin) Interrupcin de reloj

Ventaja: mejor servicio, impiden a un proceso monopolizar el procesador. Desventaja: mayor coste, ms cambios de contexto.
26

Tipos de Polticas de Planificacin


FCFS (first come first served) Round Robin SPN (shortest process next) SRT (shortest remaining time) HRRN (highest response ratio next) Retroalimentacin (Feedback)

27

Ejemplo de Polticas de Planificacin


Proceso A B C D E Tiempo de Tiempo de Llegada Servicio 0 2 4 6 8 3 6 4 5 2
28

1. Polticas de planificacin
1. 2. 1. Polticas de Planificacin FCFS
Ejemplo Ejemplo Virtual Roun Robin Ejemplo Ejemplo Ejemplo Ejemplo

Round Robin

1. 1. 1. 1. 1.

SPN (Primero el proceso ms corto)


SRT (Menor Tiempo Restante) HRRN (Primero el de mayor tasa de respuesta) Feedback (Realimentacin Multinivel) Comparacin

First-Come-First-Served (FCFS)

Cada proceso se incorpora a la cola de Ready. Cuando el proceso actual cesa su ejecucin, se selecciona el proceso ms antiguo del sistema.
Proc A B C D E Llegada 0 2 4 6 8 Servicio 3 6 4 5 2

Funcin de seleccin: mximo tiempo en la cola de ready Modelo de desicin: sin expulsin

30

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 tambin de los dispositivos de E/S.

Es tericamente justo, pero poco eficiente en tiempo medio de espera. Por s misma, no til para monoprocesadores. Planificacin efectiva combinada con colas de prioridades.
Planificacin realimentada
31

1. Polticas de planificacin
1. 2. Polticas de Planificacin FCFS Ejemplo 1. Round Robin
Ejemplo Virtual Roun Robin Ejemplo Ejemplo Ejemplo Ejemplo

1. 1. 1. 1.

SPN (Primero el proceso ms corto)


SRT (Menor Tiempo Restante) HRRN (Primero el de mayor tasa de respuesta) Feedback (Realimentacin Multinivel) Comparacin

Ejemplo FCFS
Proc A B C D E Llegada 0 2 4 6 8 Rfaga de CPU 3 6 4 5 2 E/S 2 4 5 2 Rfaga CPU 2 4 1 2

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) / 533 =9

1. Polticas de planificacin
1. 2. 1. Polticas de Planificacin FCFS
Ejemplo Ejemplo Virtual Roun Robin Ejemplo Ejemplo Ejemplo Ejemplo

Round Robin

1. 1. 1. 1. 1.

SPN (Primero el proceso ms corto)


SRT (Menor Tiempo Restante) HRRN (Primero el de mayor tasa de respuesta) Feedback (Realimentacin Multinivel) Comparacin

Round-Robin

Proc A B C D

Llegada 0 2 4 6

Reduce penalizacin a procesos cortos Usa expulsin basada en una interrupcin de reloj cada cierto intervalo de tiempo. Se determina un periodo de tiempo (cuanto, q) de uso del procesador Servicio
3 6 4 5

Funcin de seleccin: constante (con FCFS) Modo de decisin: con expulsin (cada q)

35

Round-Robin
Peridicamente, se genera interrupcin de reloj
Diseado especficamente para sistemas de tiempo compartido. Se asigna un cuanto de tiempo (10-100 ms.) de igual duracin a todos los procesos listos para ser ejecutados.

Cuando se genera la interrupcin:


El proceso en ejecucin pasa a la cola de Ready Se selecciona el siguiente trabajo de la cola (FCFS)

Tambin conocido como time slicing.


36

Round-Robin
Parmetro crtico de diseo: longitud del cuanto:
Si es muy pequeo, los procesos cortos pasan rpidamente, pero se sobrecarga el procesador (gestin interrupciones de reloj, planificacin). Si es muy grande, degenera en FCFS. Referencia: debe ser algo mayor que el tiempo necesario para una interaccin normal. Efectivo en sistemas de carcter general, tiempo compartido, procesos de transacciones. Favorece procesos con carga de procesador vs. procesos con carga de E/S (stos no aprovechan el cuanto).
37

1. Polticas de planificacin
1. 2. 1. Polticas de Planificacin FCFS
Ejemplo

Round Robin Ejemplo


Virtual Roun Robin Ejemplo Ejemplo Ejemplo Ejemplo

1. 1. 1. 1. 1.

SPN (Primero el proceso ms corto)


SRT (Menor Tiempo Restante) HRRN (Primero el de mayor tasa de respuesta) Feedback (Realimentacin Multinivel) Comparacin

Ejemplo Round Robin (q=1)


Proc A B C D E Llegada 0 2 4 6 8 Rfaga de CPU 3 6 4 5 2 E/S 2 4 5 2 Rfaga CPU 2 4 1 2

Cola ready

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

rden de encolar: 1. Vuelta de E/S 2. Nuevo 3. Acaba de ejecutarse

39

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 ms corto)
e = tiempo de ejecucin de la ltima vez (antes de espera E/S).

40

1. Polticas de planificacin
1. 2. 1. Polticas de Planificacin FCFS
Ejemplo

Round Robin Ejemplo Virtual Round Robin 1. SPN (Primero el proceso ms corto)
Ejemplo Ejemplo Ejemplo Ejemplo

1. 1. 1. 2.

SRT (Menor Tiempo Restante)


1.

HRRN (Primero el de mayor tasa de respuesta) Feedback (Realimentacin Multinivel) Comparacin

Virtual Round-Robin

42

1. Polticas de planificacin
1. 2. 1. Polticas de Planificacin FCFS
Ejemplo

Round Robin Ejemplo Virtual Roun Robin 1. SPN (Primero el proceso ms corto)
Ejemplo Ejemplo Ejemplo Ejemplo

1. 1. 1.

SRT (Menor Tiempo Restante)


HRRN (Primero el de mayor tasa de respuesta) Feedback (Realimentacin Multinivel) Comparacin

Shortest Process Next


(primero el proceso ms corto)

Proc A B C D E

Llegada 0 2 4 6 8

Servicio 3 6 4 5 2 Se selecciona el proceso con menor tiempo esperado de ejecucin. Se ejecuta completo (sin expulsin). Luego se elije otro proceso. Un proceso corto salta a la cabeza de la cola, sobrepasando a trabajos largos.

Funcin de seleccin: mnimo tiempo total de servicio Modo de decisin: sin expulsin
44

Shortest Process Next


(primero el proceso ms 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 inanicin (starvation) de procesos largos.
45

Shortest Process Next


(primero el proceso ms 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 estadsticas basadas en ejecuciones pasadas miramos suma de rfagas en una tabla del SO.

Procesos interactivos:
el SO podra guardar una media del tiempo de ejecucin de cada rfaga.

46

1. Polticas de planificacin
1. 2. 1. Polticas de Planificacin FCFS
Ejemplo

Round Robin Ejemplo Virtual Roun Robin 1. SPN (Primero el proceso ms corto) Ejemplo 1. SRT (Menor Tiempo Restante)
Ejemplo Ejemplo Ejemplo

1. 1. 1.

HRRN (Primero el de mayor tasa de respuesta)


Feedback (Realimentacin Multinivel) Comparacin

Ejemplo Shortest Process Next


Proc A B C D E Llegada 0 2 4 6 8 Rfaga de CPU 3 6 4 5 2 E/S 2 4 5 2 Rfaga CPU 2 4 1 2 Suma 5 6 8 6 4

48

Ejemplo Shortest Process Next


Proc A B C D E Llegada 0 2 4 6 8 Rfaga de CPU 3 6 4 5 2 E/S 2 4 5 2 Rfaga CPU 2 4 1 2 Suma 5 6 8 6 4

49

Ejemplo Shortest Process Next


Proc A B C D E Llegada 0 2 4 6 8 Rfaga de CPU 3 6 4 5 2 E/S 2 4 5 2 Rfaga CPU 2 4 1 2 Suma 5 6 8 6 4

50

Ejemplo Shortest Process Next


Proc A B C D E Llegada 0 2 4 6 8 Rfaga de CPU 3 6 4 5 2 E/S 2 4 5 2 Rfaga CPU 2 4 1 2 Suma 5 6 8 6 4

51

Ejemplo Shortest Process Next


Proc A B C D E Llegada 0 2 4 6 8 Rfaga de CPU 3 6 4 5 2 E/S 2 4 5 2 Rfaga CPU 2 4 1 2 Suma 5 6 8 6 4

52

Ejemplo Shortest Process Next


Proc A B C D E Llegada 0 2 4 6 8 Rfaga de CPU 3 6 4 5 2 E/S 2 4 5 2 Rfaga CPU 2 4 1 2 Suma 5 6 8 6 4

53

Ejemplo Shortest Process Next


Proc A B C D E Llegada 0 2 4 6 8 Rfaga de CPU 3 6 4 5 2 E/S 2 4 5 2 Rfaga CPU 2 4 1 2 Suma 5 6 8 6 4

54

Ejemplo Shortest Process Next


Proc A B C D E Llegada 0 2 4 6 8 Rfaga de CPU 3 6 4 5 2 E/S 2 4 5 2 Rfaga CPU 2 4 1 2 Suma 5 6 8 6 4

55

Ejemplo Shortest Process Next


Proc A B C D E Llegada 0 2 4 6 8 Rfaga de CPU 3 6 4 5 2 E/S 2 4 5 2 Rfaga CPU 2 4 1 2 Suma 5 6 8 6 4

56

Ejemplo Shortest Process Next


Proc A B C D E Llegada 0 2 4 6 8 Rfaga de CPU 3 6 4 5 2 E/S 2 4 5 2 Rfaga CPU 2 4 1 2 Suma 5 6 8 6 4

57

Ejemplo Shortest Process Next


Proc A B C D E Llegada 0 2 4 6 8 Rfaga de CPU 3 6 4 5 2 E/S 2 4 5 2 Rfaga CPU 2 4 1 2 Suma 5 6 8 6 4

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 58

Shortest Process Next


(primero el proceso ms corto)

Conclusin SPN:
Mejora rendimiento global:
Mejora el uso de CPU y rendimiento.

Posibilidad de inanicin para los procesos largos. No conveniente para tiempo compartido o procesamiento de transacciones (por la ausencia de expropiacin). Se reduce la previsibilidad de los procesos largos (pueden variar mucho de una ejecucin a otra, dependiendo de los procesos con los que compita).
59

1. Polticas de planificacin
1. 2. 1. Polticas de Planificacin FCFS
Ejemplo

Round Robin Ejemplo Virtual Roun Robin 1. SPN (Primero el proceso ms corto)
Ejemplo Ejemplo Ejemplo Ejemplo

1. 1. 1. 1.

SRT (Menor Tiempo Restante)


HRRN (Primero el de mayor tasa de respuesta) Feedback (Realimentacin Multinivel) Comparacin

Shortest Remaining Time


(Menor Tiempo Restante)

Versin "con expulsin" de la poltica Shortest Process Next. Versin preferente de SPN: elige el proceso que le queda menos tiempo esperado de ejecucin.
Debe estimar el tiempo de procesamiento.

Proc A B C D E

Llegada 0 2 4 6 8

Servicio 3 6 4 5 2

Cada vez que llega un proceso nuevo a la cola de listos se ejecuta el planificador.
Funcin de seleccin: mnimo tiempo restante de ejecucin (tiempo total tiempo consumido) Modo de decisin: con expulsin

61

Shortest Remaining Time


(Menor Tiempo Restante)

Problema: Cmo saber el tiempo esperado?


Se deben almacenar los tiempos de servicio transcurridos sobrecarga. Estimar tiempos restantes.

62

1. Polticas de planificacin
1. 2. 1. Polticas de Planificacin FCFS
Ejemplo

Round Robin Ejemplo Virtual Roun Robin 1. SPN (Primero el proceso ms corto)
Ejemplo

1.

SRT (Menor Tiempo Restante) Ejemplo 1. HRRN (Primero el de mayor tasa de respuesta)
Ejemplo Ejemplo

1. 1.

Feedback (Realimentacin Multinivel)

Comparacin

Ejemplo Shortest Remaining Time


(Menor Tiempo Restante)
Proc A B C D E Llegada 0 2 4 6 8 Rfaga de CPU 3 6 4 5 2 E/S 2 4 5 2 Rfaga CPU 2 4 1 2 T.Restante 3 6 -

64

Ejemplo Shortest Remaining Time


(Menor Tiempo Restante)
Proc A B C D E Llegada 0 2 4 6 8 Rfaga de CPU 3 6 4 5 2 E/S 2 4 5 2 Rfaga CPU 2 4 1 2 T.Restante 2 5 8 -

65

Ejemplo Shortest Remaining Time


(Menor Tiempo Restante)
Proc A B C D E Llegada 0 2 4 6 8 Rfaga de CPU 3 6 4 5 2 E/S 2 4 5 2 Rfaga CPU 2 4 1 2 T.Restante 2 4 8 -

66

Ejemplo Shortest Remaining Time


(Menor Tiempo Restante)
Proc A B C D E Llegada 0 2 4 6 8 Rfaga de CPU 3 6 4 5 2 E/S 2 4 5 2 Rfaga CPU 2 4 1 2 T.Restante 1 4 8 6 -

67

Ejemplo Shortest Remaining Time


(Menor Tiempo Restante)
Proc A B C D E Llegada 0 2 4 6 8 Rfaga de CPU 3 6 4 5 2 E/S 2 4 5 2 Rfaga CPU 2 4 1 2 T.Restante Termin 4 8 6 -

68

Ejemplo Shortest Remaining Time


(Menor Tiempo Restante)
Proc A B C D E Llegada 0 2 4 6 8 Rfaga de CPU 3 6 4 5 2 E/S 2 4 5 2 Rfaga CPU 2 4 1 2 T.Restante Termin 3 8 6 4

69

Ejemplo Shortest Remaining Time


(Menor Tiempo Restante)
Proc A B C D E Llegada 0 2 4 6 8 Rfaga de CPU 3 6 4 5 2 E/S 2 4 5 2 Rfaga CPU 2 4 1 2 T.Restante Termin 2 8 6 4

70

Ejemplo Shortest Remaining Time


(Menor Tiempo Restante)
Proc A B C D E Llegada 0 2 4 6 8 Rfaga de CPU 3 6 4 5 2 E/S 2 4 5 2 Rfaga CPU 2 4 1 2 T.Restante Termin Termin 8 6 4

71

Ejemplo Shortest Remaining Time


(Menor Tiempo Restante)
Proc A B C D E Llegada 0 2 4 6 8 Rfaga de CPU 3 6 4 5 2 E/S 2 4 5 2 Rfaga CPU 2 4 1 2 T.Restante Termin Termin 8 6 2

72

Ejemplo Shortest Remaining Time


(Menor Tiempo Restante)
Proc A B C D E Llegada 0 2 4 6 8 Rfaga de CPU 3 6 4 5 2 E/S 2 4 5 2 Rfaga CPU 2 4 1 2 T.Restante Termin Termin 8 4 2

73

Ejemplo Shortest Remaining Time


(Menor Tiempo Restante)
Proc A B C D E Llegada 0 2 4 6 8 Rfaga de CPU 3 6 4 5 2 E/S 2 4 5 2 Rfaga CPU 2 4 1 2 T.Restante Termin Termin 8 4 Termin

74

Ejemplo Shortest Remaining Time


(Menor Tiempo Restante)
Proc A B C D E Llegada 0 2 4 6 8 Rfaga de CPU 3 6 4 5 2 E/S 2 4 5 2 Rfaga CPU 2 4 1 2 T.Restante Termin Termin 8 1 Termin

75

Ejemplo Shortest Remaining Time


(Menor Tiempo Restante)
Proc A B C D E Llegada 0 2 4 6 8 Rfaga de CPU 3 6 4 5 2 E/S 2 4 5 2 Rfaga CPU 2 4 1 2 T. Restante Termin Termin Termin Termin Termin

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 76 Tiempo medio de espera de c/proeso.: (0 + 3 + 16 + 9 + 3) / 5 = 31 / 5 = 6.2

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.

77

1. Polticas de planificacin
1. 2. 1. Polticas de Planificacin FCFS
Ejemplo

Round Robin Ejemplo Virtual Roun Robin 1. SPN (Primero el proceso ms corto)
Ejemplo Ejemplo Ejemplo Ejemplo

1. 1. 1. 1.

SRT (Menor Tiempo Restante)


HRRN (Primero el de mayor tasa de respuesta) Feedback (Realimentacin Multinivel) Comparacin

Highest Response Ratio Next (HRRN)


(Primero el de mayor tasa de respuesta)

Elige el proceso con la tasa de respuesta ms alta.


Se considera: tiempo esperando el procesador y el tiempo de procesamiento que necesita. Funcin de seleccin: mxima tasa de respuesta Modo de desicin: sin expulsin
Servicio 3 6 4 5 2

Proc A B C D E

Llegada 0 2 4 6 8

Tasa de Respuesta = (T. Esperando al Procesador + T. de Servicio Esperado ) / T. de Servicio Esperado Entonces, el envejecimiento sin servicio (Tw) aumenta la tasa, a su vez que el menor tiempo de servicio esperado tambin aumenta la tasa (denominador pequeo) prioridad a procesos antiguos y cortos. 79

Highest Response Ratio Next (HRRN)


(Primero el de mayor tasa de respuesta)

T=3 Solo proceso B en listos

T = 9 ->Procesos en listos: C con TR = 5 + 4 / 4 = 2.25 D = TR = (3 + 5) / 5 = 1.6 E = TR = (1 + 2) / 2 = 1.5

T = 13 ->Procesos en listos: D = TR = (7 + 5) / 5 = 2.4 E = TR = (5 + 2 ) / 2 = 3.5

Proc A B C D E

Llegada 0 2 4 6 8

Servicio 3 6 4 5 2

Tasa de Respuesta = (T. Esperando al Procesador + T. de Servicio Esperado ) / T. de Servicio Esperado 80

Highest Response Ratio Next (HRRN)


(Primero el de mayor tasa de respuesta)

Procesos cortos
Denominador pequeo Tasa de respuesta alta.

Envejecimiento sin servicio


Nominador grande. Tasa de respuesta alta. Los procesos largos compiten con los cortos en forma ms igualitaria.
Tasa de Respuesta = (T. Esperando al Procesador + T. de Servicio Esperado ) / T. de Servicio Esperado

81

1. Polticas de planificacin
1. 2. 1. Polticas de Planificacin FCFS
Ejemplo

Round Robin Ejemplo Virtual Roun Robin 1. SPN (Primero el proceso ms corto)
Ejemplo Ejemplo

1. 1.

SRT (Menor Tiempo Restante)

HRRN (Primero el de mayor tasa de respuesta) Ejemplo 1. Feedback (Realimentacin Multinivel)


1. Ejemplo

2.

Comparacin

Ejemplo HRRN
(Primero el de mayor tasa de respuesta)
Proc Llegada 0 2 4 6 8 Rfaga de CPU 3 6 4 5 2 E/S 2 4 5 2 Rfaga CPU 2 4 1 2

A: (4 + 2) / 2 = 3 C: (5 + 4) / 4 = 2,25 D: (3 + 5) / 5 = 1,6 E: (1 + 2) / 2 = 1,5

A B C D E

Uso de CPU: 29 sobre 29 = 100% Rendimiento: 5 / 29 Tiempo medio de estancia: (11 + 7 + 24 + 23 + 16) / 5 = 81 / 5 = 16.2 83 Tiempo medio de espera del proc.: (4 + 1 + 12 + 12 + 10) / 5 = 39 / 5 = 7.8

1. Polticas de planificacin
1. 2. 1. Polticas de Planificacin FCFS
Ejemplo

Round Robin Ejemplo Virtual Roun Robin 1. SPN (Primero el proceso ms corto)
Ejemplo Ejemplo Ejemplo Ejemplo

1. 1. 1. 2.

SRT (Menor Tiempo Restante)


1.

HRRN (Primero el de mayor tasa de respuesta) Feedback (Realimentacin Multinivel) Comparacin

Feedback
(Realimentacin 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 ms cortos es penalizar a los trabajos que han estado ejecutando ms tiempo. Esto es: si no podemos basarnos en el tiempo de ejecucin restante, nos podemos basar en el tiempo de ejecucin utilizado hasta el momento.

85

Feedback
(Realimentacin Multinivel)
La planificacin se realiza con expulsin (por time slices), y se utilizan prioridades dinmicas. Cuando un proceso entra en el sistema, se sita en RQ0 (ver siguiente diapositiva). Despus de su expulsin, cuando vuelve al estado Ready, se sita en RQ1 (cola de menor prioridad). y as sucesivamente. De esta forma: un proceso corto sale rpido del sistema, sin descender demasiado por las colas de prioridades. Un proceso largo ir degradndose gradualmente. Dentro de cada cola (excepto la ltima) se utiliza FCFS (FIFO). En la ltima se utiliza Round Robin (con un quantum de tiempo).
86

Feedback
(Realimentacin Multinivel)

87

Feedback
(Realimentacin Multinivel)
2 colas
Proc A B C Llegada 0 2 4 6 8 Servicio 3 6 4 5 2

q=2i, 5 colas

D E

No se dispone de informacin del tiempo restante de ejecucin del proceso (SPN, SRT, HRRN) Para dar preferencia a trabajos cortos, se penaliza a los que han estado ejecutndose ms tiempo.
Funcin de Seleccin: FIFO con reduccion de prioridad tras cada ejecucin (Round Robin en la ltima cola). Modo de desicin: con expulsin. 88

Feedback
(Realimentacin Multinivel)
2 colas
Proc A B C Llegada 0 2 4 6 8 Servicio 3 6 4 5 2

q=2i, 5 colas
Q0, q = 1 Q1, q = 2 Q2: q = 4 Q3: q= 8 Q4: q= 16 Q0: B Q1: A Q2 Q0: Q3 Q1: A,B Q4 Q2 Q3 Q4

D E

Q0: C Q1: B Q2: Q3 Q4

Q0: Q1: B,C Q2: Q3 Q4

Q0: D Q1: C Q2: B Q3 Q4

Q0: E Q1: C,D Q2: B Q3 Q4

Q0: Q1: C,D,E Q2: B Q3 Q4

Q0: Q1: D,E Q2: B,C Q3 Q4

Q0: Q1: E Q2:B,C, D Q3 Q4

89

Feedback
(Realimentacin Multinivel) Los procesos cortos terminan rpido, sin descender demasiado en la jerarqua de colas. Los procesos largos son llevados gradualmente hacia abajo. Problema:
Pueden sufrir inanicin en colas de prioridad baja si llegan muchos procesos cortos continuamente.

Soluciones:
Cuanta menor es la prioridad se pueden asignar ms cuantos de tiempo de ejecucin. Tras cierto tiempo de espera en cola, se le cambia a una cola de prioridad mayor.
90

Feedback
(Realimentacin Multinivel) Existen diversas variantes:
Apropiacin en intervalos peridicos (como Round Robin) Otras: SRT en cada cola, etc. etc. etc.

91

1. Polticas de planificacin
1. 2. 1. Polticas de Planificacin FCFS
Ejemplo

Round Robin Ejemplo Virtual Roun Robin 1. SPN (Primero el proceso ms corto)
Ejemplo Trabajos por Lotes Ejemplo Procesos Interactivos Ejemplo Trabajos por Lotes Ejemplo Procesos Interactivos Ejemplo Ejemplo

1.

SRT (Menor Tiempo Restante)


1. 1. 2.

HRRN (Primero el de mayor tasa de respuesta)


1.

Feedback (Realimentacin Multinivel) Comparacin

Comparacin
1. 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 Realimentacin (q=1)


93

94