1.
Políticas de planificación de procesos
1.1 FCFS – First Come First Served o FIFO
En esta política el primero en llegar es el primero en ser servido.
Ejemplo:
PROCESOS RÁFAGA DE CPU (ms)
P1 24
P2 3
P3 3
Se sabe que los procesos llegan en el orden: P1, P2, P3. La planificación es:
P1 x x x x x x x x x x x x x x x x x x x x x x x x
P2 e e e e e e e e e e e e e e e e e e e e e e e e x x x
P3 e e e e e e e e e e e e e e e e e e e e e e e e e e e x x x
ms 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Tiempo de espera para P1 = 0; P2 = 24; P3 = 27
Tiempo de espera medio: (0 + 24 + 27)/3 = 17
Tiempo de retorno medio:(24 + 27 + 30)/3 = 27
1.2. SJF – Shortest Job First
El algoritmo asigna la CPU al proceso cuya siguiente ráfaga de CPU es más corta. Si dos procesos
empatan se resuelve el empate por FCFS.
• no expropiativo – cuando se asigna la CPU a un proceso no se puede quitar hasta que completa su
tiempo de CPU.
1.3. SRTF – Shortest Remaining Time First
• expropiativo – si llega un proceso a la cola de listos con un tiempo de CPU más corto que el tiempo
que le queda al proceso en ejecución, se le quita de la CPU.
El problema es que requiere conocer de antemano la duración de la siguiente ráfaga de CPU, lo cual
no siempre es posible y además pueden generar inanición, es decir, que algunos procesos nunca sean
ejecutados si siempre hay procesos más cortos en cola.
Ejemplo:
Página 1 de 3
PROCESOS LLEGADA RÁFAGA DE CPU (ms)
P1 0 7
P2 2 4
P3 4 1
P4 5 4
Con la versión no expropiativa SJF tenemos la siguiente ejecución:
P1 x x x x x x x
P2 e e e e e e x x x x
P3 e e e x
P4 e e e e e e e x x x x
ms 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Tiempo de espera medio = (0 + 6 + 3 + 7)/4 = 4
Tiempo de retorno medio= (7 + 10 +4 + 11)/4 = 8
Y la versión expropiativa (SRTF):
P1 x x e e e e e e e e e x x x x x
P2 x x e x x
P3 x
P4 e e x x x x
ms 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Tiempo de espera medio = (9 + 1 + 0 +2)/4 = 3
Tiempo de retorno medio= (16 + 5 + 1 + 6)/4 = 7
1.4. RR – Round Robin
Cada proceso obtiene la CPU durante un espacio de tiempo llamado quantum. Cuando el tiempo pasa,
el proceso es expropiado e insertado al final de la cola de listos.
Quantum
El tiempo que se permitirá a un proceso el uso del procesador.
Página 2 de 3
En Windows, dependiendo de la clase de proceso que se trate, un quantum durará entre
(entre 20 y 180 ms), y en Linux, (entre 10 y 200 milisegundos).
El tamaño del quantum es una cuestión importante ya que, si es grande, el algoritmo degenera en un
FCFS y si es pequeño, los cambios de contexto pueden ocasionar una sobrecarga inaceptable. En general
el quantum suele estar entre 10 y 100 ms.
Ejemplo: quantum 20 ms
PROCESOS RÁFAGADE CPU (ms)
P1 53
P2 17
P3 68
P4 24
P1 x x e e e e e e x x e e e x
P2 e e x x
P3 e e e e x x e e e e x x e e x x x
P4 e e e e e e x x e e e e x
ms 0 10 20 30 37 47 57 67 77 87 97 107 117 121 134 144 154 162
1.5 Otros tipos de algoritmos
Planificación por prioridad
En este tipo de planificación a cada proceso se le asigna una prioridad siguiendo un criterio
determinado, y de acuerdo con esa prioridad será el orden en que se atienda cada proceso.
Planificación garantizada
Para realizar esta planificación el sistema tiene en cuenta el número de usuarios que deben ser
atendidos. Para un número "n" de usuarios se asignará a cada uno un tiempo de ejecución igual a 1/n.
Planificación de Colas Múltiples
El nombre se deriva de MQS. En este algoritmo la cola de procesos que se encuentran en estado de
listos es dividida en un número determinado de colas más pequeñas. Los procesos son clasificados
mediante un criterio para determinar en qué cola será colocado cada uno cuando quede en estado de
listo. Cada cola puede manejar un algoritmo de planificación diferente a las demás.
Página 3 de 3