Algoritmos de Planificación

9
LA FELICIDAD DEL ÉXITO NO SE ENCUENTRA AL FINAL, SINO DURANTE EL CAMINO.

Transcript of Algoritmos de Planificación

Page 1: Algoritmos de Planificación

LA FELICIDAD DEL ÉXITO NO SE ENCUENTRA AL FINAL, SINO

DURANTE EL CAMINO.

Page 2: Algoritmos de Planificación

Por: Luis

Pillajo

Contenido

. FCFS

. SJF

. SRT

. SRTF

.Round Robin

. HRN

. FIFO

ESCUELA SUPERIOR POLITÉCNICA

CHIMBORAZO

Algoritmos de Planificación

Page 3: 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

Page 4: Algoritmos de Planificación

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

Page 5: Algoritmos de Planificación

|

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.

Page 6: Algoritmos de Planificación

|

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

Page 7: Algoritmos de Planificación

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

Page 8: Algoritmos de Planificación

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.

Page 9: Algoritmos de Planificación

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.