Está en la página 1de 9

Unidad 3 - La gestión de los recursos y de la memoria 51

3 >> Algoritmos de planificación


3.1 > Cómo planificar la CPU
La planificación de la CPU es la base de los sistemas operativos multipro-
gramados. Alternando el uso de la CPU entre los procesos, el sistema ope-
rativo hace que el ordenador sea más productivo.
Los algoritmos de planificación son las políticas que se seguirán
para elegir qué proceso entra en cada momento a ejecutarse en
el sistema.
La política empleada es crítica para decidir el orden de ejecución de los
procesos, por lo que al realizar una planificación se siguen los siguientes
criterios:
– Maximizar la utilización y productividad de la CPU.
– Minimizar el tiempo de retorno, de espera y de respuesta.
Edsger Dijkstra
La multiprogramación significa que varios programas que están en me-
moria al mismo tiempo pueden compartir la CPU, mejorando la eficiencia Entre sus contribuciones a la informática
global del sistema y realizando más trabajo en menos tiempo. está la solución del problema del camino
más corto, también conocido como al-
Un trabajo se ejecuta hasta que deba esperar, normalmente para acabar goritmo de Dijkstra.
alguna solicitud de E/S. En un sistema informático sencillo, la CPU perma-
necería inactiva durante ese tiempo; con la multiprogramación sin em-
bargo, si mantenemos en memoria varios trabajos al mismo tiempo, cuando
uno de ellos tiene que esperar, el sistema operativo retira de la CPU ese
trabajo y la dedica a otro. Los beneficios de la multiprogramación son:
– Incremento de la utilización de la CPU.
– Mayor productividad (throughput): mayor cantidad de trabajo realizado
en un intervalo de tiempo dado.
El sistema operativo debe suministrar los servicios necesarios que permitan
el procesamiento concurrente en los sistemas de multiprogramación. Ade-
más, ha de disponer de algoritmos de gestión y planificación para decidir
qué proceso se va a ejecutar y llevar la cuenta de los procesos que están en
el sistema, de sus prioridades y de toda la información referente a ellos.
Copyright © 2013. Macmillan Iberia, S.A.. All rights reserved.

3.2 > Criterios de rendimiento de un algoritmo de planificación


A la hora de seleccionar un algoritmo de planificación se deben tener en
cuenta las propiedades de los mismos. Algunos criterios para determinar Evaluación de los algoritmos
cuál es el mejor algoritmo para una situación determinada serían: Se puede seleccionar un algoritmo de
planificación de la CPU para un sistema
– Utilización de la CPU: porcentaje de tiempo que está ocupado el proce-
determinado basándose en criterios
sador. Debe tender a ser el máximo posible.
como:
– Productividad: trabajos que se completan o finalizan por unidad de
– Maximización de la utilización de la
tiempo.
CPU bajo la restricción de que el
– Tiempo de retorno: intervalo de tiempo desde la entrada de un proceso
tiempo máximo de respuesta sea de
en el sistema hasta su finalización. un segundo.
– Tiempo de espera: tiempo que un proceso permanece en la cola de – Maximización de la productividad de
preparados. modo que el tiempo de retorno sea
– Tiempo de respuesta: tiempo que un proceso bloqueado tarda en entrar proporcional al tiempo total de eje-
en la CPU desde que ocurre el evento que lo bloquea. cució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

No existe una política de planificación óptima. Para estudiar el comporta-


miento de las distintas políticas de planificación se definen dos medidas
relacionadas entre sí que nos indican cómo se está tratando un proceso en
concreto.
Sea t el tiempo que un proceso necesita estar en ejecución para finalizar
su trabajo, ti el instante en que el usuario solicita la ejecución del proceso
y tf el momento en el que el proceso termina su ejecución. En función de
estas variables tendremos las siguientes medidas para cada proceso:
– Tiempo de servicio (T): es el que necesitaría un proceso para ejecutarse
si fuera el único presente en el sistema: T = tf − ti.
– Tiempo de espera (E): es el tiempo que permanece un proceso en el sis-
tema sin que se esté ejecutando: E = T − t.
A partir de los valores anteriores podemos establecer una relación que
permite evaluar la actuación de la política de planificación, lo que se de-
nomina índice de servicio (I). Este índice representa el tanto por uno de
tiempo que el proceso está en ejecución respecto al tiempo de vida del
mismo en el sistema. Su valor máximo (y por tanto óptimo) es 1:
t
I=−
T

Ejemplos

Cálculo de los criterios de rendimiento


Supongamos que estamos en un sistema monotarea para realizar los cálculos correspondientes, por lo que los
procesos irán adquiriendo el control de la CPU según vayan llegando al planificador. Sean A, B y C los tres pro-
cesos que queremos estudiar en ese orden de llegada al planificador. El proceso A marcará el momento inicial
del estudio, por lo que le asignaremos ti = 0, el proceso B llegará 1 unidad de tiempo después y el proceso C
llegará 7 unidades más tarde que B. Sus tiempos de ejecución serán de 2, 4 y 5 unidades de tiempo, respec-
tivamente. Procedamos a rellenar una tabla con estos datos y realizar los cálculos pertinentes: El proceso A
será el primero en usar la CPU (no está ocupada), por lo que acabará en:
tf = ti + t = 0 + 2 = 2
El proceso B podrá usar la CPU cuando acabe el proceso A, ya que, en el momento que realiza su petición, la
Copyright © 2013. Macmillan Iberia, S.A.. All rights reserved.

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:

Tiempo de Tiempo de Tiempo de Índice de


Momento de ejecución Momento de servicio (T) espera (E) servicio (I)
Proceso
llegada (ti) (t) finalización (tf) tf — ti T—t t/T
A 0 2 2 2 0 1
B 1 4 6 5 1 0,8
C 8 5 13 5 0 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.
Unidad 3 - La gestión de los recursos y de la memoria 53

3.3 > Políticas de planificación


Las políticas de planificación se pueden dividir en:
– Apropiativas: permiten que un proceso con mayor prioridad quite la CPU La planificación
al proceso que se está ejecutando antes de su finalización. Los inconve-
Dependiendo de cómo planifiques tu
nientes son el coste en pérdidas de tiempo al cambiar de proceso, la coor-
tiempo, podrás dedicarle más a unas co-
dinación del acceso a datos compartidos y evitar que estructuras de datos sas o a otras. Exactamente lo mismo es
del núcleo puedan quedar inconsistentes por los cambios de contexto. lo que sucede en el interior de los orde-
– No apropiativas: una vez que un proceso obtiene la CPU no se le puede nadores.
quitar hasta que no acabe su ejecución. Esta política genera un problema
de acaparamiento injusto de la CPU.
– De prioridades: consiste en asignar un valor cuantificable que le da
más prioridad a unos procesos que a otros. Hay dos tipos de prioridades:
• Estáticas: se mantiene la prioridad asignada durante la ejecución.
• Dinámicas: se varía la prioridad durante la ejecución.
– Quantum: es una unidad de tiempo que se calcula dividiendo el tiempo
de proceso entre los pulsos de reloj producidos durante la ejecución.
Una vez pasado se interrumpe el proceso activo para pasar la CPU al si-
guiente proceso. Se evita que los usuarios monopolicen la CPU y garan-
tiza tiempos de respuesta aceptables para los usuarios interactivos.
Básicamente, las políticas o algoritmos de planificación son:
– FCFS (first come first served): el primer proceso que llega es al primero
que se le asigna el recurso.
– SJF (shortest job first): el proceso más pequeño primero.
– SRT (shortest remaining time first): el proceso más corto primero.
– RR (round robin): rota los procesos, asignándoles porciones iguales de
tiempo a todos ellos.
A la hora de manejar las colas de prioridades nos encontramos con:
– MLQ (multilevel queues): colas de varios niveles.
– MLFQ (multilevel feedback queues): colas de varios niveles con retroali-
mentación para modificar el nivel.
Copyright © 2013. Macmillan Iberia, S.A.. All rights reserved.

Ejemplos

Datos para los casos de estudio


Desarrollaremos ejemplos basados en la situación del siguiente grupo de procesos, teniendo en cuenta que no
necesitan realizar operaciones de entrada/salida y que la unidad de tiempo puede ser cualquiera:

Proceso Momento de llegada (ti) Tiempo de ejecución (t) Prioridad


A 0 3 1
B 0 8 1
C 2 3 2
D 5 2 0
E 10 4 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.
54

FCFS (first come first served)

¿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

Algoritmo de planificación FCFS sin prioridad


Partimos de los datos del ejemplo anterior, trasladamos las columnas relativas al tiempo de inicio (ti) que
se corresponden con el momento de llegada del proceso al planificador a corto plazo, al tiempo de ejecución
(t) y a la prioridad, que en este caso no se tendrá en cuenta:

Algoritmo FCFS sin prioridad


Proceso ti t tf Prioridad T E I
A 0 3 3 1 3 0 1,00
B 0 8 11 1 11 3 0,73
C 2 3 14 2 12 9 0,25
D 5 2 16 0 11 9 0,18
E 10 4 20 1 10 6 0,40
Medias 9,40 5,40 0,51

Vamos a hacer los cálculos relativos al proceso B:


tf = t + tf del proceso anterior = 8 + 3 = 11 T = tf − ti = 11 − 0 = 11
Copyright © 2013. Macmillan Iberia, S.A.. All rights reserved.

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

Algoritmo de planificación FCFS con prioridad

Algoritmo FCFS con prioridad


Proceso ti t tf Prioridad T E I
A 0 3 3 1 3 0 1,00
B 0 8 17 1 17 9 0,47
C 2 3 20 2 18 15 0,17
Copyright © 2013. Macmillan Iberia, S.A.. All rights reserved.

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

SJF (shortest job first)


Como hemos visto, el problema que presenta el algoritmo FCFS con prio-
ridades es la posibilidad de que los procesos entren en un estado de inani-
ción. Puede darse el caso de tener un proceso que sea rechazado siempre
por tener una prioridad baja pero al que le haga falta muy poco tiempo
para acabar. La solución que se ideó fue dar preferencia a los que tuviesen
un tiempo de ejecución menor.
El algoritmo SJF se basa en ejecutar primero los procesos de menor tamaño
y, en caso de que haya dos iguales, se prioriza el que llegó antes al sistema.
Por tanto, es un algoritmo no apropiativo.
La experiencia demuestra que dando preferencia a un trabajo corto sobre
uno largo se reduce el tiempo de espera del trabajo corto más de lo que se
incrementa el tiempo de espera del largo, con lo que el tiempo de espera
medio decrece.
El inconveniente que presenta este algoritmo es que en la vida real ten-
dríamos que intentar predecir el tiempo que un proceso tarda en ejecutarse
en función de tiempos de referencia tomados de ejecuciones anteriores.

SRT (shortest remaining time first)


La evolución lógica será convertir el algoritmo anterior en apropiativo. Para
ello tenemos en cuenta el tiempo restante de ejecución y no el tiempo
inicial, como en el SJF. La fórmula será revocar la asignación del recurso co-
rrespondiente cuando llegue un proceso con un tiempo restante de ejecución
menor que el que se está ejecutando en ese momento. Al asegurarnos de
que se ejecuta el proceso más corto, la eficiencia, teóricamente, será mayor.
Las características más importantes de este algoritmo son:
– Es injusto, si una serie de procesos cortos quitan repetidamente el pro-
cesador a uno largo que, a la vez, lo está usando y está terminando.
– Logra un excelente tiempo medio de servicio.
– Resulta muy eficiente.
Copyright © 2013. Macmillan Iberia, S.A.. All rights reserved.

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

Colas multinivel (MLQ: multilevel queues)


Son algoritmos utilizados para situaciones en las que los procesos son cla-
sificables en diferentes grupos.
Una división común es la que se realiza entre los procesos interactivos
(foreground) y los procesos por lotes (background) que no necesitan la inter-
¿Y si un proceso no logra acabar vención del usuario. Estos procesos tienen unos requerimientos muy dife-
nunca? rentes en cuanto al tiempo de respuesta y, por tanto, suelen tener distintos
Si esto llegara a suceder, estaríamos ante algoritmos de planificación, con prioridad a los interactivos sobre los pro-
un caso de postergación indefinida. cesos por lotes.
Para intentar resolver este problema se
Un algoritmo de planificación de colas múltiples coloca los procesos pre-
emplea el envejecimiento de priorida-
parados en colas separadas. Los procesos permanecen asignados a una
des, que asegura que cualquier proceso
en algún momento logrará tener la má-
cola en base a alguna propiedad de los mismos, como el tipo de trabajo o
xima prioridad. la necesidad de la memoria. Por ejemplo, los trabajos interactivos con un
algoritmo round robin y los procesos por lotes a través del algoritmo FCFS.
Por lo general, para asegurar que todo
proceso que llegue a la cola de máxima En estos algoritmos es preciso, además, una planificación entre colas, que
prioridad no se estanque en ella, se usa consiste generalmente en una planificación apropiativa con prioridad fija.
un algoritmo no apropiativo como FCFS.
Para solucionar la postergación indefinida que se puede dar, se utiliza el
envejecimiento de prioridades. Así, cuando un proceso lleva demasiado
tiempo en un nivel inferior esperando a ser atendido, se le sube de nivel o
de prioridad; de este modo las prioridades deben de ser dinámicas.

Colas multinivel con realimentación (MLFQ: multilevel feedback


queues)
Las colas multinivel con realimentación son la solución al problema de la
postergación indefinida, ya que se permite la movilidad entre colas, lo-
Procesos del SO
grando que un proceso pueda pasar de una cola a otra.
Este esquema provoca que los procesos interactivos y los propios procesos
Procesos del sistema operativo se coloquen en las colas de mayor prioridad, los pri-
interactivos
meros motivados por la necesidad de una respuesta rápida, para no ofrecer
Prioridad
la sensación al usuario que está interactuando de que el ordenador se ha
... quedado colgado, y los segundos, por cuestiones de seguridad, no deben
quedar postergados ante el resto de procesos que se disputan la CPU, pues
Copyright © 2013. Macmillan Iberia, S.A.. All rights reserved.

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

3.4 > Planificación en multiprocesadores


Los procesadores pueden ser de dos tipos: idénticos (sistema homogéneo)
o diferentes (sistema heterogéneo). Si son diferentes, las opciones son re-
lativamente limitadas: cada procesador tiene su propia cola y su propio
algoritmo de planificación. Los trabajos están clasificados por su estructura,
de modo que se tienen que ejecutar en un procesador determinado.
Si tenemos varios procesadores idénticos, podemos tener una carga com-
partida: podrían tener colas separadas para cada procesador. Pero un pro-
cesador podría estar sobresaturado mientras otro permanece inactivo. Para
evitar esto se utiliza una cola común. Así, todos los trabajos están en una
cola común y se planifican sobre cualquier procesador disponible.
Se pueden dar dos enfoques de planificación en multiprocesadores:
– Cada procesador se autoplanifica: cada procesador examina la cola y
selecciona un proceso que ejecutar, por lo que hay que asegurarse de
que dos procesadores no seleccionaron el mismo proceso para ejecutar
y de que no se pierden procesos en la cola.
– Un procesador planifica a los demás: se tiene una estructura maestro/es-
clavo. El procesador principal ejecuta el sistema operativo y las rutinas
principales y los esclavos solo ejecutan programas de usuario. El pro-
blema puede surgir si se queda bloqueado el maestro.

Casos prácticos 1

Estudio de políticas de planificación con multiprocesadores


·· Confecciona el diagrama de Gantt correspondiente para el siguiente grupo de procesos, sabiendo que
tenemos cuatro procesadores y que las colas de prioridades de la CPU se resuelven con los algoritmos:
– Cola 0: FCFS
Proceso ti t Prioridad Proceso ti t Prioridad
– Cola 1: SRT
– Cola 2: RR con quantum 2 A 0 6 2 D 0 2 2
B 0 11 0 E 0 3 1
C 0 4 1 F 0 7 2
Copyright © 2013. Macmillan Iberia, S.A.. All rights reserved.

Solución ·· Debemos tener en cuenta Cola Algoritmo


que, cuando se refresca la prioridad (en 0 CPU FCFS B B B B B B B B B B B
nuestro caso cada 5 unidades temporales) 1 CPU SRT EC EC EC C AF AF AF F F
hemos de descontar una unidad a los pro- 2 CPU RR-2 ADF ADF DFA DFA FA
cesos que están en la cola 1 o 2. Tendremos
Procesos
que ir construyendo el contenido de las
A P4 P4 P3 P3 P3 P3
colas según se reciben las peticiones de
B P1 P1 P1 P1 P1 P1 P1 P1 P1 P1 P1
los procesos y ver en cada momento qué
C P3 P3 P3 P3
procesador está libre para conceder la CPU
D P4 P4
(pueden trabajar cuatro procesos a la vez).
E P2 P2 P2
F P2 P2 P2 P2 P2 P2 P2
1 2 3 4 5 6 7 8 9 10 11

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.

También podría gustarte