Planificación de Procesos (Sistemas Operativos)

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 9

Planificacin de procesos

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.

rea de Lenguajes y Sistemas Informticos (E.G.R.)

Pg. 1

Planificacin de procesos

Documentacin Tcnica

1. Concepto de planificacin. Objetivos.


Definicin: La planificacin consiste en un conjunto de polticas y mecanismos
incorporados al Sistema Operativo y por los que se rige el orden en que se completa el
trabajo que hay que realizar. Su objetivo primordial es optimizar el rendimiento del
sistema.
Definicin: La planificacin del procesador es la eleccin de los procesos que van a ser
asignados a los procesadores fsicos. La parte del Sistema Operativo encargada de tomar
esta decisin se denomina planificador y el algoritmo que utiliza se llama algoritmo de
planificacin o disciplina.
Para juzgar si un algoritmo de planificacin es bueno, se debe tener en cuenta en que
medida cumple los siguientes objetivos:
a. Ser justo: que todos los procesos sean tratados por igual y ninguno pueda
experimentar postergacin indefinida;
b. Maximizar la capacidad de ejecucin: intentar dar servicio al mximo nmero
posible de procesos por unidad de tiempo;
c. Maximizar el nmero de usuarios interactivos recibiendo unos tiempos de respuesta
aceptables;
d. Equilibrar el uso de recursos: para ello los procesos que utilizan recursos
infrautilizados deben ser favorecidos;
e. Lograr un equilibrio entre tiempo de respuesta y utilizacin de recursos: dependiendo
de las caractersticas del sistema se debe elegir que factor de estos tiene ms
importancia;
f. Evitar la postergacin indefinida: se logra mediante el envejecimiento que consiste
en que mientras que un proceso espera por un recurso, su prioridad debe aumentar
llegando a ser tan alta que el recurso ser asignado al proceso;
g. Asegurar las prioridades: la disciplina debe favorecer a los procesos con prioridades
ms altas;
h. Dar preferencia a los procesos que mantienen recursos no compartidos: si un
proceso de baja prioridad mantiene un recurso no compartido, este recurso puede ser
requerido por procesos de ms alta prioridad, por lo cual la disciplina debe otorgar al
primer proceso un mejor tratamiento para que libere el recurso lo ms rpido posible.

2. Planificacin apropiativa frente a no apropiativa.


Definicin: Una disciplina de planificacin es no apropiativa si una vez que se le ha
rea de Lenguajes y Sistemas Informticos (E.G.R.)

Pg. 2

Planificacin de procesos

Documentacin Tcnica

asignado la CPU a un proceso, ya no se le puede retirar.


Ventajas:
Es ms fcil predecir los tiempos de respuesta.
Inconvenientes:
Los trabajos largos hacen esperar a los cortos.
Definicin: Una disciplina de planificacin es apropiativa si se le puede retirar la CPU a
un proceso mientras est en ejecucin.
Ventajas:
tiles en sistemas cuyos procesos de alta prioridad requieren atencin rpida;
Permiten obtener tiempos de respuesta aceptables.
Inconvenientes:
Conllevan un coste debido al intercambio de contexto;
Requieren sobrecarga debido a la necesidad de mantener en memoria
principal programas que no se estn ejecutando.

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

Teniendo en cuenta si el algoritmo usa o no quantum, estos se dividen en dos


grupos:
A. Que no usan quantum. Dentro de este grupo y ordenados por simplicidad, se describen
los siguientes:
Planificacin por orden de llegada (FIFO First Input, First Output, primero
en entrar-primero en salir) tambin conocido como primero en llegar, primero en
ser servido (FCFS, First Come, First Served).
La lista de procesos en estado listo esta ordenada segn el orden de llegada al sistema
(creacin del proceso), siendo el ms antiguo el que esta en la cabecera de dicha lista.
Por lo tanto, cuando se crea un proceso ste se introduce al final de la lista de
procesos en estado listo, y el criterio para elegir el proceso que deber pasar a estado
activo es el primero que esta en dicha lista.
Es una disciplina no apropiativa, por lo tanto al proceso que esta activo no se le
puede retirar la CPU hasta que l la abandone voluntariamente.
Inconvenientes:
bajos rendimientos, procesos largos hacen esperar a procesos cortos;
no es til en sistemas interactivos puesto que no garantiza buenos tiempos de
respuesta.
Ventajas:
permite predecir el orden de ejecucin de los procesos;
es fcil de implementar.
Variantes:
1. considerando el tiempo que el proceso lleva en estado listo en vez del tiempo
que lleva en el sistema, por lo que se selecciona, para asignarle el procesador,
el proceso que ha estado ms tiempo en la lista de procesos en estado listo.
2. considerando que la disciplina es apropiativa, esto es que a un proceso se le
puede retirar la CPU y pasar de activo a listo, si llega a la lista de procesos en
estado listo un proceso ms antiguo que l al que se le asignar la CPU.
Planificacin del trabajo ms corto primero (SJF).
Es una disciplina no apropiativa. La lista de procesos en estado listo esta ordenada por
la cantidad de tiempo de ejecucin estimada, de forma que el proceso ms corto es el
primero en la cola. Para establecer este orden se necesita saber el periodo de tiempo de
ejecucin de un proceso, y como esto raramente esta disponible, se confa en las
estimaciones de los usuarios, valor que se almacena en el PCB del proceso.
Inconvenientes:

rea de Lenguajes y Sistemas Informticos (E.G.R.)

Pg. 4

Planificacin de procesos

Documentacin Tcnica

con respecto al algoritmo FIFO, es menos predecible los tiempos de respuesta,


sobre todo de los procesos largos;
es poco til en sistemas interactivos puesto que no garantiza tiempos de respuesta
razonables.
Ventajas:
con respecto al algoritmo FIFO, reduce al mnimo el tiempo promedio de espera
de los trabajos, ya que al favorecer los trabajos cortos sobre los largos reduce el
nmero de trabajos en espera.
Planificacin del tiempo restante ms corto (SRT).
Esta disciplina elige siempre al proceso que le queda menos tiempo de ejecucin
estimado para completar su ejecucin; de esta forma aunque un proceso requiera
mucho tiempo de ejecucin, a medida que se va ejecutando ira avanzando en la lista
de procesos en estado listo hasta llegar a ser el primero.
Para realizar esta eleccin, es necesario actualizar el PCB de los procesos a medida
que se le asigna tiempo de servicio (activo o bloqueado), lo que supone una mayor
sobrecarga adicional.
Es una disciplina apropiativa ya que a un proceso activo se le puede retirar la CPU si
llega a la lista de procesos en estado listo otro con un tiempo restante de ejecucin
estimado menor.
B. Que usan quantum. Tambin ordenndolos por simplicidad, se describen los
siguientes:
Planificacin de asignacin en rueda, por turnos (Round Robin (RR)
Scheduling).
La lista de procesos en estado listo es una cola circular, de forma que el proceso al que
se le asigna la CPU pasar posteriormente a ser el ltimo de dicha cola circular. Para
insertar un proceso nuevo es indiferente por donde se inserta en la lista de procesos en
estado listo.
Si un proceso no agota su quantum debido a que pasa a estado bloqueado, entonces el
siguiente proceso de la cola circular pasa a activo sin esperar que se termine el
quantum del anterior.
Esta disciplina apropiativa es efectiva en sistemas de tiempo compartido, puesto que
garantiza tiempos de respuesta razonables.
Planificacin con colas de niveles mltiples.
A cada proceso se le asigna una prioridad, y la lista de procesos en estado listo esta
formada por una serie de colas circulares, donde cada una de ellas contiene a todos

rea de Lenguajes y Sistemas Informticos (E.G.R.)

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

Figura 2: Lista de procesos en estado listo

La CPU se asigna al proceso que se encuentra en la cabecera de la cola de mayor nivel


que no este vaca. Cuando un proceso recibe la CPU puede ocurrir:
que agote su quantum: entonces al pasar a estado listo se coloca al final de la cola
del siguiente nivel inferior al que perteneca. Mientras que el proceso consuma
totalmente su quantum en cada nivel, ir movindose haca el final de las colas de
los niveles inferiores. La cola del nivel ms profundo se gestiona mediante
asignacin de rueda, cuyos procesos permanecen hasta que terminan.
que no agote su quantum: entonces cuando pase de estado bloqueado a listo
volver al final de la cola del nivel al que perteneca. Se supone que el
comportamiento inmediato anterior de un proceso puede ser un buen indicador del
comportamiento futuro cercano.
Normalmente, el quantum otorgado al proceso aumenta a medida que el proceso se
mueve haca las colas de los niveles inferiores. De esta forma, cuanto ms tiempo
estn los procesos en la lista de procesos en estado listo, mayor ser su quantum cada
vez que obtienen la CPU. En definitiva, este algoritmo trata a los procesos segn su
comportamiento, y los separa por categoras segn sus necesidades de CPU.
Variantes:
Permitir al proceso moverse haca un nivel superior al anterior cada vez que
abandona voluntariamente la CPU antes de agotar su quantum. De esta forma, se
responde a los cambios en el comportamiento de un proceso.
Mantener al proceso circulando en asignacin de rueda varias veces a travs de
cada cola antes de pasarlo a la siguiente inferior. El nmero de ciclos en cada uno
de los niveles se incrementa a medida que el proceso pasa a la cola del nivel
siguiente inferior.
rea de Lenguajes y Sistemas Informticos (E.G.R.)

Pg. 7

Planificacin de procesos

Documentacin Tcnica

4. Diagrama de ocupacin del procesador.


La ocupacin de un procesador por parte de los procesos que posee el sistema se puede
plasmar mediante un diagrama de ocupacin. Para la realizacin de uno de estos
diagramas es necesario acordar la nomenclatura que se va a emplear para reflejar los
tres posibles estados en los que se pueden encontrar un proceso. Por ejemplo, la
siguiente notacin:
Activo

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

Tabla 1: Carga de trabajo del sistema

rea de Lenguajes y Sistemas Informticos (E.G.R.)

Pg. 8

Planificacin de procesos

Documentacin Tcnica

De est tabla se deduce que en el sistema se crean tres procesos. El significado de


cada una de las columnas de dicha tabla es el siguiente:

Llegada representa el momento en el que el proceso llega al sistema;


CPU son las unidades de tiempo de las rfagas de CPU del proceso;
BLOQ. representan el tiempo que el proceso est bloqueado.

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

Figura 4: Diagrama de ocupacin del procesador

De un diagrama de ocupacin del procesador se pueden obtener diversas medidas,


entre ellas cabe destacar el tiempo de ejecucin de un proceso que corresponde al
tiempo que dicho proceso ha requerido para completar su ejecucin, y que se puede
obtener mediante la siguiente operacin:
Tiempo de ejecucin = Tiempo de finalizacin - Tiempo de llegada
(valores referidos al mismo proceso)
Aplicando esta frmula al ejemplo, se obtienen los siguientes tiempos de ejecucin:
Tiempo de ejecucin (A) = 45 0 = 45
Tiempo de ejecucin (B) = 55 5 = 50
Tiempo de ejecucin (C) = 75 20 = 55

rea de Lenguajes y Sistemas Informticos (E.G.R.)

Pg. 9

También podría gustarte