Está en la página 1de 11

Tecnologas de Informacin

Aplicadas a la Administracin
Plataformas operativas de tecnologas
de informacin

Tarea 3
Seleccin del mejor algoritmo de planificacin de
procesos.

Edgar Alberto Enrquez Olimn

ndice
Introduccin......................................................................................................................3
Algoritmos.........................................................................................................................3
Algoritmos de planificacin............................................................................................4
Descripcin de cada algoritmo.......................................................................................4
FCFS (FirstCome, First Served). Apropiativo..................................................4
SJF (ShortestJob First) o SPN (Shortest ProcessNext).....................................5
SRTF (Shortest RemainingTime First). Menor Tiempo Restante.....................5
Planificacin por prioridad.............................................................................5
Planificacin por turno circular, RR (Round Robin)........................................6
Realimentacin..............................................................................................7
HRRN (HighestResponse Ratio Next).............................................................7
Ejemplo de Algoritmos:...................................................................................................8
Conclusin........................................................................................................................9
Bibliografa:.....................................................................................................................11

Introduccin
En pocas pasadas de los sistemas de procesamiento por lotes (batch), la idea que
exista sobre la planificacin era bastante simple y consista en aplicar un algoritmo
secuencial. Esto generaba un desaprovechamiento importante de las capacidades del
procesador ya que la ejecucin de un proceso alternaba entre dos estados de
ejecucin: utilizando la CPU o esperando a que se realice una operacin de E/S, por lo
que mientras se trabajaba con un dispositivo, el procesador se encontraba inactivo.
Ms tarde, surgieron los sistemas multiprogramados, en donde se intent maximizar la
utilizacin de la CPU. Por lo que, la tarea de la planificacin cobr gran importancia por
su incidencia directa sobre el rendimiento del sistema, ya que el sistema operativo
deba decidir qu proceso esperara y qu proceso continuara.
La planificacin es un conjunto de polticas y mecanismos incorporados al sistema
operativo, a travs de un mdulo denominado planificador, que debe decidir cul de los
procesos en condiciones de ser ejecutado conviene ser despachado primero y qu
orden de ejecucin debe seguirse. Y su principal objetivo consiste en el mximo
aprovechamiento del sistema, lo que implica proveer un buen servicio a los procesos
existentes en un momento dado, esto se traduce en tiempo de respuesta aceptable,
productividad y eficiencia del procesador.
La planificacin se hace en cuatro instantes de tiempo. De estas cuatro, una no la
realiza el sistema operativo, sino que es externa al procesamiento, pero tiene una
influencia enorme sobre la definicin del procesamiento, dado que el sistema operativo
queda determinado por las decisiones que se toman en este nivel. A esta instancia le
daremos el nombre de extra largo plazo por ser en la escala de tiempo del ser
humano.
En la administracin del procesador podemos distinguir tres niveles de planificacin de
acuerdo a la escala de tiempo en que se realiza la misma. El largo plazo en segundos,
mediano plazo en milisegundos y el corto plazo en nanosegundos o microsegundos.

Algoritmos
Muchos autores los sealan como listas de instrucciones para resolver un problema
abstracto, es decir, que un nmero finito de pasos convierten los datos de un problema
en una solucin. Sin embargo cabe notar que algunos algoritmos no necesariamente
tienen que terminar o resolver un problema en particular.

Podemos decir que algoritmo es cualquier cosa que funcione paso a paso, donde cada
paso se pueda describir sin ambigedad y sin hacer referencia a una computadora en
particular, y adems tiene un lmite fijo en cuanto a la cantidad de datos que se pueden
leer/escribir en un solo paso.

Algoritmos de planificacin

FCFS (FirstCome, First Served).

SJF (ShortestJob First) o SPN (Shortest ProcessNext).

SRTF (Shortest RemainingTime First).

Planificacin por prioridad.

Planificacin por turno circular, RR (Round Robin).

Realimentacin.

HRRN (HighestResponse Ratio Next).

Descripcin de cada algoritmo


FCFS (FirstCome, First Served). Apropiativo
Es el Algoritmo de planificacin ms sencillo. Esto es, el primer proceso en solicitar la
CPU es el primero en recibir la asignacin de la misma. La implementacin del FCFS se
realiza fcilmente mediante una cola FIFO. Cuando un proceso entra en la cola de
preparados o listos para la ejecucin (ready queue), su PCB se enlaza al final de la
cola.
Cuando la CPU queda libre, sta se le asigna al proceso situado al principio de la cola.
Entonces el proceso en ejecucin se elimina de la cola. El cdigo para la planificacin
FCFS es sencillo de escribir y de comprender.
FCFS rinde mucho mejor con procesos largos que con procesos cortos.
Sin embargo, las prestaciones del FCFS son, con frecuencia, bastante pobres.
Los problemas que presenta son:
1. El tiempo medio de espera suele ser elevado.
2. Bajo nivel de utilizacin de la CPU.
3. Pobre tiempo de respuesta en procesos cortos en esquemas con mucha carga.
4. Tiende a favorecer a los procesos con carga de CPU frente a los que tienen
carga de E/S.
5. Uso ineficiente de los dispositivos de E/S.

SJF (ShortestJob First) o SPN (Shortest ProcessNext).


Este algoritmo consiste en seleccionar el proceso con menor tiempo esperado de
ejecucin. La mejora del rendimiento global es significativa en trminos de tiempo de
respuesta, sin embargo, se incrementa la variabilidad de los tiempos de respuesta,
especialmente para procesos largos, reduciendo as la previsibilidad.
Una dificultad que presenta es la necesidad de conocer o estimar el tiempo exigido por
cada proceso. Para ello, generalmente se toma el promedio exponencial que permite
predecir valores futuros a partir de una serie de valores pasados.
Un riesgo que existe en SJF es la posibilidad de inanicin para los procesos largos
mientras exista un flujo continuo de procesos ms cortos. Por otro lado, aunque SJF
reduce el sesgo favorable a los procesos largos, no es conveniente para entornos de
tiempo compartido o de procesamiento de transacciones, debido a que es un algoritmo
apropiativo.
SRTF (Shortest RemainingTime First). Menor Tiempo Restante
Esta es la versin no apropiativa del SPN, en la que el planificador elige al proceso que
le queda menos tiempo esperado de ejecucin. Por lo tanto, el planificador debe
disponer de una estimacin del tiempo de proceso para poder llevar a cabo la funcin
de seleccin, existiendo el riesgo de inanicin para procesos largos.
El algoritmo SRT no presenta el sesgo favorable a los procesos largos del FCFS. Al
contrario que el turno rotatorio, este algoritmo es ms eficiente debido a que no se
produce overhead muy frecuente debido a que las interrupciones no son producidas por
el reloj del sistema. Por el contrario, se deben contemplar los tiempos de servicio
transcurridos, esto contribuye a la sobrecarga. El SRT tambin debera producir tiempos
de retorno mejores que los del SPN, puesto que los trabajos cortos reciben una
atencin inmediata y preferente a los trabajos largos.
Planificacin por prioridad.
En muchos sistemas, los procesos tienen prioridades asignadas, y el planificador
escoge aquel con mayor prioridad. Cuando un proceso debe ser seleccionado, el
planificador por prioridades seleccionar aquel proceso que tenga mayor prioridad. Si
hay ms de un proceso entonces se debe seguir alguna poltica de seleccin. Un
problema que presenta un esquema de planificacin por prioridades puro es que los
procesos con la prioridad ms baja pueden sufrir de inanicin o bloqueo indefinido. Un

proceso que est listo para correr pero espera porque siempre hay procesos con
prioridad ms alta. Para evitar este problema, se puede ir incrementando gradualmente
la prioridad de los procesos (envejecimiento). SJF es un caso especial de planificacin
por prioridad, donde la prioridad es el inverso del valor estimado del prximo ciclo de
CPU (a menor ciclo, mayor prioridad).
Este algoritmo puede ser apropiativo y no apropiativo. En el caso de apropiativa, cuando
un proceso llega a la cola de procesos listos, su prioridad es comparada con la prioridad
del proceso que est corriendo. Si la prioridad del nuevo proceso es mayor, entonces se
atiende al nuevo proceso.
Planificacin por turno circular, RR (Round Robin).
Una manera rpida de reducir la penalizacin que los procesos cortos sufren con FCFS
es usar expropiacin basada en un reloj. Una interrupcin de reloj es generada a
intervalos peridicos. Cuando esta ocurre, el proceso en ejecucin es colocado en la
cola de procesos listos y el prximo trabajo es seleccionado basado en el esquema
FCFS. A cada proceso se le da un trozo de tiempo.
Su principal decisin de diseo es el tamao del trozo o quantum. Si el quantum es muy
corto, entonces los procesos se movern a travs del sistema rpidamente. Por otro
lado, hay un cierto overhead o desperdicio de tiempo envuelto con el manejo de la
interrupcin de reloj y las funciones de planificacin y despacho. Por lo tanto quanta
muy pequeos deberan evitarse. Una alternativa es usar un quantum de tiempo que
sea un poco ms grande que el tiempo promedio requerido para una interaccin tpica.
Particularmente efectivo para sistemas generales de tiempo compartido. Se implementa
con una cola FIFO de procesos. Nuevos procesos son agregados al final de la cola, y
toma el proceso que se encuentra en la cabeza de la cola. Actualiza el timer para que
interrumpa despus del quantum de tiempo.
El desempeo depender del tamao del quantum. Si el quantum es infinito entonces
degenera en FCFS. Si el quantum es muy pequeo entonces Round Robin es llamado
comparticin de CPU y en teora pareciera que cada proceso tiene su propio
procesador corriendo a 1/n la velocidad del procesador real.
Bajo este esquema es importante considerar el efecto del cambio de contexto.

Realimentacin.
En esta poltica la planificacin es apropiativa y se emplea un mecanismo dinmico de
prioridades.
Cuando un proceso entra por primera vez en el sistema, se sita en RQ0, cuando
vuelve al estado de listo, despus de su primera ejecucin, se incorpora en RQ1.
Despus de cada ejecucin, se degradar al nivel inmediato inferior de prioridad.
Un proceso corto terminar rpidamente, sin descender demasiado en la jerarqua de
las colas de listos; y un proceso largo ser gradualmente llevado hacia abajo.
Esto favorece los procesos ms nuevos y cortos antes que los ms viejos y largos.
Se usa un simple mecanismo de FIFO dentro de cada cola, excepto en la de menor
prioridad, en la que se usa Round Robin.
HRRN (HighestResponse Ratio Next).
Se usa en caso que no se puede determinar el tiempo de ejecucin.
Es de tipo no apropiativo por quantum de tiempo y un mecanismo de prioridades
dinmico. Cuando llega un proceso nuevo, este es colocado en la cola de mayor
prioridad, luego de su primera ejecucin ste es colocado en la cola de prioridad
siguiente menor y as sucesivamente hasta que llega hasta la ltima cola en donde se
la vuelve a colocar en la misma nuevamente.
Dentro de cada cola se utiliza el algoritmo de planificacin FCFS, en el caso de la ltima
se utiliza el algoritmo round robin.
En este algoritmo puede llegar a ocurrir starvation (inanicin) en el caso de que entren
frecuentemente procesos nuevos, debido a que al tener mayor prioridad, no llega a
ejecutarse los procesos de las ltimas colas. Para evitar esto, se utiliza un mecanismo
de variacin del quantum de tiempo de ejecucin de los procesos de acuerdo a la cola
en la que se encuentra. A la cola RQi se le asigna 2 i quantum de tiempo, de esta forma
se trata de que menos procesos lleguen hasta la ltima cola sin terminar su ejecucin.
La idea de este algoritmo es separar los procesos con diferentes caractersticas en
cuanto a sus rfagas de CPU. Si un proceso gasta demasiado tiempo en CPU, se le
pasar a una cola con menor prioridad. Este esquema deja a los procesos limitados por
E/S y los procesos interactivos en las colas de ms alta prioridad.
En general, un planificador de colas multinivel con realimentacin est definido por los
siguientes parmetros:

El nmero de colas.

El algoritmo de planificacin para cada cola

El mtodo empleado para determinar cundo se debe promover un proceso a


una cola de mayor prioridad.

El mtodo empleado para determinar cundo se debe promover un proceso a


una cola de menor prioridad.

El mtodo empleado para determinar en cul cola ingresar un proceso cuando


necesite servicio.

La definicin de un planificador de colas multinivel con realimentacin lo convierte en el


algoritmo de planificacin ms general, ya que se puede configurar para adaptarlo a
cualquier sistema especfico que se est diseando.
Aunque este esquema es el ms general, tambin es el ms complejo.

Ejemplo de Algoritmos:
Proceso
A
B
C
D
E

Instante
Tiempo de
de llegada
Servicio
0
3
2
6
4
4
6
5
8
2

Conclusin.
Los procesos dentro de un sistema tienen un vnculo dinmico que va ligado a la
ejecucin de una aplicacin. Durante el cumplimiento de su objetivo compite con el
resto de los procesos del sistema operativo para el uso de los recursos de manera
nica.
Para el control de todos estos procesos es que encontramos en los sistemas, los
planificadores, aquella parte del sistema operativo encargada de asignar los recursos

del sistema de manera que se consigan: planificadores a largo, medio y corto plazo. Su
denominacin hace referencia a la frecuencia relativa con la que se utilizan.
La eleccin de un algoritmo de planificacin se realiza teniendo en cuenta sus
caractersticas frente a los criterios de diseo que hemos elegido. Las propiedades de
los algoritmos se expresan en trmino de aspectos tales como la eficacia en el uso del
procesador, el rendimiento o nmero de procesos completados por unidad de medida
temporal, el tiempo de espera de un proceso y el tiempo de respuesta a un evento.
Se han presentado distintos algoritmos de planificacin. Un algoritmo se denomina
exprpiatelo cuando un proceso en ejecucin pasa al estado de preparado por decisin
del SO.
En la planificacin por prioridades cada proceso tiene asignada una. El proceso de
mayor prioridad en el estado preparado es el que toma el procesador. La prioridad
puede ser esttica o dinmica. A los algoritmos con prioridades y expropiacin se les
denomina guiados por eventos.

Bibliografa:
Martnez Cobo, Pablo, P. Martnez. Sistemas operativos: teora y prctica. Editorial Daz
de Santos, S.A. Madrid, Espaa. 1997. Pgs. 51-73
Tanenbaum, Andrew S. Sistemas Operativos Modernos. Segunda Edicin. Mxico.
2003, Editorial Pearson Educacin. Pgs. 71-79
Stallings William. Sistemas Operativos. Segunda Edicin.1997. Editorial Pearson
Educacin, S.A. Madrid Espaa. Pgs. 343- 364

También podría gustarte