Anda di halaman 1dari 15

18/05/2013

1
<1>
Conceptos Bsicos
Mxima utilizacin de CPU obtenida con multiprogramacin
Ciclo CPU rfagas (bursts) de E/S La ejecucin de procesos consiste
Planificacin de Procesos
Ciclo CPUrfagas (bursts) de E/S La ejecucin de procesos consiste
de ciclos de ejecucin de CPU y esperas en E/S.
Distribucin de rfagas de CPU
21/02/2012 09:45:17
<2>
Secuencia Alternada de Rfagas de CPU y E/S
Planificacin de Procesos
21/02/2012 09:45:17
18/05/2013
2
<3>
Histograma de Tiempos de Rfagas de CPU
Planificacin de Procesos
21/02/2012 09:45:17
<4>
Planificador de CPU
Selecciona entre los procesos en memoria que estn listos para
ejecutar, y aloca la CPU a uno de ellos.
Planificacin de Procesos
j , y
La decisin de planificar la CPU puede tener lugar 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.
21/02/2012 09:45:17
4. Termina.
18/05/2013
3
<5>
Despachador
El mdulo despachador pasa el control de la CPU al proceso
seleccionado por el planificador de corto trmino; esto implica:
Planificacin de Procesos
p p ; p
Cambio de contexto
Conmutacin a modo usuario
Salta a la direccin apropiada en el programa de usuario para
reiniciarlo
Latencia de despacho tiempo que toma al despachador para
21/02/2012 09:45:17
Latencia de despacho tiempo que toma al despachador para
detener un proceso e iniciar otro.
<6>
Criterios de Planificacin
Utilizacin de CPU mantener la CPU tan ocupada como sea posible
Procesamiento total (Throughput) nmero de procesos que
Planificacin de Procesos
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.
21/02/2012 09:45:17
p
Tiempo de respuesta cantidad de tiempo que transcurre desde que
fue hecho un requerimiento hasta que se produce la primer
respuesta, no salida.
18/05/2013
4
<7>
Criterios de Optimizacin
Maximizar la utilizacin de CPU
Maximizar el procesamiento total
Planificacin de Procesos
Maximizar el procesamiento total
Minimizar el tiempo de retorno
Minimizar el tiempo de espera
Minimizar el tiempo de respuesta
21/02/2012 09:45:17
<8>
Planificacin Primero-Entrar, Primero-Servido (FCFS)
Planificacin de Procesos
21/02/2012 09:45:17
18/05/2013
5
<9>
Planificacin FCFS (Cont.)
Planificacin de Procesos
21/02/2012 09:45:17
<10>
Planificacin Job-Mas Corto Primero (SJF)
Se asocia con cada proceso la longitud de su prxima rfaga de CPU. Se
usan estas longitudes para planificar los procesos con el tiempo mas
Planificacin de Procesos
g p p p p
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
d l d l d l d l
21/02/2012 09:45:17
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.
18/05/2013
6
<11>
Ejemplo de SJF No Apropiativo
Planificacin de Procesos
21/02/2012 09:45:17
<12>
Ejemplo SJF Apropiativo
Planificacin de Procesos
21/02/2012 09:45:17
18/05/2013
7
<13>
Planificacin por Prioridad
Con cada proceso se asocia un nmero (entero)
La CPU es alocada al proceso con prioridad mas alta (entero mas
Planificacin de Procesos
La CPU es alocada al proceso con prioridad mas alta (entero mas
pequeo -> mas alta prioridad o el entero mas grande, depende de la
convencin).
SJF es un algoritmo planificador con prioridad.
Problema ->Inanicin los procesos de baja prioridad pueden no
llegar a ejecutarse nunca.
21/02/2012 09:45:17
g j
Solucin: Envejecimiento > se incrementa en el tiempo la prioridad
de los procesos en espera.
<14>
Round Robin (RR)
Cada proceso toma una pequea unidad de tiempo de CPU
(quantum), usualmente 10-100 milisegundos. Luego de este tiempo el
Planificacin de Procesos
(q ), g g p
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.
R di i
21/02/2012 09:45:17
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.
18/05/2013
8
<15>
Ejemplo: RR con Quantum = 20
Planificacin de Procesos
21/02/2012 09:45:17
<16>
Como un Quantum PEQUEO Incrementa los Cambios de Contexto
Planificacin de Procesos
21/02/2012 09:45:17
18/05/2013
9
<17>
Colas Multinivel
La cola de listos esta particionada en colas separadas:
foreground (interactive)
Planificacin de Procesos
foreground (interactive)
background (batch)
Cada cola tiene su propio algoritmo de planificacin,
foreground RR
background FCFS
La planificacin debe ser hecha entre las colas
21/02/2012 09:45:17
La planificacin debe ser hecha entre las colas.
Planificacin con prioridad fija; p.ej., 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.ej., 80% en foreground
en RR, 20% en background en FCFS
<18>
Colas Multinivel
Planificacin de Procesos
21/02/2012 09:45:17
18/05/2013
10
<19>
Colas Multinivel Realimentadas
Un proceso puede moverse entre varias colas.
El planificador de colas multinivel realimentadas est definido por los
Planificacin de Procesos
El planificador de colas multinivel realimentadas est definido por los
siguientes parmetros:
Nmero de colas
Algoritmos de planificacin para cada cola
Mtodo usado para determinar cuando mejorar un proceso
21/02/2012 09:45:17
Mtodo usado para determinar cuando degradar un proceso
Mtodo usado para determinar en que cola entra un proceso
cuando necesita servicio.
<20>
Ejemplo de Colas Multinivel Realimentadas
Tres colas:
Q0 quantum de 8 milisegundos
Planificacin de Procesos
Q0 quantum de 8 milisegundos
Q1 quantum de 16 milisegundos
Q2 FCFS
Planificacin
Un nuevo job entra a la cola Q0 el cual es servido FCFS. Cuando
21/02/2012 09:45:17
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.
18/05/2013
11
<21>
Colas Multinivel Realimentadas
Planificacin de Procesos
21/02/2012 09:45:17
<22>
Planificacin Mltiple-Procesador
La planificacin de CPU es mas compleja cuando hay disponibles
mltiples CPUs.
Planificacin de Procesos
p
Procesadores homogneos en un multiprocesador.
Carga compartida
Multiprocesamiento Asimtrico solo un procesador accede a las
estructuras de datos del sistema, simplificando el manejo de datos
compartidos.
21/02/2012 09:45:17
p
18/05/2013
12
<23>
Planificacin Tiempo Real
Sistemas de Tiempo Real Duro requiere completar tareas crticas en
una cantidad de tiempo garantizado.
Planificacin de Procesos
p g
Computacin de Tiempo Real Blando requiere que los procesos
crticos reciban prioridad sobre otros.
21/02/2012 09:45:17
<24>
Planificacin de Hilos
Planificacin Local Como deciden las libreras de hilos poner el hilo
en un LWP (Light-Weight Process)
Planificacin de Procesos
( g g )
Planificacin Global Como el kernel decide que hilo del kernel es el
siguiente que corre
21/02/2012 09:45:17
18/05/2013
13
<25>
Prioridades en Windows XP/Vista/Win 7
Planificacin de Procesos
21/02/2012 09:45:17
<26>
Planificacin en Linux
Dos algoritmos: tiempo compartido y tiempo real
Tiempo compartido
Planificacin de Procesos
Tiempo compartido
Prioriza basado en crditos procesos con ms crditos son planificados
primero
Los crditos se restan cuando la interrupcin del timer ocurre
Cuando el crdito = 0, es elegido otro proceso
Cuando todos los procesos tienen crdito = 0, ocurre una re-acreditacin
B d f i l i id d hi i
21/02/2012 09:45:17
o Basada en factores que incluyen prioridad e historia
Tiempo real
Tiempo real blando
Posix.1b compliant dos clases
o FCFS y RR
oProceso de ms alta prioridad siempre corre primero
18/05/2013
14
<27>
Planificacin en UNIX y Linux
Planificacin de Procesos
21/02/2012 09:45:17
<28>
Planificacin en UNIX y Linux
Planificacin de Procesos
21/02/2012 09:45:17
18/05/2013
15
<29>
Planificacin en UNIX y Linux
La prioridad de cada proceso es computada cada segundo (en los
primeros UNIX; actualmente se realiza cada quantum).
Planificacin de Procesos
p ; q )
El propsito de la prioridad base es dividir todos los procesos en
bandas de niveles de prioridad.
Los componentes CPU y nice se utilizan para prevenir que los procesos
migren fuera de su banda asignada (dada por la prioridad base).
Estas bandas son utilizadas para optimizar el acceso a los dispositivos
21/02/2012 09:45:17
p p p
que se manejan con bloques de informacin (discos, cintas, CD, etc.) y
permitir al sistema operativo responder rpidamente a las llamadas al
sistema.
<30>
Planificacin en UNIX y Linux
En orden decreciente de prioridad, las bandas son:
Swapper
Planificacin de Procesos
Swapper.
Control de dispositivos de E/S en bloques.
Manipulacin de archivos.
Control de dispositivos de E/S por caracteres.
Procesos de usuarios.
21/02/2012 09:45:17
Dentro de la banda de procesos de usuario el uso de usuario, la historia
de ejecucin tiende a penalizar a los procesos limitados por procesador
a expensas de los procesos limitados por E/S.

Anda mungkin juga menyukai