Contenido Planificación de Procesos • • • • Tipos de planificadores Criterios del planificador a corto término Criterios de optimización Algoritmos de Planificación M. B. Ibáñez M. B. Ibáñez ¿Por qué es necesaria la planificación de procesos? Tipos de Planificadores ¿Cómo se comportan los procesos? • CPU trabaja más rápido que los dispositivos de E/S • Mientras un proceso espera por E/S, el CPU puede ejecutar otro proceso. • Pregunta a responder: ¿qué proceso ejecutar? M. B. Ibáñez New Long-term scheduling Ready, suspend Ready Medium-term scheduling Blocked, suspend Running Short-term scheduling – Se realiza cuando el proceso es creado • A término medio – Cuando los procesos son llevados a o traidos de memoria • A corto término – ¿Qué proceso ready se escoje? M. B. Ibáñez Planificadores y Transición de Estados Long-term scheduling • A largo término Exit Planificación a largo término • Determina qué programas son admitidos en el sistema para procesamiento • Controla el grado de multiprogramación • Más procesos, menor porcentaje de tiempo para que cada proceso se ejecute Blocked Medium-term scheduling M. B. Ibáñez M. B. Ibáñez 1 Planificación a medio alcance • Swapping • Basado en la necesidad de manejar multiprogramación Tipos de Planificadores • A corto término – Decide qué proceso ready es el próximo en ser ejecutado • E/S – Decide qué petición de E/S será manejada por el próximo dispositivo de E/S disponible M. B. Ibáñez Planificación a corto término • Conocido como dispatcher • Es invocado cuando un evento aparece – clock interrupts – I/O interrupts – operating system calls – signals M. B. Ibáñez Criterios del Planificador a corto término • Orientados al usuario – Tiempo de respuesta • Tiempo que transcurre entre la petición de un servicio y la obtención de un producto – Tiempo Turnaround • ¿Cuánto tarda en ejecutarse un proceso? M. B. Ibáñez M. B. Ibáñez Criterios del Planificador a corto término (cont) Criterios del Planificador a corto término (cont) • Orientados al usuario – Tiempo de espera • Orientados al usuario – Normalized turnaround time • Cantidad de tiempo en el que el trabajo está listo para ejecutarse pero no se está ejecutando • El cociente de dividir el turnaround time entre el tiempo de servicio – Tiempo de Servicio • Tiempo total de ejecución requerido M. B. Ibáñez M. B. Ibáñez 2 Criterios del Planificador a corto término • Orientados al Sistema • Relacionados con el desempeño – Utilización del CPU • El CPU debe estar ocupado tanto tiempo como sea posible – Throughput • Maximizar el número de procesos ejecutados por unidad de tiempo • • • • • Criterios del planificador a corto término – Medible a través del tiempo de respuesta y el throughput • No relacionados con el desempeño – predecibles M. B. Ibáñez M. B. Ibáñez Criterios de Optimización Prioridades Utilización máxima del CPU Máximo throughput Mínimo turnaround time Mínimo tiempo de espera Mínimo tiempo de respuesta • El planificador siempre escoge un proceso de mayor prioridad sobre otro de menor prioridad • Se tienen varias colas ready para representar el nivel de prioridad • Los de menor prioridad sufren de inanición – Se permite cambiar la prioridad de un proceso en base al tiempo que lleve esperando M. B. Ibáñez M. B. Ibáñez Colas de Prioridad RQ0 R elease Dispatch Processor RQ1 . . . Admit RQn Preemption Modos de Decisión • No intrusivo • Intrusivo – Una vez que el proceso está corriendo, continuará hasta que termine o decida bloquearse, por ejemplo por la petición de E/S Event Wait Event occurs Blocked Queue M. B. Ibáñez – El proceso que está corriendo puede ser interrumpido y movido al estado ready por el sistema de operación. – Permite mejor servicio ya que ningún proceso puede monopolizar el CPU por largo tiempo M. B. Ibáñez 3 Planificación: Primero en llegarPrimero en ser servido • Tan pronto como el proceso está listo, va a la cola de procesos ready. • Cuando el proceso actual termina su ejecución, se escoge el proceso que lleve esperando más tiempo en la cola ready Convención a seguir en los Algoritmos de Planificación Las acciones ocurren en el orden siguiente: – Cuando un nuevo proceso llega, éste se añade a la cola de procesos ready – Cuando se termina el quantum de tiempo de un proceso, éste se añade a la cola de procesos ready M. B. Ibáñez M. B. Ibáñez FCFS ejemplo Desempeño del FCFS en el ejemplo P1::3 P2::6 P3::4 P4::5 P5::2 Process 0 5 10 15 20 P1 P2 P3 P4 P5 Ready queue Arrival Time Service Time Start Time Finish Time 3 Turnaround Normalized Time Turnaround Time 3 1.00 1 0 3 0 2 2 6 3 9 7 1.17 3 4 4 9 13 9 2.25 4 6 5 13 18 12 2.40 5 8 2 18 20 12 6.00 8.60 2.56 Mean M. B. Ibáñez M. B. Ibáñez Evaluación del FCFS Efecto convoy en el FCFS • Se comporta mejor para procesos largos que para procesos cortos • El turnaround time para procesos cortos puede ser alto • Tiende a favorecer los procesos que usan extensivamente el CPU sobre los que usan mucha E/S • No es una alternativa atractiva en sí misma para sistemas uniprocesadores. Sin embargo, a menudo es una polítidca efectiva cuando se combina con prioridades M. B. Ibáñez • Considere la situación cuando hay – un proceso CPU-bound – Varios procesos I/O bound • Suponga comenzar con los I/O bound • Los I/O bound pronto hacen su primera petición por I/O, entonces el CPU-bound toma al CPU: – CPU muy ocupado, dispositivos de I/O libres • Cuando el CPU-bound termina, de nuevo los I/O bound: – CPU muy desocupado, dispositivos de I/O muy ocupados M. B. Ibáñez 4 Round-Robin (q = 1) Round-Robin • Versión intrusiva del FCFS • Nace para reducir la penalización que sufren los trabajos pequeños en el FCFS • Cada proceso toma una pequeña unidad de tiempo de CPU (time quantum), usualmente 10-100 milliseconds. Cuando termina este tiempo, el proceso es llevado al final de la cola de procesos ready. P1::3 P2::6 P3::4 P4::5 P5::2 5 10 15 Ready queue M. B. Ibáñez M. B. Ibáñez Desempeño del Round-Robin (q=1) en el ejemplo Round-Robin (q = 4) Process Arrival Time Service Time Start Time Finish Time Turnaround Normalized Time Turnaround Time 4 1.33 1 0 3 0 4 2 2 6 2 18 16 2.67 3 4 4 5 17 13 3.25 4 6 5 7 20 14 2.80 5 8 2 10 15 7 3.50 10.80 2.71 Mean P1::3 P2::6 P3::4 P4::5 P5::2 5 10 15 Ready queue M. B. Ibáñez Desempeño del Round-Robin (q=4) en el ejemplo Round Robin Comentarios Arrival Time Service Time Start Time Finish Time Turnaround Normalized Time Turnaround Time 3 1.00 1 0 3 0 3 2 2 6 3 17 15 2.5 3 4 4 7 11 7 1.75 4 6 5 11 20 14 2.80 5 8 2 17 19 Mean M. B. Ibáñez 11 5.50 10.00 2.71 20 P1 P2 P3 P4 P5 M. B. Ibáñez Process 20 P1 P2 P3 P4 P5 • Desempeño – q grande ⇒ FIFO – q pequeño ⇒ • favorece a los prpcesos pequeños • q debe ser grande con respecto al cambio de contexto, de otro modo el overhead es muy grande M. B. Ibáñez 5 Round Robin Problemas Planificación del proceso más corto primero -no intrusivo- • Tener en el sistema tanto procesos CPUbound como procesos I/O-bound • I/O bound: – CPU::bloqueo por I/O::cola ready • CPU bound : – CPU::cola ready • Política no intrusiva • Se selecciona el proceso que tenga el tiempo de procesamiento esperado más corto • Los procesos cortos se ejecutan primero que los procesos largos • Los procesos CPU bound tienen más oportunidades de usar el CPU M. B. Ibáñez M. B. Ibáñez Planificación del proceso más corto primero -no intrusivo- Planificación del proceso más corto primero -no intrusivo- P1::3 P2::6 P3::4 P4::5 P5::2 Process 0 5 10 15 Arrival Time 20 P1 P2 P3 P4 P5 P3::4 P5::2 P4::5 Service Time Start Time Finish Time 3 Turnaround Normalized Time Turnaround Time 3 1.00 1 0 3 0 2 2 6 3 9 7 1.17 3 4 4 7 15 11 2.75 4 6 5 11 20 14 2.80 5 8 2 17 11 3 1.50 7.60 1.84 Mean Se selecciona el proceso con menor tiempo de procesamiento esperado M. B. Ibáñez Planificación del proceso más corto primero no intrusivo Comentarios • Es necesario conocer, o al menos estimar, el tiempo de procesamiento requerido para cada proceso • El riesgo con esta política es la posibilidad de inanición para procesos grandes, mientras exista una gran provisión de procesos pequeños M. B. Ibáñez Planificación del proceso más corto primero intrusivo P1::3 P2::6 P3::4 P4::5 P5::2 0 5 10 15 20 P1 P2 P3 P4 P5 El planificador siempre escoge el proceso con el tiempo que resta de ejecución esperado más corto M. B. Ibáñez M. B. Ibáñez 6 Planificación del proceso más corto primero -intrusivoProcess Arrival Time Service Time Start Time Finish Time Turnaround Normalized Time Turnaround Time 3 1.00 1 0 3 0 3 2 2 6 3 15 13 2.17 3 4 4 4 8 4 1.00 4 6 5 15 20 14 2.80 5 8 2 8 10 2 1.00 7.20 1.59 Mean Planificación del proceso más corto primero intrusivo Comentarios • Hay riesgo de inanición para procesos grandes • Los procesos cortos tienen una preferencia inmediata ante tareas grandes, el tiempo tournaround normalizado para los procesos cortos es 1. • Se necesita conocer de antemano la duración de los procesos M. B. Ibáñez M. B. Ibáñez Highest Response Ratio Next Highest Response Ratio Next • Se basa en la siguiente medida: RR = (w + s) / s P1::3 P2::6 P3::4 P4::5 P5::2 5 – w = tiempo gastado esperando por el procesador – s = tiempo de espera esperado 10 15 20 P1 P2 P3 P4 P5 • Cuando el proceso actual termine o se bloquee, escoja el proceso con mayor RR Ready queue M. B. Ibáñez M. B. Ibáñez Highest Response Ratio Next Highest Response Ratio Next Comentarios Process Arrival Time Service Time Start Time Finish Time 1 0 3 0 2 2 6 3 9 7 1.17 3 4 4 9 13 9 2.25 4 6 5 15 20 14 2.80 5 8 2 13 15 7 3.50 8.00 2.14 Mean M. B. Ibáñez 3 Turnaround Normalized Time Turnaround Time 3 1.00 • Favorece a los procesos pequeños • Toma en cuenta la “edad” de los procesos de manera que los procesos largos no son penalizados • Necesita conocer de antemano el tiempo de ejecución de los procesos M. B. Ibáñez 7 Feedback Feedback • Si no podemos estimar cuánto tiempo correrá un proceso, entonces trabajemos en función del tiempo que lleva corriendo hasta ahora • Otra forma de establecer preferencias por los trabajos pequeños es penalizar aquellos que llevan corriendo gran cantidad de tiempo. • Los procesos son enviados a la próxima cola con menor prioridad cada vez que deban ir a la cola de procesos ready • Los procesos más grandes están en las colas ready de más abajo, las de menor prioridad • La última cola es tratada como Round-Robin. Cuando un proceso llega a esta cola permanece en ella hasta completar su ejecución. • Todas las demás colas son tratadas como FCFS. M. B. Ibáñez M. B. Ibáñez Colas en el Feedback Feedback Comentarios Release RQ0 Admit Processor Release RQ1 Processor ... ... Release RQn Processor • El turnaround time de los procesos grandes puede incrementarse de manera alarmante • Si entran constantemente al sistema pequeños procesos, los procesos grandes pueden morir de inanición • Para evitar esto incrementemos la cantidad de tiempo que un proceso puede correr a medida que esté en una cola de menor prioridad M. B. Ibáñez M. B. Ibáñez Feedback (q=2^(i-1)) Feedback P1::3 P2::6 P3::4 P4::5 P5::2 Process 5 10 P1 P2 P3 P4 P5 Ready queue 15 20 Arrival Time Service Time Start Time Finish Time 0 3 0 4 2 2 6 3 17 15 2.50 3 4 4 4 18 14 3.50 4 6 5 6 20 14 2.80 5 8 2 7 14 6 3.00 10.60 2.63 Mean M. B. Ibáñez Turnaround Normalized Time Turnaround Time 4 1.33 1 M. B. Ibáñez 8