You are on page 1of 10

AO DE LA CONSOLIDACIN DEL MAR DE GRAU

UNIVERSIDAD PERUANA LOS ANDES


FACULTAD DE INGENIERIA
CARRERA PROFESIONAL DE INGENIERA DE SISTEMAS Y
COMPUTACIN

ALGORITMOS PARA LA
GESTION DE PROCESO
Curso

Docente

SISTEMA DISTRIBUIDOS

ING. ORLANDO

Estudiante

RAMON YORA JESAMINE M.

Ciclo

IX

HUANCAYO PER
2016

ALGORITMOS
Como ya hemos visto el planificador a corto plazo, asigna tiempo de ejecucin a los
procesos que estn en la cola de preparados, la cual se alimenta de dos formas:

Cada vez que el usuario inicia una aplicacin, el planificador a largo plazo crea el
proceso y lo pasa al planificador a corto plazo colocndose en la cola de

preparados.
Cuando un proceso deja de estar en estado de ejecucin o deja de estar
bloqueado pasa a la cola de preparados.

(Recordar el esquema de los estados de un proceso y sus transiciones).


Por otro lado cuando un proceso termina su ejecucin deja de existir para el
planificador.
Los algoritmos de planificacin se agrupan en:
a) Apropiativos: el proceso que est haciendo uso del procesador puede ser
temporalmente suspendido y permitir que otro se apropie del uso del procesador.
b) No apropiativos: el proceso no abandona nunca el procesador hasta que no
finaliza.
Para el estudio de los diferentes algoritmos utilizaremos tablas donde tendremos
listados los procesos y sus datos, tales como, instante de llegada, tiempo de ejecucin,
prioridad, etc. As mismo utilizaremos grficas donde representar en el tiempo los
procesos (Diagrama de Gantt). (Por otro lado supondremos que no es siempre as en la
realidad que los procesos no realizan operaciones de entrada y salida. La unidad de
tiempo que utilizaremos es una medida abstracta, y el ndice medio de servicio o
eficiencia se suele expresar en porcentaje).
1. FCFS. (FIRST-COME, FIRST-SERVED)
El procesador ir ejecutando cada proceso por orden de llegada hasta que lo finaliza.
Sencillo y simple pero de poco rendimiento.
En esta poltica de planificacin, el procesador ejecuta cada proceso hasta que termina,
por tanto, los procesos que en cola de procesos preparados permanecern encolados
en el orden en que lleguen hasta que les toque su ejecucin. Este mtodo se conoce
tambin como FIFO (first input, first output, Primero en llegar primero en salir).
Se trata de una poltica muy simple y sencilla de llevar a la prctica, pero muy pobre en
cuanto a su comportamiento.

La cantidad de tiempo de espera de cada proceso depende del nmero de procesos


que se encuentren en la cola en el momento de su peticin de ejecucin y del tiempo
que cada uno de ellos tenga en uso al procesador, y es independiente de las
necesidades del propio proceso.
Sus caractersticas son:

No apropiativa.
Es justa, aunque los procesos largos hacen esperar mucho a los cortos.
Predecible, es decir, podemos saber a priori como se llevar a cabo la

planificacin.
El tiempo medio de servicio es muy variable en funcin del nmero de procesos

y su duracin.
Tiempo medio de servicio es muy variable y depende del nmero de procesos y
su duracin.

Este algoritmo, FCFS (FIRST-COME, FIRST-SERVED) es, con mucho, el algoritmo ms


simple. Segn este esquema, el primer proceso que reclama la CPU, es el primero en
conseguirla. En cuanto a la implementacin, no merece la pena dar muchas
explicaciones, pues basta con mantener.
Ejemplo:
Se pide calcular los datos restantes y las media de T, E, I. Y el diagrama de
Gantt correspondiente aplicando algoritmos de FCFS:
Tenemos la siguiente tabla de procesos:
T (tiempo servicio)= Final Llegada.
E (tiempo espera)= T T. ejecucin.
I (ndice de servicio) = T. Ejecucin / T.
SOLUCIN

2. ALGORITMO SJF (SHORTEST JOB FIRTS)- EL SIGUIENTE PROCESO, EL


MS CORTO
Es una poltica de planificacin no apropiativa que trata de cubrir los mismos objetivos
que Round Robin. Consiste en tomar de la cola de preparados aquel proceso que
necesite menos tiempo de ejecucin, para ello se debe conocer el tiempo que necesita
cada proceso lo cual no es fcil pero se pueden conseguir unas aproximaciones a
travs de diversos mtodos que el sistema operativo utiliza para estimar el tiempo de
ejecucin.
SJF es bueno para los procesos cortos y salen perjudicados los largos. Sus
caractersticas principales son:

No es apropiativo.
El tiempo de espera aumenta de acuerdo con la longitud de los procesos, pero el
tiempo medio de espera con respecto a otros algoritmos es ptimo.
Es poco predecible.
Perjudica los procesos largos.
Se obtiene un buen tiempo de servicio.
Resulta difcil de poner en prctica por los datos que necesita para realizarse la
aplicacin.

Ejemplo:
En un cierto instante se tiene los siguientes procesos, cuyo orden de llegada es el
indicado

Indicar los valores de:

Tiempo de espera y tiempo de retorno de cada trabajo, tiempo medio de espera y


retorno, cuando la planificacin se realiza mediante los algoritmos SJF y FCFS.
SOLUCIN:

El problema real de este algoritmo es conocer o, por lo menos estimar el tiempo de


ejecucin para cada proceso. Para procesos por lotes, el sistema puedes solicitar al
usuario que estime el valor de ejecucin de dicho proceso y de esta forma podrselo
pasar al sistema operativo, sin embargo en la planificacin acorto plazo esta poltica no
se puede emplear ya que no se sabe a priori la duracin de un proceso, a no ser que
podamos predecir la duracin de cada proceso mediante tcnicas estadsticas.
3. ALGORITMO SRTF SHORT REMAINING TIME FIRTS- EL DE TIEMPO
RESTANTE MS CORTO
El algoritmo SRTF, Shortest Remaining Time Firts o Primero el menor tiempo restante,
es la versin expulsiva del algoritmo SJF conocido como trabajo ms corto primero
que maneja los trabajos con base en la duracin de su ciclo del CPU. Se diferencia del
SJF en que si un nuevo proceso pasa a listo se activa el dispatcher para ver si es ms
corto que lo que queda por ejecutar del proceso en ejecucin. Si es as el proceso en
ejecucin pasa a listo y su tiempo de estimacin se decrementa con el tiempo que ha
estado ejecutndose. Este algoritmo tiene mayor ventaja del SJF ya que es ptimo para
las rfagas que llegan indistintamente ya que prefiere los procesos cortos y tiene la
opcin de suspender el que se est ejecutando para dar paso al nuevo. Consigue una
buena eficiencia ya que logra que la lista de preparados sea lo ms corta posible.

Uso del quantum

En este caso se usa un Quantum, que es un tiempo determinado en el que pasaun


proceso por el CPU que no puede ser modificado por el usuario
Sus principales caractersticas son:

Es una variante de SJF para hacerlo apropiativo.


Puede ser injusto ya que un proceso corto puede echar a uno largo que est

haciendo uso del procesador y que adems est terminando.


Presenta una mayor sobrecarga.
Excelente tiempo medio de servicio.
Es muy eficiente.

Ejemplo:
En un cierto instante se tiene los siguientes procesos.

Indicar los valores de:


Tiempo de espera y tiempo de retorno de cada trabajo, tiempo medio de espera y
retorno, cuando la planificacin se realiza mediante el algoritmo SRTF con un
quantum de 2.

Ejemplo: quantum =2
SOLUCIN

NOTA: cuando termina una corrida se vuelve a buscar desde arriba los ms cortos
excepto los que ya terminaron
4. POR PRIORIDAD
En muchos sistemas, los procesos tienen prioridades asignadas, y el planificador
coger aquel proceso 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 deber 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).
Ejemplo:
Sea la siguiente descripcin de carga:

Suponer el orden de llegada el indicado.


Calcular tiempo de espera y tiempo de retorno de cada trabajo, tiempo medio de espera
y retorno, cuando la planificacin se realiza mediante el algoritmo de prioridades y del
tipo no apropiativo
SOLUCIN:

Este algoritmo puede ser apropiativo y no apropiativo. En el caso de apropiativo, 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.
5. Round-Robin (RR) - "Turno rotatorio".
Tambin se denomina asignacin cclica o planificacin en rueda. Intenta ser ms justo
que el FCFS a la respuesta tanto de procesos cortos como largos.
Consiste en conceder a cada proceso un periodo de tiempo q (quantum) transcurrido el
cual si el proceso no ha terminado vuelve a la cola de preparados y entrando a
ejecucin el siguiente proceso. Este proceso se realiza repetidamente hasta que se
terminen los procesos.
A la hora de gestionar la cola de preparados podemos aplicar una poltica FIFO o una

de prioridades.
Variando el quantum se obtienen diferentes comportamientos; a mayor q ms tiempo
necesita el proceso ms largo, si q es muy pequeo podemos sobrecargar el sistema al
incrementar mucho el nmero de cambios de contexto.
Las caractersticas de este algoritmo son:

Baja sobrecarga, si el cambio de contexto es eficiente y los procesos siempre


estn en memoria principal.
El tamao ptimo del quantum depende de:
El tipo de sistema.
Cargas que vaya a soportar el sistema.
Nmero de procesos que tenemos y su tipo.
Es la poltica que ms se utiliza para sistemas de tiempo compartido.
Se obtiene un ndice de servicio uniforme para todos los procesos.
Es una poltica apropiativa.

Ejemplo 1:
En un cierto instante se tiene los siguientes procesos.

Indicar los valores de:


Tiempo de espera y tiempo de retorno de cada trabajo, tiempo medio de espera y
retorno, cuando la planificacin se realiza mediante el algoritmo Round Robin con un
quantum de 3.
SOLUCIN:

Ejemplo 2:
Se pide calcular los datos restantes y las media de T, E, I. Y el diagrama de Gantt
correspondiente aplicando algoritmos de FCFS:

Tenemos la siguiente tabla de procesos:


T (tiempo servicio)= Final Llegada.
E (tiempo espera)= T T. ejecucin.
I (ndice de servicio) = T. Ejecucin / T.

Teniendo un quantum de 1. q = 1
Si un proceso finaliza sin haber agotado su quantum entrara inmediatamente el

siguiente proceso con su respectivo quantum.


Los procesos que van saliendo se colocan al final.
Si un proceso comienza en el mismo momento que acaba un quantum se

considera que ha
llegado a la cola antes de que finalice ese quantum.

Supongamos que en un momento dado existen tres rfagas listos R1, R2 y R3, sus
tiempos de ejecucin respectivos son 24, 3 y 3 ms. El proceso al que pertenece la
rfaga R1 es la que lleva ms tiempo ejecutable, seguido del proceso al que pertenece
R2 y del de R3. Veamos el tiempo medio de finalizacin (F) de las rfagas aplicando
FIFO y SJF:

FIFO F = (24 + 27 + 30) / 3 = 27 ms.

SJF F = (3 + 6 + 30) / 3 = 13 ms.

Se puede demostrar que este algoritmo es el ptimo. Para ello, consideremos el caso
de cuatro rfagas, con tiempos de ejecucin de a, b, c y d. La primera rfaga termina
en el tiempo a, la segunda termina en el tiempo a+b, etc. El tiempo promedio de
finalizacin es (4a+3b+2c+d)/4. Es evidente que a contribuye ms al promedio que los
dems tiempos, por lo que debe ser la rfaga ms corta, b la siguiente, y as
sucesivamente. El mismo razonamiento se aplica a un nmero arbitrario de rfagas.