Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Mdulo 5
Departamento de Ciencias e Ingeniera de la Computacin Universidad Nacional del Sur
Planificacin de Procesos
Conceptos Bsicos Criterios de Planificacin Algoritmos de Planificacin Planificacin de Mltiples Procesadores Planificacin en Tiempo Real Planificacin de hilos Ejemplos de Sistemas Operativos Planificacin en hilos Java Evaluacin Algoritmos
JRA 2008
Conceptos Bsicos
Mxima utilizacin de CPU obtenida con
multiprogramacin
Ciclo CPUrfagas (bursts) de E/S La ejecucin de
JRA 2008
JRA 2008
Planificador de CPU
Selecciona entre los procesos en memoria que estn
cuando un proceso: 1. Conmuta de ejecutando a estado de espera. 2. Conmuta de ejecutando a estado de listo. 3. Conmuta de espera a listo. 4. Termina.
La planificacin de 1 y 4 es no apropiativa. Las otras planificaciones son apropiativas.
JRA 2008
Despachador
El mdulo despachador pasa el control de la CPU al
cambio de contexto conmutacin a modo usuario salta a la direccin apropiada en el programa de usuario para reiniciarlo
JRA 2008
Criterios de Planificacin
Utilizacin de CPU mantener la CPU tan ocupada
como sea posible Procesamiento total (Throughput) nmero de procesos que completan sus ejecucin por unidad de tiempo.
Tiempo de retorno cantidad de tiempo para ejecutar
un determinado proceso. Tiempo de Espera cantidad de tiempo que un proceso ha estado esperando en las colas. Tiempo de respuesta cantidad de tiempo que transcurre desde que fue hecho un requerimiento hasta que se produce la primer respuesta, no salida.
Sistemas Operativos Planificacin de Procesos
JRA 2008
Criterios de Optimizacin
Maximizar la utilizacin de CPU Maximizar el procesamiento total Minimizar el tiempo de retorno Minimizar el tiempo de espera Minimizar el tiempo de respuesta
JRA 2008
Proceso P1 P2 P3
Tiempo de Rfaga 24 3 3
P2 0 3
P3 6
P1 30
Tiempo de espera para P1 = 6; P2 = 0; P3 = 3 Tiempo medio de espera: (6 + 0 + 3)/3 = 3 Mucho mejor que el caso anterior. Efecto Convoy los procesos cortos delante de los procesos
largos
JRA 2008 Sistemas Operativos Planificacin de Procesos
rfaga de CPU. Se usa estas longitudes para planificar los procesos con el tiempo mas corto. Dos esquemas: No apropiativo una vez que la CPU es dada a un proceso, no puede ser apropiada hasta que el mismo complete su rfaga de CPU. Apropiativo si un nuevo proceso llega con una longitud de rfaga de CPU menor que el resto del tiempo de ejecucin que le queda al proceso que est ejecutando entonces se apropia de la CPU. Este esquema es conocido como El Tiempo Remanente Mas Corto Primero (SRTF). SJF es ptimo da el mnimo tiempo de espera promedio para un dado conjunto de procesos.
Rfaga 7 4 1 4
P1
P3
P2
P4
JRA 2008
Rfaga 7 4 1 4
P1
P2
P3
P2
P4
P1 16
JRA 2008
(entero mas pequeo mas alta prioridad o el entero mas grande, depende de la convencin).
Apropiativo No apropiativo
SJF es un algoritmo planificador con prioridad. Problema Inanicin los procesos de baja
CPU (quantum), usualmente 10-100 milisegundos. Luego de este tiempo el proceso es quitado de la CPU y agregado a la cola de listos.
Si hay n procesos en la cola de listos y el tiempo del
quantum es q, entonces cada proceso toma 1/n del tiempo de CPU en rebanadas de a lo sumo q unidades de tiempo a la vez. Los procesos no esperan mas que (n-1)q unidades de tiempo.
Rendimiento
q largo Primero-Entrar, Primero-Salir q chico q debe ser grande con respecto al cambio de contexto, sino la sobrecarga es demasiado grande.
Sistemas Operativos Planificacin de Procesos
JRA 2008
P4
La carta de Gantt:
24
P1 0 20
P2 37
P3 57
P4 77
P1
P3 97 117
P4
P1
P3
P3
JRA 2008
tiempo de proceso = 10
quantum
conmutacin contexto
JRA 2008
Colas Multinivel
La cola de listos esta particionada en colas separadas:
foreground (interactive) background (batch) Cada cola tiene su propio algoritmo de planificacin, foreground RR background FCFS La planificacin debe ser hecha entre las colas. Planificacin con prioridad fija; p.e., servir desde el foreground y luego del background. Posibilidad de inanicin. Tajada de tiempo cada cola tiene una cierta cantidad de tiempo de CPU que puede planificar entre sus procesos; p.e., 80% en foreground en RR, 20% en background en FCFS
JRA 2008 Sistemas Operativos Planificacin de Procesos
JRA 2008
Nmero de colas Algoritmos de planificacin para cada cola Mtodo usado para determinar cuando mejorar un proceso Mtodo usado para determinar cuando degradar un proceso Mtodo usado para determinar en que cola entra un proceso cuando necesita servicio.
Sistemas Operativos Planificacin de Procesos
JRA 2008
10
Q0 quantum de 8 milisegundos Q1 quantum de 16 milisegundos Q2 FCFS Un nuevo job entra a la cola Q0 el cual es servido FCFS. Cuando gana la CPU, el job recibe 8 milisegundos. Si no finaliza en 8 milisegundos, el job es movido a la cola Q1. En Q1 el job es nuevamente servido FCFS y recibe 16 milisegundos adicionales. Si an no completa, es movido a la cola Q2.
Sistemas Operativos Planificacin de Procesos
Planificacin
JRA 2008
JRA 2008
11
Planificacin Mltiple-Procesador
La planificacin de CPU es mas compleja
multiprocesador.
Carga compartida Multiprocesamiento Asimtrico solo un
procesador accede a las estructuras de datos del sistema, simplificando el manejo de datos compartidos.
JRA 2008
JRA 2008
12
Planificacin de Hilos
Planificacin Local Como deciden las libreras de
JRA 2008
Prioridades en Windows XP
JRA 2008
13
Planificacin en Linux
Dos algoritmos: tiempo compartido y tiempo real Tiempo compartido
Prioriza basado en crditos procesos con ms crditos son planificacdos primero Los crditos se restan cuando la interrupcin del timer ocurre Cuando el crdito = 0, es elegido otro proceso
Tiempo real
Proceso
JRA 2008
Pj ( i ) = Basej +
CPUj (i ) 2
+ nicej
(1)
CPUj ( i ) =
CPUj (i - 1) 2
(2)
JRA 2008
14
Basej = Prioridad base del proceso j. nicej = Factor de ajuste controlable por el usuario (1) Es utilizada para ajustar dinmicamente la prioridad (producto del uso de CPU). (2) Es usada para implementar el envejecimiento cuando el proceso espera. As evita la inanicin.
JRA 2008 Sistemas Operativos Planificacin de Procesos
JRA 2008
15
JRA 2008
Fin
Mdulo 5
Departamento de Ciencias e Ingeniera de la Computacin Universidad Nacional del Sur
16