Algoritmos de Planificación
-
Upload
locosdeoperativos -
Category
Documents
-
view
2.324 -
download
3
Transcript of Algoritmos de Planificación
LA FELICIDAD DEL ÉXITO NO SE ENCUENTRA AL FINAL, SINO
DURANTE EL CAMINO.
Por: Luis
Pillajo
Contenido
. FCFS
. SJF
. SRT
. SRTF
.Round Robin
. HRN
. FIFO
ESCUELA SUPERIOR POLITÉCNICA
CHIMBORAZO
Algoritmos de Planificación
Esta política se implementa
fácilmente con una cola
FIFO. Cuando un proceso
entra en la lista de procesos
listos su PCB se enlace con
el proceso que esta al final
de la cola. Luego de que el
procesador este libre se le
asigna un nuevo proceso de
la lista específicamente el
que se encuentre al inicio
Definición
También conocido como el
primero en llegar el
primero en servirse, este
algoritmo se caracteriza
porque otorga el control
del procesador al primer
proceso que lo solicita.
FCFC
En un cierto instante se tiene los siguientes procesos, cuyo orden de llegada es el indicado: Trabajo Ráfaga CPU
A 1
B 100
C 1
D 100
Indicar los valores de:
Tiempo de espera y tiempo de retorno de cada trabajo, tiempo medio de espera y retorno, cuando la planificación se realiza mediante el algoritmo FCFS. . SOLUCIÓN:
Proceso Tiempo de
llegada
Tiempo
de
Servicio
Tiempo de
Comienzo
Tiempo de
Finalización
Turna round Tiempo de
Espera
A 0 1 0 1 1 0
B 1 100 1 101 100 0
C 2 1 101 102 100 101-2=99
D 3 100 102 202 199 102-3=99
Promedio 100 49.50
SJF Algoritmo Shortest Job First, este algoritmo en cambio selecciona el proceso que tenga el tiempo de ejecución más corto. El problema está en conocer este valor, aunque podemos predecirlos usando la información de los ciclos anteriores ejecutados. Es muy eficiente ya que ofrece el mínimo tiempo de espera para un conjunto de procesos dado
Ejemplo:
En un cierto instante se tiene los siguientes procesos, cuyo orden de llegada es el indicado: Trabajo Ráfaga CPU
A 8
B 4
C 9
D 5
Indicar los valores de:
Tiempo de espera y tiempo de retorno de cada trabajo, tiempo medio de espera y retorno, cuando la planificación se realiza mediante los algoritmos SJF y FCFS.
SOLUCIÓN: 1
Proceso Tiempo
de
llegada
Tiempo
de
Servicio
Tiempo
de
Comien
zo
Tiempo
de
Finalizaci
ón
Turna
round
Tiempo de
Espera
A 0 8 0 8 8 0
B 1 4 8 12 12-1=11 8-1=7
C 2 9 17 26 26-2=24 17-2=15
D 3 5 12 17 17-3=14 12-3=9
Promedio 14.25 7.75
|
SRT
La política de menor tiempo restante, también llamada SRT,
es una versión apropiativa del SJF, en la que el planificador
siempre elige al proceso que le queda menos tiempo
esperado de ejecución. Esto quiere decir que al añadir un
proceso a la cola de listos, puede quedarle un tiempo
esperado de ejecución menor que al proceso que está
ejecutándose en ese momento en el procesador, por lo tanto
el planificador puede apropiarse del procesador para
desalojar al proceso en ejecución y asignárselo al nuevo
proceso, que tendrá un menor tiempo restante de ejecución.
Al igual que el algoritmo SJF, el planificador debe disponer
de una estimación de tiempo para cada proceso con el fin de
poder llevar a cabo la función de seleccionar el siguiente
proceso, existiendo igualmente que en el SJF peligro de
inanición para los procesos largos.
|
SRTF El algoritmo SRTF, Shortest Remaining Time Firts o Primero el menor tiempo restante, es la versión expulsiva del
algoritmo SJF conocido como “trabajo más corto primero” que maneja los trabajos con base en la duración 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 más corto que lo
que queda por ejecutar del proceso en ejecución. Si es así el proceso en ejecución pasa a listo y su tiempo de estimación se
decrementa con el tiempo que ha estado ejecutándose. Este algoritmo tiene mayor ventaja del SJF ya que es óptimo para
las ráfagas que llegan indistintamente ya que prefiere los procesos cortos y tiene la opción de suspender el que se está
ejecutando para dar paso al nuevo.
Uso del quantum
En este caso se usa un Quantum, que es un tiempo determinado en el que pasa un proceso por el CPU que no puede ser
modificado por el usuario.
Ejemplo:
En un cierto instante se tiene los siguientes procesos:
Proceso Tiempo
de
llegada
Tiempo
de
servicio
P1 0 7
P2 2 4
P3 4 1
P4 5 4
Indicar los valores de:
Tiempo de espera y tiempo de retorno de cada trabajo, tiempo medio de espera y retorno, cuando la planificación se
realiza mediante el algoritmo SRTF con un quantum de 2.
SOLUCIÓN:
Ejemplo: quantum =2;
Proceso Tiempo
de
llegada.
Priori
dad
Tiempo de
Servicio
Tiemp
o de
Com.
Tiempo de
Fin
Turna. Tiempo de
Espera
P1 0 7 7 5 3 1 0 4c 0,11,13
,15
2,13,15,16 16-0=16 16-7=9
P2 2 4 4 2 0 2c 2,5 4,7 7-2=5 5-4=1
P3 4 1 1 0 2c 4 5 5-4=1 1-1=0
P4 5 4 4 2 0 2c 7,9 9,11 11-5=6 6-4=2
Promedio 7 3
NOTA: cuando termina una corrida se vuelve a buscar desde arriba los más cortos excepto los que ya terminaron
Round Robin Una manera rápida de reducir la penalización que los procesos cortos sufren con FCFS es usar expropiación
basada en un reloj. Una interrupción de reloj es generada a intervalos periódicos. Cuando ocurre la interrupción,
el proceso en ejecución es colocado en la cola de procesos listos y el próximo trabajo es seleccionado basado en el
esquema FCFS. A cada proceso se le da un trozo de tiempo.
La principal decisión de diseño que surge con Round Robin es el tamaño del trozo o quantum. Si el quantum es muy
corto, entonces los procesos se moverán a través del sistema rápidamente. Por otro lado, hay un cierto overhead o
desperdicio de tiempo envuelto con el manejo de la interrupción de reloj y las funciones de planificación y
despacho. Por lo tanto un quantum muy pequeños deberían evitarse. Una alternativa es usar un quantum de
tiempo que sea un poco más grande que el tiempo promedio requerido para una interacción típica.
Ejemplo:
En un cierto instante se tiene los siguientes procesos:
Proceso Tiempo de
llegada
Tiempo de
servicio
A 0 8
B 1 4
C 2 9
D 3 5
Indicar los valores de:
Tiempo de espera y tiempo de retorno de cada trabajo, tiempo medio de espera y retorno, cuando la
planificación se realiza mediante el algoritmo Round Robin con un quantum de 3.
SOLUCIÓN:
Proceso Tiempo
de llegada
Tiempo
de
Servicio
Tiempo
de
Comienz
o
Tiempo de
Finalizació
n
Turnaroun
d
Tiempo de
Espera
A 0 8 0, 12, 21 3, 15, 23 23 15
B 1 4 3, 15 6, 16 16-1=15 11
C 2 9 6, 16, 23 9, 19, 26 26-2=24 15
D 3 5 9, 19 12,21 21-3=18 13
Promedio 20 13
HRN Brinch Hansen desarrolló la estrategia de prioridad a la
tasa de respuesta más alta, que corrige algunas deficiencias
de SJF, particularmente el retraso excesivo de trabajos
largos y el favoritismo excesivo para los trabajos cortos.
HRN es un disciplina de planificación no apropiativa en la
cual la prioridad de cada proceso no sólo se calcula en
función del tiempo de servicio, sino también del tiempo que
ha esperado para ser atendido. Cuando un trabajo obtiene
el procesador, se ejecuta hasta terminar. Las prioridades
dinámicas en HRN se calculan de acuerdo con la siguiente
expresión:
Prioridad = (tiempo de espera + tiempo de servicio) /
tiempo de servicio
Como el tiempo de servicio aparece en el denominador, los
procesos cortos tendrán preferencia. Pero como el tiempo
de espera aparece en el numerador, los procesos largos que
han esperado también tendrán un trato favorable.
Obsérvese que la suma tiempo de espera + tiempo de
servicio es el tiempo de respuesta del sistema para el
proceso si éste se inicia de inmediato.
FIFO
Cuando se tiene que elegir a qué proceso asignar la CPU se escoge al que llevara más
tiempo listo. El proceso se mantiene en la CPU hasta que se bloquea voluntariamente.
La ventaja de este algoritmo es su fácil implementación, sin embargo, no es válido
para entornos interactivos ya que un proceso de mucho cálculo de CPU hace
aumentar el tiempo de espera de los demás procesos. Para implementar el algoritmo
(ver figura 2) sólo se necesita mantener una cola con los procesos listos ordenada por
tiempo de llegada. Cuando un proceso pasa de bloqueado a listo se sitúa el último de
la cola.
En a) el proceso P7 ocupa la CPU, los procesos P2, P4 y P8 se mantienen en la lista de
preparados. En b) P7 se bloquea (ya sea al realizar una E/S, una operación WAIT
sobre un semáforo a cero u otra causa) y P2 pasa a ocupar la CPU. En c) ocurre un
evento (finalización de la operación de E/S, operación SIGNAL,...) que desbloquea a
P7, esto lo vuelve listo, pasando al final de la cola de procesos listos.
Enlace de simulación FIFO
Algunas de las características de este algoritmo es que es no apropiativo y justo en el
sentido formal, aunque injusto en el sentido de que: los trabajos largos hacen esperar
a los cortos y los trabajos sin importancia hacen esperar a los importantes. Por otro
lado es predecible pero no garantiza buenos tiempos de respuesta y por ello se emplea
como esquema secundario.