3 Algoritmos de Planificación
3 Algoritmos de Planificación
3 Algoritmos de Planificación
Gelpi, Fleta, David, and González, José Manuel Sierra. Sistemas operativos monopuesto, Macmillan Iberia, S.A., 2013. ProQuest Ebook Central,
http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=3217051.
Created from bibliounicartagenasp on 2018-07-30 15:57:46.
52
Ejemplos
CPU está ocupada por este proceso, por lo que acabará en:
tf = mayor(ti, tf(A)) + t = mayor(1, 2) + 4 = 2 + 4 = 6
El proceso C podrá usar la CPU en cuanto llegue, pues no hay ningún proceso activo en ese momento:
tf = mayor(ti, tf(B)) + t = mayor(8, 6) + 5 = 8 + 5 = 13
Aplicando las fórmulas vistas calcularemos los tiempos de servicio, de espera y el índice de servicio:
Gelpi, Fleta, David, and González, José Manuel Sierra. Sistemas operativos monopuesto, Macmillan Iberia, S.A., 2013. ProQuest Ebook Central,
http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=3217051.
Created from bibliounicartagenasp on 2018-07-30 15:57:46.
Unidad 3 - La gestión de los recursos y de la memoria 53
Ejemplos
Gelpi, Fleta, David, and González, José Manuel Sierra. Sistemas operativos monopuesto, Macmillan Iberia, S.A., 2013. ProQuest Ebook Central,
http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=3217051.
Created from bibliounicartagenasp on 2018-07-30 15:57:46.
54
¿Apropiativo o no apropiativo? Este método se conoce también como “primero en entrar, primero en
salir” (FIFO: first in, first out). Es una política no apropiativa por la que, si no
Partiendo de un algoritmo no apropiativo
conseguimos una gestión de los procesos
hay configurada una cola de prioridades, el proceso que toma la CPU no
apropiativa al emplear colas de priori- la abandonará hasta acabar:
dad. 1. El primer proceso que solicita la CPU es el primero en recibir la asigna-
Esta no siempre será la solución; de he- ción de la misma.
cho, en este caso (FCFS) es una solución 2. Cuando el proceso llega a la cola de preparados, su bloque de control
que puede crear otro problema, la ina- de proceso se liga al final de la cola y queda esperando.
nición, para tratar de resolver el efecto
3. Cuando la CPU queda libre, se asigna al proceso situado al principio de
convoy.
la cola y el proceso en ejecución se elimina de la cola.
Ejemplos
E = T − t = 11 − 8 = 3 I = t / T = 8 / 11 = 0,73
Ya solo queda, para poder comparar los algoritmos entre sí, calcular las medias de todos los procesos dividiendo
la suma de cada una de ellas entre el número de procesos que estudiamos:
Imedia = (1,00 + 0,73 + 0,25 + 0,18 + 0,40) / 5 = 0,51
Gráficamente tendríamos:
E
D
C
B
A
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Gelpi, Fleta, David, and González, José Manuel Sierra. Sistemas operativos monopuesto, Macmillan Iberia, S.A., 2013. ProQuest Ebook Central,
http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=3217051.
Created from bibliounicartagenasp on 2018-07-30 15:57:46.
Unidad 3 - La gestión de los recursos y de la memoria 55
Este algoritmo es muy sencillo, pero sus prestaciones son bastante pobres,
produciéndose el llamado efecto convoy: si se asigna un trabajo largo a la
C
CPU, todos los demás permanecen a la espera. El índice de servicio mejora
B
con procesos largos, pero a costa de retener a los procesos cortos.
A
Si aplicamos colas de prioridad, vemos que los procesos cortos entran si 1 2 3 4 5 6 7 8 9
tienen una mayor prioridad, sin quedar estancados por los largos. Esto
lleva a una mejora del algoritmo y, por tanto, del índice de servicio. De
Diagrama de Gantt
esta forma estamos evitando el efecto convoy.
Es una herramienta gráfica que nos per-
Generalmente, las prioridades se corresponden con números enteros del mite mostrar el tiempo que se dedica a
cero en adelante, considerando el cero como la máxima prioridad. Cada cada proceso, tarea o actividad a lo
trabajo tendrá indicada una prioridad y asignaremos la CPU al trabajo que largo de un tiempo total determinado.
tenga la prioridad más alta. Los trabajos con igual prioridad, en este caso,
se asignan según el orden de llegada.
Las prioridades pueden definirse internamente, utilizando el tamaño de
ventana de CPU, o mediante prioridades externas, usando criterios ajenos
al sistema operativo, como el departamento que lo lleva a cabo.
Un proceso listo para la ejecución pero con una prioridad muy baja puede
permanecer indefinidamente en el sistema sin llegar a ejecutarse, efecto
que se conoce como bloqueo indefinido o inanición. Para solucionarlo
se puede incrementar su prioridad por envejecimiento, en función del
tiempo de espera que lleve en el sistema.
Ejemplos
D 5 2 7 0 2 0 1,00
E 10 4 14 1 4 0 1,00
Medias 8,80 4,80 0,73
Gráficamente tendríamos:
E
D
C
B
A
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Gelpi, Fleta, David, and González, José Manuel Sierra. Sistemas operativos monopuesto, Macmillan Iberia, S.A., 2013. ProQuest Ebook Central,
http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=3217051.
Created from bibliounicartagenasp on 2018-07-30 15:57:46.
56
Actividades propuestas
1·· Rellena la tabla con los datos correspondientes a un algoritmo SJF y realiza la gráfica que muestre la evo-
lución de los procesos.
Proceso ti t tf Prioridad T E I
A 0 3 1
B 0 8 1
C 2 3 2
D 5 2 0
E 10 4 1
Medias
Gelpi, Fleta, David, and González, José Manuel Sierra. Sistemas operativos monopuesto, Macmillan Iberia, S.A., 2013. ProQuest Ebook Central,
http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=3217051.
Created from bibliounicartagenasp on 2018-07-30 15:57:46.
Unidad 3 - La gestión de los recursos y de la memoria 57
RR (round-robin)
El diseño del algoritmo RR llega a la par que los sistemas de tiempo com-
partido y consiste en definir una unidad de tiempo llamada quantum, de
forma que los procesos ya no pelean por los recursos sino que estos se
asignan equitativamente a todos ellos por turno. Cuando un proceso llega
al planificador se coloca al final de la cola de procesos preparados. Lo
mismo sucede cuando un proceso agota su rodaja de tiempo.
Se trata de un algoritmo apropiativo, pues le quita el recurso al proceso
que lo está usando en ese momento para asignárselo al siguiente cuando
se acaba el tiempo concedido. El planificador selecciona el primer trabajo
de la cola, fija un temporizador para interrumpirlo tras un quantum de
tiempo y lanza el proceso. Se pueden dar dos casos:
– Que el proceso requiera menos tiempo que el quantum asignado,
por lo que el planificador puede volver a adjudicar el recurso en cuanto
acabe el proceso sin esperar a que acabe el quantum adjudicado.
– Que el proceso requiera más tiempo que el quantum asignado, por
lo que al acabar el quantum de tiempo adjudicado el planificador
lanzará una interrupción y el proceso pasará al final de la cola.
Al final de cada quantum nos encontramos con una interrupción procedente
del temporizador que provoca que, cada vez que un proceso sea desplazado
de la CPU, haya que salvar todos los registros del proceso antiguo y restaurar
los del nuevo. Este trabajo se llama cambio de contexto y su tiempo supone
un coste extra. El quantum de tiempo va a marcar este algoritmo: si es de-
masiado largo degenera en un FCFS y si es demasiado corto y no supera el
coste en tiempo del cambio de contexto el sistema puede llegar a bloquearse.
La idea que plantea el algoritmo RR es asignar, por lo general a las colas
de menor prioridad, turnos equitativos, dando lugar a que todos los pro-
cesos puedan avanzar. Si a esto le unimos que las colas de mayor prioridad
suelen emplear un algoritmo FCFS, tendremos solucionado el problema
de la inanición, pues en las colas menores el orden será rotatorio y en las
mayores al proceso que se le asigna la CPU se le asegura que va a acabar.
Copyright © 2013. Macmillan Iberia, S.A.. All rights reserved.
Actividades propuestas
2·· Rellena dos tablas con los datos correspondientes a un algoritmo round robin con quantum igual a 1 y a
otro con quantum igual a 3.
Proceso ti t tf Prioridad T E I
A 0 3 1
B 0 8 1
C 2 3 2
D 5 2 0
E 10 4 1
Medias
Gelpi, Fleta, David, and González, José Manuel Sierra. Sistemas operativos monopuesto, Macmillan Iberia, S.A., 2013. ProQuest Ebook Central,
http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=3217051.
Created from bibliounicartagenasp on 2018-07-30 15:57:46.
58
Procesos se supone que las peticiones que realizan son indispensables para el buen
por lotes
funcionamiento del equipo.
Si un proceso utiliza mucho tiempo de CPU, pasará a una cola de menor
prioridad y, análogamente, un proceso que permanezca demasiado tiempo
en una cola de baja prioridad puede trasladarse a una cola de prioridad
mayor.
En general, un planificador de colas múltiples con realimentación se
define por los parámetros siguientes:
– El número de colas.
– El algoritmo de planificación de cada cola.
– El método para determinar cuándo pasa un proceso a una cola de ma-
yor/menor prioridad.
– El método para determinar en qué cola entrará un proceso cuando este
precise un servicio.
Gelpi, Fleta, David, and González, José Manuel Sierra. Sistemas operativos monopuesto, Macmillan Iberia, S.A., 2013. ProQuest Ebook Central,
http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=3217051.
Created from bibliounicartagenasp on 2018-07-30 15:57:46.
Unidad 3 - La gestión de los recursos y de la memoria 59
Casos prácticos 1
Gelpi, Fleta, David, and González, José Manuel Sierra. Sistemas operativos monopuesto, Macmillan Iberia, S.A., 2013. ProQuest Ebook Central,
http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=3217051.
Created from bibliounicartagenasp on 2018-07-30 15:57:46.