Planificación de Procesos Sistemas Operativos Planificación de Procesos Mario Medina (mariomedina@udec.cl) If you think it s simple, then you have misunderstood the problem Si crees que es simple, no has entendido el problema jarne Stroustroup, charla en Temple University, 11/25/97 Tipos de planificación Planificación a largo plazo: uándo añadir procesos al conjunto de procesos a ejecutar Planificación a mediano plazo: uándo añadir procesos al conjunto de procesos en memoria Planificación a corto plazo: Qué proceso ejecutar ahora Planificación de ntrada/salida: Qué solicitud de /S pendiente atender ahora Planificación de procesos Objetivo es maximizar el desempeño del sistema fecta al grado de multiprogramación fecta al tiempo de respuesta de un proceso fecta a la utilización del procesador Sistemas Operativos, 2008-1 Sistemas Operativos, 2008-1 1 Planificación a Largo y Mediano Plazo Planificación a Largo Plazo etermina cuándo y qué procesos son admitidos en el sistema etermina el grado de multiprogramación riterios Prioridades Orden de llegada Requerimientos de tiempos de ejecución esperados Saturación de procesos No requiere cambios muy frecuentemente Long-term Ready/ New Long-term Ready Short-term Running xit Planificación a Mediano Plazo uándo transferir procesos entre memoria y disco riterios relativos a Memoria Virtual Liberar memoria de un proceso para mejorar el desempeño del resto de los procesos en espera Planificación a orto Plazo locked/ Figure 9.1 locked Scheduling and Process State Transitions Invocado con mucha frecuencia signa PU a procesos listos Sistemas Operativos, 2008-1 2
Running Ready atch jobs Long-term Ready Queue Time-out Short-term locked Short Term Interactive users Ready, Queue locked, locked, Queue Ready, Medium Term vent locked Queue vent Wait Long Term Figure 9.3 Queuing iagram for Scheduling New xit Figure 9.2 Levels of Scheduling Planificación a orto Plazo riterios Tiempo de retorno (T r ) Tiempo transcurrido entre lanzamiento de un proceso y su término (procesos batch) Tiempo de respuesta (T s ) Tiempo transcurrido entre solicitud y respuesta (procesos interactivos) Plazos Maximizar porcentaje de plazos cumplidos (procesos de tiempo real) Previsibilidad Minimizar variaciones en el tiempo de respuesta Productividad Procesos terminados por unidad de tiempo (apto para procesos batch) Utilización del procesador Porcentaje de tiempo que el procesador está ocupado (sistemas de tiempo compartido) quidad vitar inanición de procesos Prioridades Favorecer a los procesos de mayor prioridad (sistemas con prioridades de procesos) quilibrio de Recursos Mantener ocupados los recursos del sistema favoreciendo a los procesos que no usan recursos sobrecargados dmit vent occurs RQ0 RQ1 RQn locked Queue ispatch Preemption vent Wait Figure 9.4 Priority Queuing Sistemas Operativos, 2008-1 3
lgoritmos de Planificación Turno Rotatorio (Round-Robin) Primero-en Llegar, Primero-en-Servirse (First-ome, First- Served) tiende al proceso que lleva más tiempo esperando ste proceso se ejecuta hasta que termina Proceso monopoliza el procesador Tiempo de respuesta puede ser alto Tiempo de retorno normalizado Razón entre el tiempo de retorno y el tiempo de servicio Tr Ts Penaliza los procesos cortos Penaliza los procesos que hacen mucha /S Uso ineficiente de PU y recursos de /S vita la inanición Por sí solo, no es atractivo FFS con prioridades olas FFS por cada nivel de prioridad Planificación realimentada Interrupciones periódicas de reloj ada proceso recibe una fracción de tiempo llamada Quantum Terminado el quantum, se le quita la PU al proceso Poĺıtica expropiativa uración del quantum es clave Quantum muy pequeño sobrecarga al sistema Quantum muy grande degenera en FFS Utilizado en sistemas de propósito general Sistemas de tiempo compartido (Timesharing) Penaliza a procesos que hacen mucha /S y usan poca PU Nunca usan su quantum completo Virtual Round Robin ola FIFO auxiliar para procesos bloqueados por /S ola auxiliar tiene preferencia sobre procesos listos Más equitativo que Round-Robin vita la inanición Sistemas Operativos, 2008-1 4 Sistemas Operativos, 2008-1 5 Time Process allocated time quantum Interaction complete Time-out Response time s Quantum q q - s dmit Ready Queue ispatch (a) Time quantum greater than typical interaction Process allocated time quantum Process preempted Process allocated time quantum Interaction complete uxiliary Queue q Other run (b) Time quantum less than typical interaction s I/O 1 I/O 2 I/O 1 Queue I/O 2 Queue I/O 1 Wait I/O 2 Wait Figure 9.6 ffect of Size of Preemption Time Quantum I/O n I/O n Queue I/O n Wait Figure 9.7 Queuing iagram for Virtual Round-Robin Scheduler
Proceso Más orto Primero y Menor Tiempo Restante Primero Mayor Tasa de Respuesta Primero Shortest Process Next (SPN) Selecciona el proceso con menor tiempo esperado de ejecución Proceso se ejecuta hasta terminar Necesario conocer estimación de tiempo uen tiempo de respuesta para procesos cortos Penaliza procesos largos No evita inanición lta productividad Mayor variabilidad en los tiempos de respuesta Menor previsibilidad No es adecuado para sistemas de tiempo compartido Shortest Remaining Time (SRT) Versión expropiativa de SPN Si llega un proceso corto, puede quitarle PU al proceso en ejecución Requiere conocer estimación de tiempo No requiere interrupciones periódicas de reloj Highest Response Ratio Next (HRRN) Tasa de Respuesta efinida como R = w + s s donde s es el tiempo de servicio esperado y w el tiempo que lleva esperando Método elige proceso con mayor R Método favorece los procesos cortos (s pequeño) Método da prioridad a los procesos que llevan mucho tiempo esperando Requiere conocer estimación del tiempo de servicio No sujeto a inanición lta productividad uen tiempo de respuesta Sistemas Operativos, 2008-1 6 Sistemas Operativos, 2008-1 7 Realimentación multinivel ombina prioridades con colas FFS Planificación expropiativa por quantums dmit RQ0 Primera ejecución tiene alta prioridad jecuciones posteriores tienen prioridad menor q =1: prioridad de proceso disminuye cada vez que se ejecuta q =2 i : tiempo de expropiación variable Primera ejecución por 1 quantum Segunda ejecución por 2 quantums... Método favorece procesos cortos Puede sufrir de inanición Puede ser combinado con promoción de prioridades en función de w RQ1 RQn Figure 9.10 Feedback Scheduling Sistemas Operativos, 2008-1 8
Table 9.4 Process Scheduling xample 0 5 10 15 20 Process rrival Time Service Time 0 3 2 6 4 4 6 5 8 2 First-ome-First Served (FFS) Round-Robin (RR), q = 1 Round-Robin (RR), q = 4 Shortest Process Next (SPN) Shortest Remaining Time (SRT) Highest Response Ratio Next (HRRN) Feedback q = 1 Feedback q = 2 i 0 5 10 15 20 Figure 9.5 omparison of Scheduling Policies Selection Function Table 9.3 haracteristics of Various Scheduling Policies ecision Mode FFS max[w] Nonpreemptive Round Robin constant Preemptive (at time quantum) Throughput Not emphasized May be low if quantum is too small SPN min[s] Nonpreemptive High SRT min[s e] HRRN Feedback Preemptive (at arrival) High max w + s Nonpreemptive High s (see text) Preemptive (at time quantum) Not emphasized w = time spent waiting e = time spent in execution so far s = total service time required by the process, including e Response Time May be high, especially if there is a large variance in process execution times for short for short Overhead Minimum ffect on Processes Penalizes short ; penalizes I/O bound Starvation No Minimum Fair treatment No an be high an be high Penalizes long Penalizes long Possible Possible an be high Good balance No May favor I/O Not emphasized an be high bound Possible Table 9.5 omparison of Scheduling Policies Process rrival Time 0 2 4 6 8 Service Time (Ts) 3 6 4 5 2 Mean FFS Finish Time 3 9 13 18 20 Turnaround Time (Tr) 3 7 9 12 12 8.60 Tr/Ts 1.00 1.17 2.25 2.40 6.00 2.56 RR q = 1 Finish Time 4 18 17 20 15 Turnaround Time (Tr) 4 16 13 14 7 10.80 Tr/Ts 1.33 2.67 3.25 2.80 3.50 2.71 RR q = 4 Finish Time 3 17 11 20 19 Turnaround Time (Tr) 3 15 7 14 11 10.00 Tr/Ts 1.00 2.5 1.75 2.80 5.50 2.71 SPN Finish Time 3 9 15 20 11 Turnaround Time (Tr) 3 7 11 14 3 7.60 Tr/Ts 1.00 1.17 2.75 2.80 1.50 1.84 SRT Finish Time 3 15 8 20 10 Turnaround Time (Tr) 3 13 4 14 2 7.20 Tr/Ts 1.00 2.17 1.00 2.80 1.00 1.59 HRRN Finish Time 3 9 13 20 15 Turnaround Time (Tr) 3 7 9 14 7 8.00 Tr/Ts 1.00 1.17 2.25 2.80 3.5 2.14 F q = 1 Finish Time 4 20 16 19 11 Turnaround Time (Tr) 4 18 12 13 3 10.00 Tr/Ts 1.33 3.00 3.00 2.60 1.5 2.29 F q = 2i Finish Time 4 17 18 20 14 Turnaround Time (Tr) 4 15 14 14 6 10.60 Tr/Ts 1.33 2.50 3.50 2.80 3.00 2.63
Tiempo de Respuesta Tiempo de reacción frente a una entrada dada lave para el rendimiento de aplicaciones interactivas alance entre tiempo de respuesta del usuario y tiempo de respuesta del sistema < 0.1s Tiempo de respuesta esperado para interacción con usuario (mouse, teclado) < 1s plicaciones gráficas requieren tiempos de respuesta cortos para mantener atención del usuario < 2s Trabajo interactivo frente a la pantalla < 4s Inadecuado para interacción que requiere concentración < 15s Inadecuado para aplicaciones interactivas Web User oncentration Other Response Times Full Fast Some Medium Little interaction Slow hanging TV channels on cable service ross US telephone call connect time Point-of-sale credit card verification Making a 28.8-kbps modem connection xecuting a trade on the NY stock exchange 0 3 10 30 Time (seconds) Figure 9.21 Response Time Requirements Sistemas Operativos, 2008-1 9 Planificación de sistemas multiprocesadores Multiprocesamiento simétrico ún más complejo que sistemas monoprocesadores Sistemas heterogéneos Procesadores dedicados a tareas específicas Planificación centralizada Sistemas homogéneos (multiprocesamiento simétrico (SMP) Todos los procesadores son equivalentes Una sola cola común de procesos, o ada procesador tiene su propia cola de procesos jemplo de sistemas SMP Linux Solaris Windows 2000 Windows XP Windows Vista Migración de procesos jecución de procesos en distintos procesadores a lo largo de su vida Puede implicar migración de código y/o datos finidad de procesador ( ffinity) Procesoque se ejecutóen un procesadordado aún mantiene datos y código en su cache Puede convenir re-ejecutarlo en el mismo procesador finidad rígida: mantener a toda costa el proceso en el mismo procesador finidad flexible: dar preferencia a la ejecución en el mismo procesador alance de carga Mantener balance en la utilización de las PUs Fácil de hacer si todas las PU comparten una cola de procesos Migración por demanda: procesocuyacolaestávacía le quita procesos a procesadores más ocupados Migración planificada: proceso planificador monitorea carga de procesadores y distribuye los procesos. Sistemas Operativos, 2008-1 10 Sistemas Operativos, 2008-1 11