Está en la página 1de 3

Algoritmo de planificación por 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 CPU

Prioridad

 

A 8

2

 

B 4

1

 

C 9

4

 

D 5

2

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 planificación se realiza mediante el algoritmo de prioridades y del tipo no apropiativo.

SOLUCIÓN:

Proceso

Tiempo

Priorid

Tiempo de

Tiempo de

Tiempo de

Turnaround

Tiempo de

de lleg.

ad

Servicio

Comienzo

Finalización

Espera

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=14

Promedio

16.75

10.25

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. Planificación de colas múltiples con prioridades

Mediante este algoritmo de planificación (ver figura) se le asigna a cada proceso una prioridad que deberá coincidir con alguna de las prioridades asignadas a las colas de procesos listos. Cuando un proceso entre en el sistema se dirigirá a la cola que le corresponda, no pudiendo cambiar de cola de procesos listos mientras esté en el sistema, al contrario que la planificación con realimentación.

al contrario que la planificación con realimentación. El planificador seleccionará el proceso que tenga mayor

El planificador seleccionará el proceso que tenga mayor prioridad, esto es, el proceso que se encuentre en la cola de mayor prioridad, y dentro de cada cola se seleccionará el proceso de acuerdo a la política de planificación específica a dicha cola.

Un problema que presentan estos algoritmos de planificación es que los procesos de prioridad más baja pueden sufrir de inanición. Este problema ocurre, como era de esperar, si hay un flujo continuo de procesos listos de alta prioridad. Para superar este problema, se puede pensar en diseñar un método que pueda cambiar la prioridad del proceso en función de su edad, esto es, aumentar la prioridad por envejecimiento.