Planificación de Procesos (Sistemas Operativos)
Planificación de Procesos (Sistemas Operativos)
Planificación de Procesos (Sistemas Operativos)
Documentacin Tcnica
ndice
1. Concepto de planificacin. Objetivos.
2. Planificacin apropiativa frente a no apropiativa.
3. Algoritmos de planificacin.
4. Diagrama de ocupacin del procesador.
Pg. 1
Planificacin de procesos
Documentacin Tcnica
Pg. 2
Planificacin de procesos
Documentacin Tcnica
3. Algoritmos de planificacin.
Mecanismos que utilizan muchos de los algoritmos de planificacin:
A. Utilizacin de prioridades.
Prioridad: calificador asignado a un proceso que determina la atencin que va a recibir
del sistema.
Segn el agente que asigna la prioridad, stas pueden ser:
Prioridades internas: asignadas automticamente por el Sistema Operativo;
Prioridades externas: asignadas desde el exterior.
Segn los cambios que sufre la prioridad, stas pueden ser:
Prioridades estticas: no cambian durante la ejecucin del proceso, es decir no
responden a cambios que pueden hacer deseable ajustar alguna prioridad. Los
mecanismos de prioridad esttica son fciles de implementar y tienen una
sobrecarga relativamente pequea.
Prioridades dinmicas: varan durante la ejecucin del proceso, por lo que
responden a los cambios. Los mecanismos de prioridades dinmicas son ms
complicados de implementar y suponen una sobrecarga mayor.
B. Utilizacin de un quantum de tiempo.
Quantum: tiempo mximo de estancia de un proceso en activo.
Ese quantum de tiempo puede ser fijo o variable y puede tener o no el mismo valor
para todos los procesos.
rea de Lenguajes y Sistemas Informticos (E.G.R.)
Pg. 3
Planificacin de procesos
Documentacin Tcnica
Pg. 4
Planificacin de procesos
Documentacin Tcnica
Pg. 5
Planificacin de procesos
Documentacin Tcnica
aquellos procesos que tienen una misma prioridad. La CPU se asigna siempre al
proceso de la cola de mayor prioridad que no este vaca. Este proceso puede agotar su
quantum o no, en ambos casos cuando vuelva a la lista de procesos en estado listo se
colocar al final de la cola circular correspondiente a su prioridad.
Supngase que solo se tiene tres prioridades y que cuanto menor sea el valor de la
prioridad mayor ser la atencin que se le da al proceso. Si se tiene seis procesos
dando lugar a la lista de procesos listos que muestra la siguiente figura, el procesador
ser asignado al primer proceso de la cola de mayor prioridad (proceso con el borde
malva), pues dicha cola no esta vaca.
1
2
3
Prioridad
Figura 1: Lista de procesos en estado listo
Un problema que presenta esta disciplina es la posibilidad de que los procesos de baja
prioridad pueden quedar postergados indefinidamente. Una forma de solucionarlo es
con la llamada prioridad por envejecimiento, que consiste en que la prioridad aumenta
gradualmente a medida que el proceso pasa cierto tiempo en el sistema, garantizando
su terminacin en un tiempo finito.
Planificacin con colas de retroalimentacin de niveles mltiples.
Este algoritmo de planificacin pretende tratar a los procesos de acuerdo a su
comportamiento (utilizacin que hace el proceso del procesador), es decir:
si el proceso se suspende frecuentemente se le debe asignar bastantes veces el
procesador con un quantum pequeo;
si el proceso se suspende poco se le debe asignar el procesador menos veces pero
con un quantum grande.
Para conseguir esto la lista de procesos en estado listo esta formada por varios niveles
y cada uno de ellos con una cola circular. Cuando se inserta un nuevo proceso este se
rea de Lenguajes y Sistemas Informticos (E.G.R.)
Pg. 6
Planificacin de procesos
Documentacin Tcnica
aade al final de la cola de mayor nivel movindose por dicha cola en orden FIFO
hasta obtener la CPU.
Niveles
Pg. 7
Planificacin de procesos
Documentacin Tcnica
Listo
Bloqueado
Figura 3: Nomenclatura para los estados de un proceso
Por otra parte, cada proceso posee un comportamiento durante su ejecucin que se
refleja mediante una secuencia de rfagas de CPU y de Bloqueado (normalmente
peticiones de operaciones de Entrada/Salida) del siguiente tipo:
CPU BLOQ. CPU BLOQ. - - CPU
La unidad de tiempo empleada para especificar la duracin de cada rfaga es
intrascendente, por lo que normalmente se omite.
Otros factores que reflejan tambin dicho comportamiento es el tiempo de llegada del
proceso al sistema, tiempo de ejecucin del proceso estimado por el usuario o la
prioridad inicial del proceso.
En un diagrama de ocupacin se usa el eje X para representar el tiempo y el eje Y para
especificar los procesos existentes en el sistema. A lo largo de todo el tiempo que
tardan en ejecutarse estos procesos se debe indicar el estado en que se encuentra cada
uno de ellos mediante la nomenclatura acordada, reflejando de esta forma que proceso
est haciendo uso en cada momento del procesador o en que intervalos de tiempo est
esta ocioso.
Con el fin de aclarar mejor el concepto de diagrama de ocupacin de un procesador,
se presenta a continuacin mediante una tabla la carga de trabajo de un sistema
seguido del correspondiente diagrama de ocupacin para el algoritmo de
planificacin FIFO (por orden de llegada al sistema).
Proceso
Llegada
CPU
BLOQ.
CPU
BLOQ.
CPU
10
10
10
10
25
10
-------
------
20
10
10
Pg. 8
Planificacin de procesos
Documentacin Tcnica
10
10
B
10
5
A
0
10
25
5
15
20
Activo
30
10
10
25
10
10
35
40
45
50
55
Bloqueado
60
65
70
75
Listo
Pg. 9