Beruflich Dokumente
Kultur Dokumente
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.
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.
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.
Qu procesos inclur?
Algortmos de planificacin
Simples (FIFO-FCFS) Por rendimiento del sistema: prioridades, carga del procesador, carga de E/S,
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
12
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.
Previsibilidad
Un trabajo dado debera ejecutarse aproximadamente en el mismo tiempo y con el mismo coste a pesar de la carga del sistema.
16
Prioridades
Si hay prioridades, favorecer a procesos con mayor prioridad.
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
Rendimiento (P)
Procesos realizados por unidad de tiempo:
2 / 100
1. 2. 3. 4.
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
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.
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
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
Ventaja: mejor servicio, impiden a un proceso monopolizar el procesador. Desventaja: mayor coste, ms cambios de contexto.
26
27
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.
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.
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.
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.
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
1. 1. 1. 1. 1.
SRT (Menor Tiempo Restante) HRRN (Primero el de mayor tasa de respuesta) Feedback (Realimentacin Multinivel) Comparacin
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
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)
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.
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.
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
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
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.
48
49
50
51
52
53
54
55
56
57
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
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.
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
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.
Comparacin
64
65
66
67
68
69
70
71
72
73
74
75
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
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.
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
Proc A B C D E
Llegada 0 2 4 6 8
Servicio 3 6 4 5 2
Procesos cortos
Denominador pequeo Tasa de respuesta alta.
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.
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 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.
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
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.
1. 1. 2.
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
94