Planificacion de Procesos

49
Tema 4: Planificación de Procesos Sistemas Operativos 

description

Planificacion de Procesos

Transcript of Planificacion de Procesos

  • Tema 4: Planificacin de ProcesosSistemas Operativos

  • ndice:

    1. Objetivos de la planificacin.

    2. Planificacin Apropiativa y No Apropiativa

    3. Mtodos no Apropiativos

    4. Mtodos Apropiativos*Tema 4: Planificacin de procesos

  • ndice:

    1. Objetivos de la planificacin.2. Planificacin Apropiativa y No Apropiativa

    3. Mtodos no Apropiativos

    4. Mtodos Apropiativos*Tema 4: Planificacin de procesos

  • 1. Objetivos de la planificacinTema 4: Planificacin de procesos

    Planificacin = repartir el tiempo de CPULo que hay, es lo que hay (favorecer un tipo de proceso implica perjudicar otro)

    Objetivos:Aprovechamiento de CPUDisminucin tiempos de espera por parte de procesos

  • 1. Objetivos de la planificacinTema 4: Planificacin de procesos

    Comportamiento deseableImparcialidadRepetibilidadPredecibilidadEficienciaProductividadEconomaEquilibrioOptimizar uso de recursos crticosDegradacin progresivaTiempos aceptables!

  • Tema 4: Planificacin de procesosndice:

    1. Objetivos de la planificacin.2. Planificacin Apropiativa y No Apropiativa

    3. Mtodos no Apropiativos

    4. Mtodos Apropiativos

  • Tema 4: Planificacin de procesosndice:

    1. Objetivos de la planificacin.2. Planificacin Apropiativa y No Apropiativa

    3. Mtodos no Apropiativos

    4. Mtodos Apropiativos

  • 2. Planificacin Apropiativa y No ApropiativaTema 4: Planificacin de procesos

    Planificacin no apropiativa: Existe un reloj que lanza interrupciones peridicas en las cuales el planificador toma el control y decide si el mismo proceso seguir ejecutndose o se le sedera el turno a otro proceso.

    Planificacin apropiativa:Una vez que a un proceso le toca su turno de ejecucin ya no se le puede ser suspendido, ya no se le puede arrebatar el cpu

    Planificacin NO Apropiativa:Ventajas:Menor n de conmutaciones menor sobrecarga

    Inconvenientes:Proceso largo monopoliza la CPUBaja fiabilidad

  • 2. Planificacin Apropiativa y No ApropiativaTema 4: Planificacin de procesos

    Planificacin Apropiativa:Ventajas e inconvenientes: al revs que No ApropiativaNecesaria en:Sistemas multiusuario interactivosEn determinados tipos de sistemas en tiempo real

  • Tema 4: Planificacin de procesosndice:

    1. Objetivos de la planificacin.2. Planificacin Apropiativa y No Apropiativa

    3. Mtodos no Apropiativos

    4. Mtodos Apropiativos

  • 3. Mtodos no apropiativosTema 4: Planificacin de procesos

    Por orden de llegada (FCFS)

    Siguiente el proceso ms corto (SJN)

    Por mayor ndice de penalizacin (HPRN)

    Planificacin con conocimiento de futuro

  • 3. Mtodos no apropiativosTema 4: Planificacin de procesos

    Por orden de llegada (FCFS)

    Siguiente el proceso ms corto (SJN)

    Por mayor ndice de penalizacin (HPRN)

    Planificacin con conocimiento de futuro

  • 3.1 Planificacin por orden de llegadaTema 4: Planificacin de procesos

    Ante varios procesos preparados, CPU se asigna al que lleva ms tiempo esperando

    Ventajas:SimplicidadPlanificacin necesita pocos recursos

    Inconvenientes:Malos resultados!

  • 3.1 Planificacin por orden de llegadaTema 4: Planificacin de procesosP10P2P3P4

    Perjudica a procesos cortos que llegan tras procesos largos!Ejemplo:

    P = (T. total He) / tPenalizacin P4: P= 111 / 1 = 111Penalizacin P3: P= 111 / 10 = 11,1Penalizacin P2: P= 102 / 100 = 1,02

    HetP103P21100P3210P431

  • 3. Mtodos no apropiativosTema 4: Planificacin de procesos

    Por orden de llegada (FCFS)

    Siguiente el proceso ms corto (SJN)

    Por mayor ndice de penalizacin (HPRN)

    Planificacin con conocimiento de futuro

  • 3.2 Siguiente el proceso ms cortoTema 4: Planificacin de procesos

    Ante varios procesos preparados, CPU se asigna al proceso de menor duracinP10P2P3P4

    Penalizacin P4: P= 1 / 1 = 1Penalizacin P3: P= 12 / 10 = 1,2Penalizacin P2: P= 113 / 100 = 1,13P = (T. total He) / t

  • 3.2 Siguiente el proceso ms cortoTema 4: Planificacin de procesos

    Ventajas:Mejora a FCFS en que no perjudica a procesos cortos que lleguen despus de procesos largos

    Inconvenientes: A menos que el proceso largo ya se haya activado!Cul es la duracin t de nuestros procesos?Aplazamiento indefinido procesos largos!!

  • 3. Mtodos no apropiativosTema 4: Planificacin de procesos

    Por orden de llegada (FCFS)

    Siguiente el proceso ms corto (SJN)

    Por mayor ndice de penalizacin (HPRN)

    Planificacin con conocimiento de futuro

  • 3.3 Planif. por mayor ndice de penalizacinTema 4: Planificacin de procesos

    Ante varios procesos preparados, CPU se asigna al que est sufriendo un mayor ndice de penalizacin

    P = T / t, pero si planificacin no apropiativa, T=W+t

    P = (W+t) / t = W / t + 1!!W = tiempo de espera

  • 3.3 Planif. por mayor ndice de penalizacinTema 4: Planificacin de procesosP10P3P2P2: W/t + 1=1/2 + 1 = 1,5P3: W/t + 1=1/5 + 1 = 1,2Gana P2!P3: W/t + 1=3/5 + 1 = 1,6P4: W/t + 1=1/2 + 1 = 1,5Gana P3!P4

    HetP102P212P315P432

  • 3.3 Planif. por mayor ndice de penalizacinTema 4: Planificacin de procesos

    Ventajas:Mejora a SJN en que no aplaza indefinidamente procesos largos

    Inconvenientes:Sigue perjudicando procesos cortos que llegan cuando ya ha comenzado proceso largo. Cul es la duracin t de nuestros procesos?Necesidad de realizacin de clculos

  • 3. Mtodos no apropiativosTema 4: Planificacin de procesos

    Por orden de llegada (FCFS)

    Siguiente el proceso ms corto (SJN)

    Por mayor ndice de penalizacin (HPRN)

    Planificacin con conocimiento de futuro

  • 3.4 Planificacin con conocimiento de futuroTema 4: Planificacin de procesos

    Idea a aplicar en combinacin con otros criteriosSi adivinramos que tras un proceso largo llegar en el futuro un proceso corto, obligando al largo a esperar la llegada y terminacin del corto, podemos mejorar el ndice medio de penalizacin!!P2P10CPU OCIOSA!

    HetP10100P211

  • 3.4 Planificacin con conocimiento de futuroTema 4: Planificacin de procesos

    Buena prueba de que aprovechamiento de CPU y reduccin 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)

  • Tema 4: Planificacin de procesosndice:

    1. Objetivos de la planificacin.

    2. Planificacin Apropiativa y No Apropiativa

    3. Mtodos no Apropiativos

    4. Mtodos Apropiativos

  • 4. Mtodos apropiativosTema 4: Planificacin de procesos

    Siguiente el ms corto, con apropiacin (PSJN)

    Planificacin por prioridades

    Planificacin por turno rotatorio (Round Robin)

    Planificacin por colas multinivel

    Planificacin por reparto equitativo

    Planificacin por peor servicio

  • 4. Mtodos apropiativosTema 4: Planificacin de procesos

    Siguiente el ms corto, con apropiacin (PSJN)

    Planificacin por prioridades

    Planificacin por turno rotatorio (Round Robin)

    Planificacin por colas multinivel

    Planificacin por reparto equitativo

    Planificacin por peor servicio

  • 4.1 Siguiente el ms corto, con apropiacinTema 4: Planificacin de procesos

    Planificacin SJN, en la que se tambin se aplica el criterio cada vez que llega un nuevo procesoSi proceso que llega es ms corto que tiempo restante de proceso activo APROPIACIN

    HetP10100P2110P321

  • 4.1 Siguiente el ms corto, con apropiacinTema 4: Planificacin de procesos0P2P1P3P1P2P3

    Ventajas:Ya no es problema que un proceso corto llegue una vez activado un proceso largo!

    Inconvenientes:No slo puede aplazar indefinidamente el comienzo de procesos largos, sino que adems tambin su terminacin!P2P3

    HetP10100P2110P321

  • 4. Mtodos apropiativosTema 4: Planificacin de procesos

    Siguiente el ms corto, con apropiacin (PSJN)

    Planificacin por prioridades

    Planificacin por turno rotatorio (Round Robin)

    Planificacin por colas multinivel

    Planificacin por reparto equitativo

    Planificacin por peor servicio

  • 4.2 Planificacin por prioridadesTema 4: Planificacin de procesos

    A cada proceso se le asigna una prioridadLista de procesos preparados ordenada por prioridadEl proceso activo ser siempre el de mayor prioridadSi proceso activo se bloquea se activa el primero de listaCuando un proceso pasa de bloqueado a preparado: Si mayor prioridad que proceso activo apropiacin Si menor prioridad que proceso activo se inserta en lugar correspondiente de lista de preparadosPr=2Pr=4Pr=5

  • 4.2 Planificacin por prioridadesTema 4: Planificacin de procesos

    Peligro:Posibilidad aplazamiento indefinido de procesos de menor prioridad

    Asignacin de prioridades es crtica!

    Criterios de asignacin de prioridades estticas:Sistemas en tiempo real: Sucesos ms importantes: Sucesos ms rpidos: Sistemas por lotes: Procesos con ms E/S: Sistemas interactivos: ?

  • 4.2 Planificacin por prioridadesTema 4: Planificacin de procesos

    Planificacin por prioridades mixtas:Prioridad total = prioridad esttica + prioridad dinmica

    Evolucin prioridad dinmica:Prioridad por envejecimiento Prioridad de los procesos preparados se incrementa peridicamente Si prioridad total de algn proceso preparado supera la de proceso activo APROPIACIN Proceso apropiado pasa a preparado con prioridad dinmica mnima

  • 4.2 Planificacin por prioridadesTema 4: Planificacin de procesos

    Evolucin prioridad dinmica (cont.)Por tiempo continuado de ejecucin Se establece un tiempo mximo de ejecucin continuada A procesos que agotan 100% de dicho tiempo: prioridad dinmica mnima Procesos que se bloquean antes: prioridad dinmica proporcional a tiempo sobrante.

  • 4. Mtodos apropiativosTema 4: Planificacin de procesos

    Siguiente el ms corto, con apropiacin (PSJN)

    Planificacin por prioridades

    Planificacin por turno rotatorio (Round Robin)

    Planificacin por colas multinivel

    Planificacin por reparto equitativo

    Planificacin por peor servicio

  • 4.3 Planificacin por turno rotatorioTema 4: Planificacin de procesos

    Se establece un tiempo mximo de ejecucin (ranura, cuanto, cuantum, q)Se asigna la CPU por turnos de duracin mxima = q a los procesos preparados

  • 4.3 Planificacin por turno rotatorioTema 4: Planificacin de procesos

    Consideraciones sobre el cuanto:

    Tiempo mximo empleado en una rotacin si hay N procesos: N*qTiempo de respuesta (N-1)*q

  • 4.3 Planificacin por turno rotatorioTema 4: Planificacin de procesos

    Podra q ser tan pequeo como quisiramos? P1P2P3P4P1P2

  • 4.3 Planificacin por turno rotatorioTema 4: Planificacin de procesos

    Podra q ser tan pequeo como quisiramos?

    Ideal: Un poco mayor que tiempo medio entre dos operaciones bloqueantes Procesos que no se bloquean: casi no les afecta la apropiacin.Procesos de clculo: son apropiados

  • 4.3 Planificacin por turno rotatorioTema 4: Planificacin de procesos

    Deberamos compensar a los procesos que debido a bloqueo pierden parte de su cuanto?

    Acumulacin de cuantos:La parte no consumida del cuanto se aadir al siguiente cuanto tras terminar bloqueoDifcil implementacinMonopolizacin CPU!

    Reinsercin intermediaEl proceso se reinserta en lista de preparado en posicin proporcional a tiempo no consumido

  • 4. Mtodos apropiativosTema 4: Planificacin de procesos

    Siguiente el ms corto, con apropiacin (PSJN)

    Planificacin por prioridades

    Planificacin por turno rotatorio (Round Robin)

    Planificacin por colas multinivel

    Planificacin por reparto equitativo

    Planificacin por peor servicio

  • 4.4 Planificacin por colas multinivelTema 4: Planificacin de procesosPlanificador

    El planificador tiene varias colas de procesos preparadosCada cola se puede planificar por turno rotatorioPosibilidad de diversos criterios

    Colas organizadas por prioridad:- prioridad +

  • 4.4 Planificacin por colas multinivelTema 4: Planificacin de procesosPlanificador

    Colas multinivel con realimentacin:Mtodo que se adapta a carcter dinmico de los procesosq2q4q

  • 4.4 Planificacin por colas multinivelTema 4: Planificacin de procesosPlanificador

    Colas multinivel con realimentacin:Mtodo que se adapta a carcter dinmico de los procesosq2q4q

  • 4. Mtodos apropiativosTema 4: Planificacin de procesos

    Siguiente el ms corto, con apropiacin (PSJN)

    Planificacin por prioridades

    Planificacin por turno rotatorio (Round Robin)

    Planificacin por colas multinivel

    Planificacin por reparto equitativo

    Planificacin por peor servicio

  • 4.5 Planificacin por reparto equitativoTema 4: Planificacin de procesosP1P2P31/3 CPU1/3 CPU1/3 CPU

    El problema? P41/4 CPU1/4 CPU1/2 CPU

  • 4.5 Planificacin por reparto equitativoTema 4: Planificacin de procesos

    La solucin:Crear grupos de procesos (o hilos) que reciben igual proporcin de tiempo de CPUCada grupo = grupo de reparto equitativoSi un proceso/hilo crea otro proceso/hilo, el proceso/hilo creado pertenecer al mismo grupo de reparto equitativo.P1P2P3P4P5P6

  • 4. Mtodos apropiativosTema 4: Planificacin de procesos

    Siguiente el ms corto, con apropiacin (PSJN)

    Planificacin por prioridades

    Planificacin por turno rotatorio (Round Robin)

    Planificacin por colas multinivel

    Planificacin por reparto equitativo

    Planificacin por peor servicio

  • 4.6 Planificacin por peor servicioTema 4: Planificacin de procesos

    Definir alguna medida de cmo de beneficiado o perjudicado est resultando un proceso en el reparto. Ejemplos:Tiempo que lleva en la lista de procesos preparadosTiempo total de CPU recibido en pasado recienteRelacin entre tiempo terico correspondiente y tiempo recibido

    El planificador asigna CPU a aquel proceso que est siendo peor atendidoHPRN: ejemplo (no apropiativo) de implementacin

    *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 encontrarn la CPU ocupada y tendrn que esperar. Al revs, 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.*Imparcialidad: Que cada proceso tenga la oportunidad de obtener la fraccin de tiempo que le correspondaRepetibilidad: Que con cargas de trabajo similares se obtengan comportamientos similaresPredecibilidad: El tiempo de procesador de un trabajo y el costo de ejecutarlo sean similares o al menos, proporcionales, con cualquier carga de trabajoEficiencia: Recursos trabajando la mayor parte del tiempo posibleProductividad: 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.Economa: Que la propia multiprogramacin consuma el menor n de recursos posibles. En principio, este consumo de la multiprogramacin se rentabiliza con el incremento de rendimiento que la propia multiprogramacin conlleva.Equilibrio: Mantener ocupado todos los recursos del sistema, dando si procede prioridad a los procesos que emplean los menos utilizadosOptimizar uso de recursos crticos: Favorecer a aquellos procesos que emplean recursos crticos para que estos queden libres tan pronto como sea posible.Degradacin progresiva: Degradacin lo ms uniforme posible del rendimiento del sistema con respecto a la carga de trabajo, evitando que las prestaciones del sistema decaigan bruscamente conforme aumenta el nmero de procesos en ejecucin.Tiempos aceptables: el grado de satisfaccin de los usuarios dependern en gran medida de los tiempos que tengan que esperar.

    *FCFS: First Come First Served Primero que llega, primero que se atiendeSJN: Shortest Job Next Siguiente el ms cortoHPRN: Highest Penalty Ratio Next Siguiente el de mayor ndice de penalizacin**Cada vez que hay que ejecutar la planificacin, hay que calcular los ndices de penalizacin de los procesos en estado preparado, y asignarle la CPU a aquel que muestre un mayor ndice de penalizacin.*El inconveniente de la necesidad de realizacin de clculos no es relevante en la mayora de los sistemas en que los recursos necesarios para llevarlos a cabo son prcticamente despreciables*Aqu se demuestra cmo hay veces es que aprovechamiento de la CPU y mejorar los tiempos medios de penalizacin son criterios contrapuestos (se cita en siguiente diapositiva)*En los sistemas interactivos (click) es donde este procedimiento fracasa estrepitosamente.*La prioridad esttica se asigna como en el anterior caso, y la prioridad dinmica se actualiza en tiempo de ejecucin. Hay distintas formas de actualizarla:Por envejecimientoPor tiempo continuado de ejecucin*A favor de hacer el cuanto pequeo (click), tenemos el hecho de que el tiempo de respuesta interactivo es proporcional al cuanto. A menor cuanto, menor tiempo de respuesta. *Cada vez que expira el cuanto, se produce una conmutacin. El tiempo de la conmutacin debera ser despreciable frente al tiempo til de ejecucin de los procesos, es decir, q.*Si el cuanto fuese excesivamente pequeo, nos encontraramos con que el sistema no hace otra cosa que conmutar, casi sin ejecutar cdigo til de los procesos! *Hay dos posibilidades: o no compensamos (hoy por ti, maana por m) o s compensamos. Si se decide compensar, hay dos opciones:Acumulacin de cuantosReinsercin intermedia*La duracin del cuanto es inversamente proporcional al nmero de vueltas que se le da a cada cola. De esta forma, ninguna cola tiene preferencia sobre las dems ni recibe ms 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 *Si un proceso en una cola consume varias veces seguidas su cuanto, se mover a una cola con un cuanto ms largo, pues es de suponer que podra aprovechar mejor un cuanto de ms duracin.Si por el contrario un proceso en una cola se bloquea varias veces antes de consumir su cuanto, se mover la prxima vez que pase a estado preparado a una cola de menor duracin pues es de prever que no necesita un cuanto tan largoDe esta forma, cada proceso, en cada fase de su ejecucin, se planifica en la cola que mejor se adapta a sus necesidades.

    *Supongamos tres usuarios que ejecutan procesos que (supongamos, para simplificar) slo hacen clculo. Cada usuario recibir 1/3 del ancho de banda de la CPUSi 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 dems, es decir, .Esto puede ser tanto un problema como un comportamiento deseable. Si es un problema, a continuacin la planificacin por reparto equitativo es una solucin.*Explicar:Al principio del cuanto, se le da la CPU al primer proceso de un grupoSi ste se bloquea antes de terminar el cuanto: se le da la CPU al siguiente de su grupoCuando termina el cuanto, se da un cuanto a un proceso del siguiente grupo de reparto equitativoCuando se asigna un cuanto a un grupo: la recibe el proceso al que se le retir en la anterior ocasin, o el siguiente si este se bloque.

    Ntese que dentro del grupo de reparto equitativo, la CPU rota por bloqueo. Otra posibilidad: subcuantos dentro de cada grupo.