2. planificacion

48
Planificación de Proces Planificación de Proces SISTEMAS OPERATIVOS

Upload: karen-giannella-apaza

Post on 04-Nov-2015

226 views

Category:

Documents


0 download

DESCRIPTION

planificacion

TRANSCRIPT

  • Planificacin de ProcesosSISTEMAS OPERATIVOS

  • Planificacin de la CPUGestionar la comparticin de la CPU entre una comunidad de procesos/hilos.

    Planificador del SO:Un MECANISMO para la conmutacin de contextoCmo se asignar la CPUCmo se desalojar al hiloUna POLITICA determina el orden de servicio.Cundo es el momento de desalojar el hiloCul es el hilo elegible

  • Planificacin de la CPUVisin del sistema:

  • Planificacin de la CPURazones para que el hilo deje de utilizar la CPU:Completa su funcinSolicita un recursoDecide abandonar voluntariamente la CPUAbandona involuntariamente la CPU

  • Mecanismo de PlanificacinDepende de las caractersticas del Hw:Tiene temporizador?Implementado por medio de Sw del SOOrganizacin del planificador:EncoladorConmutador de contextoDistribuidor

  • Mecanismo de PlanificacinProceso PreparadoDescriptor de ProcesosLista de PreparadosDistribuidorConmutador de ContextoCPUEncoladorProceso en EjecucinDe otros Estados

  • Comparticin de la CPUComparticin voluntariaCada proceso/hilo invoca explcitamente y de modo peridico al planificadorPlanificador no apropiativoComparticin involuntariaIncluir temporizador de intervaloPlanificador apropiativo

  • Criterios de planificacinMaximizar la utilizacin de la CPU y minimizar los tiempos de retorno, de espera y de respuesta, todo ello con la mayor justicia para todos los procesos JusticiaEficienciaTiempo de retorno (turnaround time)Tiempo de esperaTiempo de respuestaRendimiento

  • PlanificadoresPlanificador a largo plazo o planificadores de trabajoPlanificadores a corto plazo o planificadores de CPUPlanificadores a mediano plano

  • Tipos de procesosLimitado por E/SBloques frecuentes de E/S.Limitado por CPURfagas grandes de procesador.

  • Planificacin no apropiativa...Planificacin Fisrt Come First Served (FCFS).El trabajo ms corto (SJF).Por prioridadesPor tiempo lmitePuede ser:

  • FCFS

    Ventajas

    El proceso que primero solicita la CPU es al primero que se le asigna.Su comportamiento es predecible.Es fcil de implementar.Es fcil de entender. Desventajas

    Las varianzas grandes en el tiempo de espera no son deseables el desempeo de un trabajo depende del comportamiento de otros trabajos.Sufre el efecto convoy

  • FCFS

    ProcesoT. Servicio0350112524753250475

  • Trabajo ms corto (SJF) Cada proceso tiene asociado la longitud de la siguiente rfaga de procesamiento.Se asigna el procesador al proceso que trae la rfaga ms corta de CPU.Esta poltica previene el efecto convoy.Si se da el caso que dos procesos tienen la misma longitud de rfaga FCFS.

  • El algoritmo SJF es ptimo en tiempo promedio de espera.Este algoritmo es probablemente el planificador ptimo para un conjunto de trabajos .Se decrementa el tiempo de respuesta (Twait) de los procesos cortos, se incrementa el Twait de los procesos largos.Se disminuye el Twait promedio.Trabajo ms corto (SJF)

  • SFJ utilizado para la planificacin a largo plazo en sistemas batchEs menos til para planificacin a corto plazo no hay manera de conocer la longitud de la siguiente rfaga de procesamiento:

    El comportamiento pasado, predice el futuro

    Trabajo ms corto (SJF)

  • Trabajo ms corto (SJF)

    ProcesoT. Servicio0350112524753250475

  • Cada proceso tiene asociado una prioridadEl proceso de mayor prioridad se ejecuta primeroProcesos de igual prioridad se usa FCFSCasos especiales:SJF prioridad es la inversa del tiempo requerido de CPU.FCFS prioridad es entregado por orden de llegada de los procesosPor Prioridades

  • No Apropiativo: se coloca al nuevo proceso en la cabeza de la cola Listo.Apropiativo: si prioridad es mayor al proceso en ejecucin, se le expropia la CPU a ste a favor del recin llegado.Por Prioridades

  • Rango o categora del usuario (multiusuario). Tipo de proceso: sistema, interactivo, o por lotes. Factores polticosRazones fsicas (sistemas de tiempo real)Cunto hayan ocupado la CPU. Criterios para definir la prioridad:Por Prioridades

  • Problema:Inanicin o HambrunaDejar a un proceso de baja prioridad esperando indefinidamente por el procesador hay algn proceso de mayor prioridad.Solucin EnvejecimientoLa prioridad de los procesos listos se incrementa gradualmente (reloj).La prioridad de los procesos que se ejecutan se va disminuyendo.

    Por Prioridades

  • Por Prioridades

    ProcesoT. ServicioPrioridad035051125224753325014754

  • Sistemas de tiempo real (estricto)El sistema ser capaz de cumplir con la planificacin de los tiempos lmites de este tipo de procesos/hilo? Precisan conocer el mximo tiempo de servicio de cada proceso, para cada periodo de vida.Debe ser admitido en la lista de preparados si el planificador garantiza que es capaz de proveerle el tiempo necesario antes del tiempo lmite impuesto.Por Tiempo lmite

  • Por Tiempo lmite

    ProcesoT. ServicioT. Limite03505751125550247510503250(none)475200

  • Procesador es tomado por un proceso/hilo con ms alta prioridadProceso creado recientemente alta prioridadProceso de alta prioridad puede ser generado por una interrupcin reemplazoProceso disminuye su prioridad reemplazoPlanificadores apropiativos sistemas de tiempo compartido. Garantiza:Tiempo de respuesta rpidos para los hilos de alta prioridadComparticin justa de la CPUPlanificacin apropiativa

  • SJF Apropiativo: Tiempo restante ms corto (SRTF)Si un proceso LISTO se verifica los tiempos faltantes de CPU.Si el nuevo es menor que el que esta ejecutndose, entonces se cambian los procesos.El proceso que estaba ejecutndose pasa a LISTOEl nuevo se empieza a ejecutar.Prioridades Apropiativo:Si Pi esta Ejecutndose, y llega Pj con mas alta prioridad, Pi es desalojadoPlanificacin apropiativa

  • QuantumCunto debe ser el quantum adecuado?Si es muy grande:Mayor aprovechamiento de CPU por usuarios.Degenara en FCFS: Usuarios de terminalesQue el sistema tarda mucho en atenderlos Es muy pequeo:Usuarios son atendidos de inmediato, pero por muy poco tiempoDegradamiento del aprovechamiento de CPU.Muchos cambios de contexto overhead

  • Sistemas multiusuario de tiempo compartidoSimilar a FCFS, aadindole la expropiacin de la CPU, cuando se sobrepasa el tiempo preestablecido.Implementacin:Cola FIFO para procesos Listos.Planificador selecciona un proceso establece una temporizacin correspondiente a la porcin de tiempo.Cede el control al proceso. Puede ocurrir:Round Robin (RR)

  • Proceso termina o realiza una operacin de E/S antes de acabar la porcin de tiempo cede CPU voluntariamente.Proceso pasa a espera.Planificador selecciona proceso de Listo.Proceso se ejecuta hasta que termine el quantum.Reloj genera un interrupcin.Expropia la CPU del proceso en ejecucin pasa a Listo.Planificador selecciona otro proceso de Listo.Round Robin (RR)

  • Ventaja:Con respecto a FCFS mejora tiempo de respuesta,Utilizacin de CPU colas Listo y Bloqueado se mantienen balanceadas.Desventaja:Tampoco se asegura que los tiempos de espera sean los mnimos posibles.Round Robin (RR)

  • Round Robin (RR)Quantum=50

    ProcesoT. Servicio0350112524753250475

  • Round Robin (RR)Tiempo de conmutacin=10Quantum=50

    ProcesoT. Servicio0350112524753250475

  • Extensin de la planificacin por prioridadesProcesos clasificados en diferentes grupos (depsitos):Procesos Interactivos (foreground).Procesos Batch (background).Cola Listo se divide en varias colas separadas tipo de proceso.Distintos algoritmos de planificacin diferentes prioridadesDos algoritmos: uno para elegir la cola de la cual se sacar el proceso y otro para elegir el proceso de la cola.Colas Mltiples Niveles MLQ

  • Puede ocurrir que en dos colas distintas se utilice la misma poltica de planificacin:RR, pero con quantum diferentes.Ordenar las colas por prioridad decreciente:Cola de alta prioridad se vaca antes de moverse a la siguiente cola.Distribuir tajadas de tiempo de CPU en las diferentes colas:Cola del sistema 60% : RRProcesos por lotes 5% : FCFSOtras : resto.Colas Mltiples Niveles

  • Colas Mltiples Niveles

  • Mezcla de las tcnicas de envejecimiento y de las mltiples colas.Las distintas colas pueden tener polticas de tiempo compartido, pero las ms prioritarias poseen menor porcin de tiempo.Un proceso se puede mover de una cola a otra:Un proceso lleva mucho tiempo en cola de poca prioridad, se le pasa a otra de mayor prioridad (evita envejecimiento)Proceso usa demasiado tiempo de CPU se pasa a una cola de menor prioridad.Colas Mltiples Niveles Retroalimentadas- MLF

  • Un proceso en la cola i que no termina su fase de CPU dentro del quantum asignado pasa al final de la siguiente cola de menor prioridad, con mayor quantum.Un proceso en la cola i que si termina su fase de CPU dentro del quantum asignado pasa al final de la siguiente cola de mayor prioridad, con menor quantum.Colas Mltiples Niveles Retroalimentadas- MLF

  • MLF est definido por:Un nmero de colasUn algoritmo de planificacin de cada cola.Un mtodo para determinar cuando ascender un proceso de una cola a otra de nivel superior.Un mtodo para determinar cuando descender un proceso de una cola a otra de ms bajo nivel.Un mtodo para determinar a que cola se ingresa al sistema.Colas Mltiples Niveles Retroalimentadas- MLF

  • Sistema Homogneo:Cualquier procesador disponible ejecuta un proceso listo.Sistema Heterogneo:Programas compilados para un procesador, se ejecutan en ese procesador.Cada procesador tiene su propia cola Listo, y su propia planificacin.Planificacin en Multiprocesadores

  • Sistema Homogneo:Planificacin por si mismo (autoploanificacin)Cada procesador es responsable de su planificacin y de sacar de la cola LISTO.Requiere sincronizacin entre procesadoresCola Listo cuello de botella.Planificacin en Multiprocesadores

  • Sistema Homogneo:Maestro/EsclavoUno de los procesadores planifica.Ejecuta el SODespacha los trabajos a los esclavos.Hace todo el procesamiento de las interrupciones.Esclavo slo ejecuta los programas.Puede ser el cuello de botella.Planificacin en Multiprocesadores

  • Cmo seleccionar una poltica de planificacin?Definir mtricas o criterios que interesenMaximizar el uso de CPUMaximizar la productividad

    Evaluacin de los algoritmos

  • Modelo deterministaConsiderar una carga de trabajo determinadaNecesita datos precisos como entrada. Las respuestas slo son vlidas para esos casosDefine el rendimiento de cada algoritmoMuy sencilloVlido cuando siempre se estn ejecutando los mismos programas y en el mismo ordenEvaluacin de los algoritmos

  • Modelo deterministaMinimizar Tespera?FCFSSJFRR (Q=10)Tespera= (0+10+39+42+49)/5 = 28 miliseg.FCFSEvaluacin de los algoritmos

    ProcesoT. Servicio1102293347512

  • Tespera= (10+32+0+3+20)/5 = 13 miliseg.SJFModelo deterministaEvaluacin de los algoritmos

    ProcesoT. Servicio1102293347512

  • Tespera= (0+32+20+24+41)/5 = 23.4 miliseg.RR (Q=10)Modelo deterministaEvaluacin de los algoritmos

    ProcesoT. Servicio1102293347512

  • SimulacionesMtodo ms preciso para medir algoritmos de planificacinConstruir un simuladorGenerara en forma aleatoria procesos, tiempos de rfagas, tiempos de llegada, etc. Problema: muy carasEvaluacin de los algoritmos

  • ImplantacionesImplantar el algoritmo en el SO y ver su funcionamientoMs exactoCaroNo adecuado para sistemas reales (experimentando)Evaluacin de los algoritmos

    * * * * * * * * * * *