Está en la página 1de 8

ALGORITMO DE PLANIFICACIÓN DE PROCESOS

Cuando más de un proceso es ejecutable desde el punto de vista lógico, el sistema operativo
debe decidir cuál de ellos debe ejecutarse e3n primer término.

La planificación es la porción del sistema operativo que decide y el algoritmo de planificación es


el utilizado.

Los principales “criterios” respecto de un algoritmo de planificación son: la equidad, la eficacia,


el tiempo de respuesta, el tiempo de regreso, y el rendimiento.

DESCRIPCIÓN CRITERIO
Equidad Garantiza que cada proceso obtenido su proporción justa de la CPU
Eficacia Mantener ocupada la CPU por cierto tiempo
Tiempo de respuesta Minimizar el tiempo de respuesta para los usuarios interactivos
Tiempo de regreso Minimizar el tiempo que deben esperar los usuarios por lotes (Bath)
Para obtener sus resultados
Rendimiento Maximizar el número de tareas por hora

CRITERIOS ORIENTADOS AL USUARIO:

• Tiempo de retorno
Es el intervalo de tiempo desde que el proceso se ofrece hasta el momento que termina,
es decir, la suma de los periodos de tiempo transcurridos esperando entrar en la
memoria, esperando en la cola de procesos listos, ejecutando en el procesador y
efectuando alguna solicitud de E/S. en resumen, es el tiempo que tarda en ejecutarse el
proceso.
• Tiempo de respuesta
Es el tiempo transcurrido desde la presentación de una solicitud hasta que se produce
la primera respuesta. Este criterio es la cantidad de tiempo para comenzar a responder,
pero no el tiempo necesario para mostrar la respuesta. Este tiempo es independiente
del dispositivo de salida, mientras que el tiempo de retorno depende del dispositivo de
salida.

CRITERIOS ORIENTADOS AL SISTEMA:

• Tiempo de espera
Es la cantidad de tiempo que un proceso espera en la cola de procesos listos.
• Tiempo de retorno normalizado
Es la razón el entre el tiempo de retorno y el tiempo de servicio. Este valor indica el
retardo relativo que ha experimentado un proceso. Este valor es más interesante que el
tiempo de retardo, ya que es valor indispensable a la duración del proceso.
• Utilización del procesador
Es el porcentaje de tiempo que el procesador está ocupado.
• Productividad
Es una medida del número de procesos que se completan por unidad de tiempo.
FISTR-COME, FIRST SERVED (FCFS)

Este algoritmo también llamado FCFS (First-Come, First-served), es el algoritmo más sencillo de
implementar. Con este esquema, el proceso que primero solicita el procesador es el primero al
que se le asigna. Esta política se implementa muy fácilmente con una cola FIFO. Cuando un
proceso entra en la cola de procesos listos su PCB se enlaza con el proceso que esta al final de
la cola. Cuando el procesador esta libre se le asigna el proceso, se lo coloca al inicio de la cola de
procesos listos, seleccionando el proceso más antiguo de la cola.

Este algoritmo de planificación es no apreciativa, una vez que se ha asignado el procesador a


un proceso, este lo conserva hasta que se desee liberarlo, ya sea por terminación o bien porque
solicita un recurso de E/S.

Este algoritmo no es especialmente problemático en los sistemas de tiempo compartido, donde


es importante que cada usuario reciba una porción del procesador a intervalos regulares. El
tiempo promedio de espera es bastante largo en este algoritmo.

FCFS tiene un mejor rendimiento en cómputo global con procesos largos que con proseos cortos,
ya que si por ejemplo de retorno normalizado para dicho proceso corto será considerablemente
mayor que el del proceso largo.

Otro problema que representa este algoritmo, es que tiene a favorecer a los proceso con carga
de procesador frente a los procesos con carga de E/S, ya que cuando un procesos con carga de
procesador se están ejecutando, todo los procesos con carga de E/S debe esperar (se han
finalizado la correspondiente ráfaga de E/S) la siguiente ráfaga de procesador, mientras que los
dispositivos de E/S estarán ociosos. Así pues, FCFS puede dar como un resultado un uso eficiente
tanto del procesador como de los dispositivos de E/S.

Ejemplo:

• 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
• Tiempo de retorno de cada trabajo
• Tiempo de medio de espera y retorno
• Cuando la planificación se realiza mediante al algoritmo de FCFS.
Solución 1:
Algoritmo FCFS

Proceso Tiempo Tiempo Tiempo Tiempo de Turnaroad Tiempo


de de de Finalización de
llegada servicio Comienzo 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
PORMEDIO 100 49.50

Solución 2:
Algoritmo FCFS con procesos ordenados por tiempo de servicio
Proceso Tiempo Tiempo Tiempo Tiempo de Turnaroad Tiempo de
de de de Finalización Espera
llegada servicio Comienzo
B 0 100 0 100 100 0
D 1 100 100 200 199 100-1=99
A 2 1 200 201 201-2=199 200-2=198
C 3 1 201 202 20-3=198 201-3=198
PORMEDIO 174.25 123.50

El tiempo promedio de espera bajo una política FCFS generalmente no es mínimo y puede variar
sustancialmente si hay mucha diferencia entre las duraciones de ciclo de los procesos.

En el segundo ejemplo, se presenta un efecto convoy donde los procesos esperan a que un
proceso grande cortó. Un proceso corto saltará a la cabeza de la cola. La ejecución de un proceso
consiste en ciclos de ejecución de la CPU y ciclos de espera por E/S. El algoritmo selecciona aquel
proceso cuyo próximo ciclo de ejecución de CPU sea menor. El problema esta en conocer dichos
valores, pero podemos predecirlos usando la información de los ciclos anteriores ejecutadnos.

Se puede comprobar que el algoritmo SJF es óptimo, ya que ofrece el mínimo tiempo de
promedio de espera para un conjunto de procesos dado. La comprobación muestra que
poniendo un proceso breve antes de un largo reduce el tiempo de espera del proceso corto más
de lo que aumenta el tiempo de espera del proceso largo, por lo tanto se reduce el tiempo de
espera promedio.

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
• Tiempo de retorno de cada trabajo
• Tiempo de medio de espera y retorno
• Cuando la planificación se realiza mediante al algoritmo de FCFS y SJF.

Solución 1:
Algoritmo SJF

Proceso Tiempo Tiempo Tiempo Tiempo de Turnaroad Tiempo


de de de Finalización de
llegada servicio Comienzo 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
PORMEDIO 14.25 7.75

Solución 2:
Algoritmo FCFS
Proceso Tiempo Tiempo Tiempo Tiempo de Turnaroad Tiempo
de de de Finalización de
llegada servicio Comienzo Espera
A 0 8 0 8 8 0
B 1 4 8 12 12-1=11 8-1=7
C 2 9 12 21 21-2=19 12-2=10
D 3 5 21 26 26-3=23 21-3=18
PORMEDIO 15.25 8.75

El problema real de este algoritmo es conocer por lo menos estimular el tiempo de ejecución
para cada proceso. Para procesos de lotes, el sistema puede solicitar al usuario que estime el
valor de la ejecución de dicho proceso y de esta forma podérselo pasar al sistema operativo, sin
embargo en la planificación a corto plazo esta política no se puede emplear ya que no se sabe a
prioridad la duración de un proceso, ano ser que podamos predecir la duración de cada proceso
mediante técnicas estadísticas.

SRT (SHORTEST REMAINING TIME) "PRIMERO EL MENOR TIEMPO RESTANTE"

La política de menor tiempo restante, también llamada SRT (Shortest Remaining Time) 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. La idea es la siguiente, cuando un proceso es añadido 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 consiguiente 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. Ambos algoritmos, el SJF y el SRT, no presentan un sesgo
favorable a los procesos largos como ocurre con el FCFS y tampoco se generan interrupciones
adicionales como en el Round-Robín, por el contrario se deben llevar una cuenta de los tiempos
de servicio transcurridos con el fin de que la función estadística estime de la forma más veraz los
tiempos de ejecución para cada proceso. El algoritmo SRT produce unos tiempos de retorno
mejores que el SJF, ya que los trabajos cortos reciben atención inmediata y preferente a los
procesos largos.

PRIORIDAD
En muchos sistemas, los procesos tienen prioridades asignadas, y el planificador escogerá aquel
proceso con mayor prioridad. Cuando un proceso debe ser seleccionado, el planificador por
prioridades seleccionará aquel proceso que tenga mayor prioridad. Si hay más de un proceso
entonces se deberá seguir alguna política de selección. Un problema que presenta un esquema de
planificación por prioridades puro es que los procesos con la prioridad más baja pueden sufrir de
inanición o bloqueo indefinido. Un proceso que está listo para correr pero espera porque siempre
hay procesos con prioridad más alta. Para evitar este problema, se puede ir incrementando
gradualmente la prioridad de los procesos (envejecimiento). SJF es un caso especial de
planificación por prioridad, donde la prioridad es el inverso del valor estimado del próximo ciclo
de CPU (a menor ciclo, mayor prioridad).

Ejemplo:
• Sea la siguiente descripción de carga:

Trabajo Ráfaga Prioridad


A 8 2
B 4 1
C 9 4
D 5 2

INDICAR LOS VALORES DE:


• Tiempo de espera
• Tiempo de retorno de cada trabajo
• Tiempo de medio de espera y retorno
• Cuando la planificación se realiza mediante el algoritmo de prioridades y del tipo no
apropiativa

Solución:
Algoritmo por prioridades

Proceso Tiempo prioridad Tiempo Tiempo Tiempo de Turnaroad Tiempo de


de de de Finalización Espera
llegada servicio Comienzo
A 0 2 8 0 8 8 0
B 1 1 4 22 26 26-1=25 22-1=21
C 2 4 9 8 17 17-2=15 8-2=6
D 3 2 5 17 22 22-3=19 17-3=16
PORMEDIO 16.75 10.25

Este algoritmo puede ser apropiado y no apropiado. En el caso de apropiado, cuando un proceso
llaga a la cola de procesos listos, su prioridad es compartida con la prioridad del proceso que
está corriendo. Si la prioridad del nuevo proceso es mayor, entonces se atiende al nuevo
proceso.

ALGORITMO SRTF

En el algoritmo SRT, Shortest Remaining Time o Primero el menor tiempo restante, es la versión
expulsiva del algoritmo SJF conocido como “trabajo mas corto primero” que maneja los trabajos
con base en 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 decreta 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 suspende el que
se está ejecutando para dar paso al nuevo.

USO DEL QUANTUM

En este caso se usa 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 Tiempo de
llegada servicio
P1 0 7
P2 2 4
P3 4 1
P4 5 4

INDICAR LOS VALORES DE:


• Tiempo de espera
• Tiempo de retorno de cada trabajo
• Tiempo de medio de espera y retorno
• Cuando la planificación se realiza mediante el algoritmo STRF con un quantum de 2.

Solución:

Algoritmo STFR (Quantum =2);

Proceso Tiempo prior Tiempo de servicio Tiempo Tiempo Turnaro Tiempo de


llegada idad de Com. Fin. ad Espera
P1 0 7 7 5 3 1 0 4c 0,11,13, 2,13, 16-0=16 16-7=9
15 15,16
P2 1 1 4 2 0 2c 2,5 4,7 7-2=5 5-4=1
P3 2 4 1 0 2c 4 5 5-4=1 1-1=0
P4 3 2 4 2 0 2c 7,9 9,11 11-5=6 6-4=2
PORMEDIO 7 3

NOTA: Cuando termina una corrida se vuelve a buscar desde arriba los más coros excepto los
que ya terminaron.

ROUND Robin”Turno rotatorio”


Una manera rápida de reducir la penalización que los procesos cortos sufren con FCFS es usar
exportación basada en un reloj. Una interacción, el proceso en ejecución es colocado en la cola
de procesos listos y el próximo trabajo es seleccionado basados ene l 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 tamaño del trozo o Quantum., si es quantum es muy corto, entonces los procesos se moverán
a través del sistema rápidamente. Por otro lado, hay un cierto overead o desperdicio de tiempo
envuelto con manejo de la interrupción del reloj y las funciones de planificación y despacho. Por
lo tanto quanta muy pequeños deberían evitarse. Una alternativa es usar un quantum de tiempo
que sea un poco mas tarde que el tiempo promedio requerido para una interacción típica.

Round Robin es 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
después del quantum de tiempo. Si tenemos n procesos en la cola de listos y el quantum es de q
unidades de tiempo, entonces cada proceso recibe 1/n tiempos de procesador en trozos de q
unidades de tiempo como máximo, y además ningún proceso debe esperar más de (n-1) x q
unidades de tiempo antes de recibir su siguiente quantum. El desempeño de este algoritmo
dependerá del tamaño del quantum. Si el quantum es infinito entonces degenera en FCFS. Si el
quantum es muy pequeño entonces Round Robin es llamado compartición de CPU y en teoría
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.

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

Proceso Tiempo de Tiempo de


llegada servicio
A 0 8
B 1 4
C 2 9
D 3 5

INDICAR LOS VALORES DE:


• Tiempo de espera
• Tiempo de retorno de cada trabajo
• Tiempo de medio de espera y retorno
• Cuando la planificación se realiza mediante el algoritmo Round Robin con un quantum
de 3.

Solución:
Algoritmo Round Robin

Proceso Tiempo Tiempo Tiempo de Tiempo de Turnaroad Tiempo


de de Comienzo Finalización de
llegada servicio 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
PORMEDIO 20 13

También podría gustarte