Planificación o calendarización Hungria Berbesi Planificación • EL propósito de la planificación del procesador consiste en asignar los procesos al procesador o los procesadores para que sean ejecutados a lo largo del tiempo, de forma tal que se cumplan los objetivos del sistema tales como tiempo de respuesta, productividad, eficiencia del procesador. Tipos de planificación • A largo plazo: se lleva a cabo al crear un proceso nuevo. Se corresponde con la decisión de añadir un nuevo proceso al conjunto de procesos activos. • A mediano plazo, es la decisión de añadir a los procesos que se encuentran parcial o totalmente en memoria y por lo tanto disponibles para ejecución. • A corto plazo, consiste en decidir que proceso en estado listo será el que se ejecute a continuación. • La planificación afecta al rendimiento del sistema, pues determina que proceso esperará y qué proceso continuará. Planificación a largo plazo. • La planificación a largo plazo determina cuáles programas son admitidos en el sistema. De esta forma determina el grado de multiprogramación. Un planificador a largo plazo puede limitar el grado de multiprogramación para ofrecer un servicio satisfactorio al conjunto de procesos actual. Cada vez que termina un trabajo, el planificador puede tomar la decisión de añadir uno o mas trabajos nuevos. • Además, si la fracción de tiempo que el procesador está desocupado excede cierto umbral, se puede volver a invocar el planificador a largo plazo. Niveles de planificación Ejecutando Listo Bloqueado Corto plazo Bloqueado suspendido Nuevo Listo suspendido Salida Mediano plazo Niveles de planificación Planificación a mediano plazo • La planificación a mediano plazo forma parte de la función de intercambio. Tiene que ver con la manera de cargar en memoria al proceso. • La planificación a corto plazo también conocido como distpacher es el de ejecución mas frecuente y toma decisiones con un mayor detalle sobre el proceso que se ejecutará a continuación. Criterios de planificación a corto plazo. • Criterios orientados al usuario y criterios orientados al sistema. • Ejemplo de orientado al usuario: tiempo de respuesta de un sistema interactivo. • Ejemplo de orientado al sistema: productividad (throughput) el ritmo en que los procesos terminan. • Capacidad de respuesta del sistema tiempo de las aplicaciones del usuario sea aceptable. • Criterios relativos al rendimiento del sistema: tiempo de respuesta y productividad. Diagrama de colas de planificación Planificación de largo plazo Tiempo de guarda Liberación Trabajos por lotes Planificación De corto plazo Usuarios interactivos Planificación de Mediano plazo Espera de eventos Ocurre un evento Cola de bloqueados Criterios de planificación • Tiempo de retorno : Es el intervalo de tiempo transcurrido entre el lanzamiento de un proceso y su finalización. • Tiempo de respuesta: Es el intervalo de tiempo transcurrido desde que se emite una solicitud hasta que comienza a recibir respuesta. • Plazos: Cuando se pueden especificar plazos de terminación de un proceso. • Previsibilidad: Un determinado trabajo se debe ejecutar aproximadamente en el mismo tiempo y con el mismo costo sin importar la carga del sistema • Productividad: La política de planificación debe intentar maximizar el número de procesos terminados por unidad de tiempo. • Utilización del procesador: Es el porcentaje de tiempo en el que el procesador está ocupado. • Equidad: En ausencia de directrices de usuario los procesos deben ser tratados de forma igual. • Prioridades: la política de planificación debe favorecer los de mayor prioridad. • Equillibrio de recursos: La política de planificación debe mantener ocupados los recursos del sistema. Uso de prioridades expedir En muchos sistemas, cada proceso tiene una prioridad y el planificador seleccionará a un proceso de mayor prioridad que a un proceso de menor prioridad Entrar Ocurre el suceso Terminar Espera del suceso Otras políticas de planificación • La función de selección determina que proceso, de entre los listos, se elige para ejecutar a continuación. La función de selección puede estar basada en prioridades, necesidades de recursos o en las características de selección de procesos. • w tiempo consumido hasta el momento esperando y ejecutando • e Tiempo consumido hasta el momento en ejecución. • s: tiempo total de servicio exigido por el proceso. Función de selección. Modo de decisión FCFS Max (w) No preferente Turno rotatorio (round robin) Constante Preferente SPN Min (s) No preferente SRT Min (s-e) Preferente HRRN Max ((w ₊s )/s) Preferente Realimentación Ver texto Preferente El modo de decisión especifica los instantes de tiempo en que se aplica la función de selección. No preferente: continua ejecutándose hasta que termina o se bloquea. Preferente: EL proceso puede ser interrumpido. Fcfs: FIRST COME FIRST SERVED • Primero en llegar, primero en servirse. Cada vez que un proceso esté listo para ejecutarse, se incorpora a la cola de listos. Cuando el proceso actual cesa en su ejecución, se selecciona el proceso mas antiguo de la cola. • Problemas: rinde mas con procesos largos que con procesos cortos. Tiende a favorecer a los procesos con carga de CPU frente a los de carga de E_S. Los dispositivos de E.S pueden estar ociosos a pesar de que haya trabajo para ellos. Turno rotatorio • Apropiación dependiente del reloj. Periódicamente se genera una interrupción de reloj. • La cuestión principal de diseño es la longitud del cuanto de tiempo o fracción que se va usar. • Problemas: Mal aprovechamiento de los dispositivos de entrada salida. Primero, el proceso mas corto.SPN • Otra forma de reducir el sesgo favorable al proceso mas largo inherente al FCFS es la política del primero el proceso más corto. • Una dificultad que plantea la política de SPN es la necesidad de conocer o por lo menos estimar el tiempo exigido por cada proceso. Menor tiempo restante SRT • El planificador elige al proceso que le queda menos tiempo esperado de ejecución. Se debe tener en cuenta los tiempos se servicios transcurridos, lo que contribuye a la sobrecarga. Primero el de mayor tasa de respuesta HRRN • La regla ahora es, cuando el proceso actual termina o se bloquea, se elige el proceso listo con un valor mayor de R. Este proceso es atractivo porque tiene en cuenta la edad del proceso. • Aunque favorece a los trabajos mas cortos el envejecimiento sin que haya servicio incrementa el valor de la razón, de manera que los procesos mas largos puedan pasar, en competición con los mas cortos. • Problema: el tiempo esperado de servicio debe estimarse antes de emplear la tecnica. Realimentación. • La planificación es preferente y se emplea un mecanismo dinámico de prioridades. Cuando un proceso entra por primera vez en el sistema, se sitúa en RQ0, cuando vuelve al estado listo después de su primera ejecución se incorpora a RQ1. Después de cada ejecución siguiente se degradará al nivel inferior de prioridad. • Problema: un proceso largo puede sufrir de inanición Comparación de rendimientos • Ciertamente, el rendimiento de las distintas políticas de planificación es un factor crítico en la elección de la política. • El rendimiento relativo depende de una gran variedad de factores: • Distribución de probabilidad de los tiempos de servicios, eficiencia de la planificación, los mecanismos de cambio de contexto, la naturaleza de las peticiones de E_S y el rendimiento del subsistema de E_S. Planificación por reparto equitativo • En un sistema multiusuario, si las aplicaciones o los trabajos pueden organizarse en forma de varios procesos o hilos se dispone de una estructura para el conjunto de procesos que no se identifica como ningún planificador tradicional. • Desde el punto de vista del usuario, el interés no está en como se comporta un proceso articular, sino como se comportan el conjunto de procesos de usuario que constituyen una aplicación.