La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Tema 4: Planificación de Procesos

Presentaciones similares


Presentación del tema: "Tema 4: Planificación de Procesos"— Transcripción de la presentación:

1 Tema 4: Planificación de Procesos
Sistemas Operativos Tema 4: Planificación de Procesos

2 Tema 4: Planificación de procesos
Índice: 1. Objetivos de la planificación. 2. Índices de Evaluación 3. Planificación Apropiativa y No Apropiativa 4. Métodos no Apropiativos 5. Métodos Apropiativos Tema 4: Planificación de procesos 2

3 Tema 4: Planificación de procesos
Índice: 1. Objetivos de la planificación. 2. Índices de Evaluación 3. Planificación Apropiativa y No Apropiativa 4. Métodos no Apropiativos 5. Métodos Apropiativos Tema 4: Planificación de procesos 3

4 Tema 4: Planificación de procesos
1. Objetivos de la planificación Tema 4: Planificación de procesos Planificación = repartir el tiempo de CPU “Lo que hay, es lo que hay” (favorecer un tipo de proceso implica perjudicar otro) Objetivos: Aprovechamiento de CPU Disminución tiempos de espera por parte de procesos Los objetivos pueden considerarse incluso contrapuestos, pues si nos marcamos como objetivo conseguir el mayor aprovechamiento posible de la CPU (100%) esto implicará que los trabajos que lleguen al sistema encontrarán la CPU ocupada y tendrán que esperar. Al revés, si queremos disminuir las esperas por parte de los procesos, ello implicará que la CPU no esté saturada para disponer de tiempo para los nuevos procesos que lleguen.

5 Tema 4: Planificación de procesos
1. Objetivos de la planificación Comportamiento deseable Imparcialidad Repetibilidad Predecibilidad Eficiencia Productividad Sistemas no interactivos: nº trabajos / unidad de tiempo Sistemas interactivos: tiempo de respuesta Economía Equilibrio Optimizar uso de recursos críticos Degradación progresiva ¡Tiempos aceptables! Tema 4: Planificación de procesos Imparcialidad: Que cada proceso tenga la oportunidad de obtener la fracción de tiempo que le corresponda Repetibilidad: Que con cargas de trabajo similares se obtengan comportamientos similares Predecibilidad: El tiempo de procesador de un trabajo y el coste de ejecutarlo sean similares o al menos, proporcionales, con cualquier carga de trabajo Eficiencia: Recursos trabajando la mayor parte del tiempo posible Productividad: Cantidad de trabajo desarrollado por unidad de tiempo. En sistemas no interactivo, se mide en ejecuciones de proceso por unidad de tiempo. En sistemas interactivos, se mide en tiempo de respuesta. Economía: Que la propia multiprogramación consuma el menor nº de recursos posibles. En principio, este consumo de la multiprogramación se rentabiliza con el incremento de rendimiento que la propia multiprogramación conlleva. Equilibrio: Mantener ocupado todos los recursos del sistema, dando si procede prioridad a los procesos que emplean los menos utilizados Optimizar uso de recursos críticos: Favorecer a aquellos procesos que emplean recursos críticos para que estos queden libres tan pronto como sea posible. Degradación progresiva: Degradación lo más uniforme posible del rendimiento del sistema con respecto a la carga de trabajo, evitando que las prestaciones del sistema decaigan bruscamente conforme aumenta el número de procesos en ejecución. Tiempos aceptables: el grado de satisfacción de los usuarios dependerán en gran medida de los tiempos que tengan que esperar.

6 Tema 4: Planificación de procesos
Índice: 1. Objetivos de la planificación. 2. Índices de Evaluación 3. Planificación Apropiativa y No Apropiativa 4. Métodos no Apropiativos 5. Métodos Apropiativos Tema 4: Planificación de procesos

7 Tema 4: Planificación de procesos
2. Índices de Evaluación Tema 4: Planificación de procesos T He Ht t Hc W t Tiempo de espera: W=Hc-He Tiempo de ejecución: t (¡Ojo con las operaciones E/S!) Tiempo de terminación: T= Ht-He

8 Tema 4: Planificación de procesos
2. Índices de Evaluación Tema 4: Planificación de procesos T He Ht t Hc W Tiempo de respuesta: tiempo que transcurre desde que se le introduce algún estímulo a un proceso hasta que el proceso reacciona a dicho estímulo. Ejemplo típico: tiempo transcurrido desde que se hace click con ratón hasta que se activa ventana, tiempo que transcurre desde que se pulsa una tecla hasta que aparece el carácter, etc. Tiempo del sistema (de un proceso): tiempo que el sistema operativo emplea trabajando para satisfacer las peticiones de un proceso. Tiempo de inactividad: Tiempo que el procesador está desocupado porque no tiene ningún proceso que activar. t Tiempo perdido: M= T – t Tiempo de respuesta Índice de penalización: P= T / t Tiempo del sistema Índice de respuesta: R= t / T Tiempo de inactividad

9 Tema 4: Planificación de procesos
2. Índices de Evaluación (cont.) Tema 4: Planificación de procesos Evaluación: Análisis Simulación Experimentación

10 Tema 4: Planificación de procesos
Índice: 1. Objetivos de la planificación. 2. Índices de Evaluación 3. Planificación Apropiativa y No Apropiativa 4. Métodos no Apropiativos 5. Métodos Apropiativos Tema 4: Planificación de procesos

11 Tema 4: Planificación de procesos
3. Planificación Apropiativa y No Apropiativa Tema 4: Planificación de procesos Planificación no apropiativa: Una vez asignada CPU sólo se retira en caso de bloqueo Posibilidad de devolución explícita Planificación apropiativa: El planificador puede retirar la CPU Planificación NO Apropiativa: Ventajas: Determinismo Menor nº de conmutaciones → menor sobrecarga Inconvenientes: Proceso largo monopoliza la CPU Baja fiabilidad

12 Tema 4: Planificación de procesos
3. Planificación Apropiativa y No Apropiativa Tema 4: Planificación de procesos Planificación Apropiativa: Ventajas e inconvenientes: al revés que No Apropiativa Necesaria en: Sistemas multiusuario interactivos En determinados tipos de sistemas en tiempo real

13 Tema 4: Planificación de procesos
Índice: 1. Objetivos de la planificación. 2. Índices de Evaluación 3. Planificación Apropiativa y No Apropiativa 4. Métodos no Apropiativos 5. Métodos Apropiativos Tema 4: Planificación de procesos

14 Tema 4: Planificación de procesos
4. Métodos no apropiativos Tema 4: Planificación de procesos Por orden de llegada (FCFS) Siguiente el proceso más corto (SJN) Por mayor índice de penalización (HPRN) Planificación con conocimiento de futuro FCFS: First Come First Served → Primero que llega, primero que se atiende SJN: Shortest Job Next → Siguiente el más corto HPRN: Highest Penalty Ratio Next → Siguiente el de mayor índice de penalización

15 Tema 4: Planificación de procesos
4. Métodos no apropiativos Tema 4: Planificación de procesos Por orden de llegada (FCFS) Siguiente el proceso más corto (SJN) Por mayor índice de penalización (HPRN) Planificación con conocimiento de futuro

16 Tema 4: Planificación de procesos
4.1 Planificación por orden de llegada Tema 4: Planificación de procesos Ante varios procesos preparados, CPU se asigna al que lleva más tiempo esperando Ventajas: Simplicidad Planificación necesita pocos recursos Inconvenientes: ¡Malos resultados!

17 Tema 4: Planificación de procesos
4.1 Planificación por orden de llegada Tema 4: Planificación de procesos Penalización P4: P= 111 / 1 = 111 Penalización P3: P= 101 / 10 = 10,1 Penalización P2: P= 102 / 100 = 1,02 Ejemplo: He t P1 3 P2 1 100 P3 2 10 P4 ¡Perjudica a procesos cortos que llegan tras procesos largos! 3 P4 103 113 114 2 P3 P4 1 P2 P3 P2 P1

18 Tema 4: Planificación de procesos
4. Métodos no apropiativos Tema 4: Planificación de procesos Por orden de llegada (FCFS) Siguiente el proceso más corto (SJN) Por mayor índice de penalización (HPRN) Planificación con conocimiento de futuro

19 Tema 4: Planificación de procesos
4.2 Siguiente el proceso más corto Tema 4: Planificación de procesos Ante varios procesos preparados, CPU se asigna al proceso de menor duración 3 P4 14 114 2 P3 4 P4 1 P2 P3 P2 P1 Penalización P4: P= 1 / 1 = 1 Penalización P3: P= 12 / 10 = 1,2 Penalización P2: P= 113 / 100 = 1,13

20 Tema 4: Planificación de procesos
4.2 Siguiente el proceso más corto Tema 4: Planificación de procesos Ventajas: Mejora a FCFS en que no perjudica a procesos cortos que lleguen después de procesos largos… Inconvenientes: … A menos que el proceso largo ya se haya activado! ¿Cuál es la duración t de nuestros procesos? ¡¡Aplazamiento indefinido procesos largos!!

21 Tema 4: Planificación de procesos
4. Métodos no apropiativos Tema 4: Planificación de procesos Por orden de llegada (FCFS) Siguiente el proceso más corto (SJN) Por mayor índice de penalización (HPRN) Planificación con conocimiento de futuro

22 Tema 4: Planificación de procesos
4.3 Planif. por mayor índice de penalización Tema 4: Planificación de procesos Ante varios procesos preparados, CPU se asigna al que está sufriendo un mayor índice de penalización Para conocer el índice de penalización, hay que conocer T, y para conocer el tiempo de Terminación, habría que conocer la hora de entrada Hc… a menos que, al estar en un sistema no apropiativo, sepamos que T = W + t. El tiempo de espera, sí que lo conocemos. Y el tiempo de ejecución, se supone que también lo podemos conocer. P = T / t, pero si planificación no apropiativa, T=W+t ¡¡ P = (W+t) / t = W / t + 1!!

23 Tema 4: Planificación de procesos
4.3 Planif. por mayor índice de penalización Tema 4: Planificación de procesos He t P1 2 P2 1 P3 5 P4 3 P3: W/t + 1=3/5 + 1 = 1,6 P4: W/t + 1=1/2 + 1 = 1,5 ¡Gana P3! P2: W/t + 1=1/2 + 1 = 1,5 P3: W/t + 1=1/5 + 1 = 1,2 ¡Gana P2! Cada vez que hay que ejecutar la planificación, hay que calcular los índices de penalización de los procesos en estado preparado, y asignarle la CPU a aquel que muestre un mayor índice de penalización. 3 P4 9 11 P4 2 4 1 P2,P3 P3 P2 P1

24 Tema 4: Planificación de procesos
4.3 Planif. por mayor índice de penalización Tema 4: Planificación de procesos Ventajas: Mejora a SJN en que no aplaza indefinidamente procesos largos El inconveniente de la necesidad de realización de cálculos no es relevante en la mayoría de los sistemas en que los recursos necesarios para llevarlos a cabo son prácticamente despreciables Inconvenientes: Sigue perjudicando procesos cortos que llegan cuando ya ha comenzado proceso largo. ¿Cuál es la duración t de nuestros procesos? Necesidad de realización de cálculos

25 Tema 4: Planificación de procesos
4. Métodos no apropiativos Tema 4: Planificación de procesos Por orden de llegada (FCFS) Siguiente el proceso más corto (SJN) Por mayor índice de penalización (HPRN) Planificación con conocimiento de futuro

26 Tema 4: Planificación de procesos
4.4 Planificación con conocimiento de futuro Tema 4: Planificación de procesos Idea a aplicar en combinación con otros criterios Si adivináramos que tras un proceso largo llegará en el futuro un proceso corto, obligando al largo a esperar la llegada y terminación del corto, podemos mejorar el índice medio de penalización!! Aquí se demuestra cómo hay veces es que aprovechamiento de la CPU y mejorar los tiempos medios de penalización son criterios contrapuestos (se cita en siguiente diapositiva) He t P1 100 P2 1 1 2 102 P2 P1 ¡CPU OCIOSA!

27 Tema 4: Planificación de procesos
4.4 Planificación con conocimiento de futuro Tema 4: Planificación de procesos Buena prueba de que aprovechamiento de CPU y reducción tiempos de espera pueden ser criterios contrapuestos ¿Es posible tener conocimiento de futuro? Hay sistemas en los que no es descabellado (sistemas en tiempo real)

28 Tema 4: Planificación de procesos
Índice: 1. Objetivos de la planificación. 2. Índices de Evaluación 3. Planificación Apropiativa y No Apropiativa 4. Métodos no Apropiativos 5. Métodos Apropiativos Tema 4: Planificación de procesos

29 Tema 4: Planificación de procesos
5. Métodos apropiativos Tema 4: Planificación de procesos Siguiente el más corto, con apropiación (PSJN) Planificación por prioridades Planificación por turno rotatorio (Round Robin) Planificación por colas multinivel Planificación por reparto equitativo Planificación por peor servicio

30 Tema 4: Planificación de procesos
5. Métodos apropiativos Tema 4: Planificación de procesos Siguiente el más corto, con apropiación (PSJN) Planificación por prioridades Planificación por turno rotatorio (Round Robin) Planificación por colas multinivel Planificación por reparto equitativo Planificación por peor servicio

31 Tema 4: Planificación de procesos
5.1 Siguiente el más corto, con apropiación Tema 4: Planificación de procesos Planificación SJN, en la que se también se aplica el criterio cada vez que llega un nuevo proceso Si proceso que llega es más corto que tiempo restante de proceso activo → APROPIACIÓN He t P1 100 P2 1 10 P3 2

32 Tema 4: Planificación de procesos
5.1 Siguiente el más corto, con apropiación Tema 4: Planificación de procesos Ventajas: Ya no es problema que un proceso corto llegue una vez activado un proceso largo! He t P1 100 P2 1 10 P3 2 Inconvenientes: No sólo puede aplazar indefinidamente el comienzo de procesos largos, sino que además también su terminación! P2 P3 1 2 3 12 P3 P3 111 P2 P2 P1 P1

33 Tema 4: Planificación de procesos
5. Métodos apropiativos Tema 4: Planificación de procesos Siguiente el más corto, con apropiación (PSJN) Planificación por prioridades Planificación por turno rotatorio (Round Robin) Planificación por colas multinivel Planificación por reparto equitativo Planificación por peor servicio

34 Tema 4: Planificación de procesos
5.2 Planificación por prioridades Tema 4: Planificación de procesos A cada proceso se le asigna una prioridad Lista de procesos preparados ordenada por prioridad El proceso activo será siempre el de mayor prioridad Si proceso activo se bloquea → se activa el primero de lista Cuando un proceso pasa de bloqueado a preparado: Si mayor prioridad que proceso activo → apropiación Si menor prioridad que proceso activo → se inserta en lugar correspondiente de lista de preparados Pr=6 P4 P1 P2 P3 Planificador Pr=2 Pr=4 Pr=5

35 Tema 4: Planificación de procesos
5.2 Planificación por prioridades Tema 4: Planificación de procesos Peligro: Posibilidad aplazamiento indefinido de procesos de menor prioridad ¡Asignación de prioridades es crítica! En los sistemas interactivos (click) es donde este procedimiento fracasa estrepitosamente. Criterios de asignación de prioridades estáticas: Sistemas en tiempo real: Sucesos más importantes:  Sucesos más rápidos:  Sistemas por lotes: Procesos con más E/S:  Sistemas interactivos: … ¿?

36 Tema 4: Planificación de procesos
5.2 Planificación por prioridades Tema 4: Planificación de procesos Planificación por prioridades mixtas: Prioridad total = prioridad estática + prioridad dinámica Evolución prioridad dinámica: Prioridad por envejecimiento Prioridad de los procesos preparados se incrementa periódicamente Si prioridad total de algún proceso preparado supera la de proceso activo → APROPIACIÓN Proceso apropiado pasa a preparado con prioridad dinámica mínima La prioridad estática se asigna como en el anterior caso, y la prioridad dinámica se actualiza en tiempo de ejecución. Hay distintas formas de actualizarla: Por envejecimiento Por tiempo continuado de ejecución

37 Tema 4: Planificación de procesos
5.2 Planificación por prioridades Tema 4: Planificación de procesos Evolución prioridad dinámica (cont.) Por tiempo continuado de ejecución Se establece un tiempo máximo de ejecución continuada A procesos que agotan 100% de dicho tiempo: prioridad dinámica mínima Procesos que se bloquean antes: prioridad dinámica proporcional a tiempo sobrante.

38 Tema 4: Planificación de procesos
5. Métodos apropiativos Tema 4: Planificación de procesos Siguiente el más corto, con apropiación (PSJN) Planificación por prioridades Planificación por turno rotatorio (Round Robin) Planificación por colas multinivel Planificación por reparto equitativo Planificación por peor servicio

39 Tema 4: Planificación de procesos
5.3 Planificación por turno rotatorio Tema 4: Planificación de procesos Se establece un tiempo máximo de ejecución (ranura, cuanto, cuantum, q) Se asigna la CPU por turnos de duración máxima = q a los procesos preparados P1 P2 P3 Planificador P4 P2 P3 P4 Planificador P1 P1 P2 P3 Planificador P4 P4 P1 P2 Planificador P3 P3 P4 P1 Planificador P2

40 Tema 4: Planificación de procesos
5.3 Planificación por turno rotatorio Tema 4: Planificación de procesos ¿q? Consideraciones sobre el cuanto: ¿q? A favor de hacer el cuanto pequeño (click), tenemos el hecho de que el tiempo de respuesta interactivo es proporcional al cuanto. A menor cuanto, menor tiempo de respuesta. Tiempo máximo empleado en una rotación si hay N procesos: N*q Tiempo de respuesta ≤ (N-1)*q q

41 Tema 4: Planificación de procesos
5.3 Planificación por turno rotatorio Tema 4: Planificación de procesos ¿Podría q ser tan pequeño como quisiéramos? q Cada vez que expira el cuanto, se produce una conmutación. El tiempo de la conmutación debería ser despreciable frente al tiempo útil de ejecución de los procesos, es decir, q. P1 P2 P3 P4 P1 P2 t

42 Tema 4: Planificación de procesos
5.3 Planificación por turno rotatorio Tema 4: Planificación de procesos ¿Podría q ser tan pequeño como quisiéramos? q Ideal: Un poco mayor que tiempo medio entre dos operaciones bloqueantes Procesos que no se bloquean: casi no les afecta la apropiación. Procesos de cálculo: son apropiados Si el cuanto fuese excesivamente pequeño, nos encontraríamos con que el sistema no hace otra cosa que conmutar, casi sin ejecutar código útil de los procesos! t

43 Tema 4: Planificación de procesos
5.3 Planificación por turno rotatorio Tema 4: Planificación de procesos ¿Deberíamos compensar a los procesos que debido a bloqueo pierden parte de su cuanto? Acumulación de cuantos: La parte no consumida del cuanto se añadirá al siguiente cuanto tras terminar bloqueo Difícil implementación ¡Monopolización CPU! Hay dos posibilidades: o no compensamos (hoy por ti, mañana por mí) o sí compensamos. Si se decide compensar, hay dos opciones: Acumulación de cuantos Reinserción intermedia Reinserción intermedia El proceso se reinserta en lista de preparado en posición proporcional a tiempo no consumido

44 Tema 4: Planificación de procesos
5. Métodos apropiativos Tema 4: Planificación de procesos Siguiente el más corto, con apropiación (PSJN) Planificación por prioridades Planificación por turno rotatorio (Round Robin) Planificación por colas multinivel Planificación por reparto equitativo Planificación por peor servicio

45 Tema 4: Planificación de procesos
5.4 Planificación por colas multinivel Tema 4: Planificación de procesos El planificador tiene varias colas de procesos preparados Cada cola se puede planificar por turno rotatorio Posibilidad de diversos criterios Colas organizadas por “prioridad”: P1 P2 P3 P4 P5 P6 P7 - prioridad + Planificador

46 Tema 4: Planificación de procesos
5.4 Planificación por colas multinivel Tema 4: Planificación de procesos Colas multinivel con realimentación: Método que se adapta a carácter dinámico de los procesos 4x La duración del cuanto es inversamente proporcional al número de vueltas que se le da a cada cola. De esta forma, ninguna cola tiene preferencia sobre las demás ni recibe más cantidad de servicio. Todas las colas reciben la misma cantidad de servicio, la diferencia es que unas las reciben “en calderilla” y otras “en billetes grandes”  P4 P5 P1 P2 P3 P6 P7 q Planificador 2x 2q 1x 4q

47 Tema 4: Planificación de procesos
5.4 Planificación por colas multinivel Tema 4: Planificación de procesos Colas multinivel con realimentación: Método que se adapta a carácter dinámico de los procesos Si un proceso en una cola consume varias veces seguidas su cuanto, se moverá a una cola con un cuanto más largo, pues es de suponer que podría aprovechar mejor un cuanto de más duración. Si por el contrario un proceso en una cola se bloquea varias veces antes de consumir su cuanto, se moverá la próxima vez que pase a estado preparado a una cola de menor duración pues es de prever que no necesita un cuanto tan largo De esta forma, cada proceso, en cada fase de su ejecución, se planifica en la cola que mejor se adapta a sus necesidades. P1 P2 P3 P6 P7 q Planificador 2q P4 P5 4q

48 Tema 4: Planificación de procesos
5. Métodos apropiativos Tema 4: Planificación de procesos Siguiente el más corto, con apropiación (PSJN) Planificación por prioridades Planificación por turno rotatorio (Round Robin) Planificación por colas multinivel Planificación por reparto equitativo Planificación por peor servicio

49 Tema 4: Planificación de procesos
5.5 Planificación por reparto equitativo Tema 4: Planificación de procesos El ¿problema? 1/3 CPU 1/4 CPU 1/3 CPU 1/4 CPU 1/3 CPU 1/2 CPU Supongamos tres usuarios que ejecutan procesos que (supongamos, para simplificar) sólo hacen cálculo. Cada usuario recibirá 1/3 del ancho de banda de la CPU Si uno de ellos se da cuenta que puede desdoblar su proceso en dos procesos separados (o dos hilos) que se ejecuten concurrentemente (click), cada proceso/hilo recibirá ¼ de tiempo de CPU, con lo que el usuario avispado recibirá el doble de servicio que los demás, es decir, ½. Esto puede ser tanto un problema como un comportamiento deseable. Si es un problema, a continuación la planificación por reparto equitativo es una solución. P1 P2 P3 P4

50 Tema 4: Planificación de procesos
5.5 Planificación por reparto equitativo Tema 4: Planificación de procesos La solución: Crear grupos de procesos (o hilos) que reciben igual proporción de tiempo de CPU Cada grupo = grupo de reparto equitativo Si un proceso/hilo crea otro proceso/hilo, el proceso/hilo creado pertenecerá al mismo grupo de reparto equitativo. Explicar: Al principio del cuanto, se le da la CPU al primer proceso de un grupo Si éste se bloquea antes de terminar el cuanto: se le da la CPU al siguiente de su grupo Cuando termina el cuanto, se da un cuanto a un proceso del siguiente grupo de reparto equitativo Cuando se asigna un cuanto a un grupo: la recibe el proceso al que se le retiró en la anterior ocasión, o el siguiente si este se bloqueó. Nótese que dentro del grupo de reparto equitativo, la CPU rota por bloqueo. Otra posibilidad: subcuantos dentro de cada grupo. G3 G1 P4 G2 P1 P5 P3 P2 P6

51 Tema 4: Planificación de procesos
5. Métodos apropiativos Tema 4: Planificación de procesos Siguiente el más corto, con apropiación (PSJN) Planificación por prioridades Planificación por turno rotatorio (Round Robin) Planificación por colas multinivel Planificación por reparto equitativo Planificación por peor servicio

52 Tema 4: Planificación de procesos
5.6 Planificación por peor servicio Tema 4: Planificación de procesos Definir alguna medida de cómo de beneficiado o perjudicado está resultando un proceso en el reparto. Ejemplos: Tiempo que lleva en la lista de procesos preparados Tiempo total de CPU recibido en pasado reciente Relación entre tiempo teórico correspondiente y tiempo recibido El planificador asigna CPU a aquel proceso que esté siendo peor atendido HPRN: ejemplo (no apropiativo) de implementación

53 Puente Nuevo en Ronda, Málaga. Octubre de 2007


Descargar ppt "Tema 4: Planificación de Procesos"

Presentaciones similares


Anuncios Google