Tema 3 Planificación
Tema 3 Planificación
Tema 3 Planificación
I) PROPÓSITO DE LA PLANIFICACIÓN
El planificador a largo plazo determina qué programas se admiten en el sistema para su procesamiento.
De esta forma, se controla el grado de multiprogramación (cuantos más procesos se crean, menor
porcentaje de tiempo en el que cada proceso se puede ejecutar). Una vez admitido, un trabajo o
programa de usuario se convierte en un proceso y se añade a la cola del planificador a corto plazo. En
algunos sistemas, un proceso de reciente creación comienza en la zona de intercambio, en cuyo caso se
añaden a la cola del planificador a medio plazo. En un sistema por lotes, o en la parte de lotes de un
sistema operativo de propósito general, los nuevos trabajos enviados se mandan al disco y se mantienen
en una cola de lotes. El planificador a largo plazo creará procesos desde la cola siempre que pueda. En
este caso hay que tomar dos decisiones. La primera, el planificador debe decidir cuándo el sistema
operativo puede coger uno o más procesos adicionales. La segunda, el planificador debe decidir qué
trabajo o trabajos se aceptan y son convertidos en procesos.
La decisión de qué trabajo admitir el siguiente, puede basarse en un sencillo «primero en llegar primero
en servirse», o puede ser una herramienta para gestionar el rendimiento del sistema. El criterio utilizado
puede incluir la prioridad, el tiempo estimado de ejecución y los requisitos de E/S.
En términos de frecuencia de ejecución, el planificador a largo plazo ejecuta con relativamente poca
frecuencia y toma la decisión de grano grueso de admitir o no un nuevo proceso y qué proceso admitir.
El planificador a medio plazo se ejecuta más frecuentemente para tomar decisiones de intercambio. El
planificador a corto plazo, conocido también como activador, ejecuta mucho mas frecuentemente y
toma las decisiones de grano fino sobre que proceso debe ejecutar siguiente.
El planificador a corto plazo se invoca siempre que ocurre un evento que puede conllevar el bloqueo del
proceso actual y que puede proporcionar la oportunidad de expulsar al proceso actualmente en
ejecución a favor del otro. Algunos ejemplos de estos eventos son: interrupción del reloj, interrupciones
de E/S, llamadas al sistema, señales (semáforos, por ejemplo).
V) ALGORITMOS DE PLANIFICACIÓN
El objetivo principal de la planificación a corto plazo es asignar tiempo de procesador de tal forma
que se optimicen uno o más aspectos del comportamiento del sistema.
o Criterios orientados al usuario: están relacionados con el comportamiento del sistema tal y
como lo percibe un usuario individual o un proceso. Un ejemplo es el tiempo de respuesta
en un sistema interactivo. El tiempo de respuesta es el tiempo que transcurre entre el envío
de una petición y la aparición de la respuesta. Esta cantidad es visible por parte del usuario y
lógicamente es de su interés. El tiempo de retorno también es un aspecto importante, desde
el lanzamiento hasta la finalización de un proceso (apropiado para trabajos por lotes). Los
plazos son de bastante interés para el usuario (cuando se puede especificar la fecha tope de
un proceso, el planificador debe subordinar otros objetivos al de maximizar el porcentaje de
fechas tope conseguidas).
Otro aspecto de interés para el usuario ha de ser la previsibilidad. Un trabajo dado debería
ejecutarse aproximadamente en el mismo tiempo y con el mismo coste a pesar de la carga
del sistema. Una gran variación en el tiempo de respuesta o en el tiempo de estancia es malo
desde el punto de vista de los usuarios. Puede significar una gran oscilación en la sobrecarga
del sistema o la necesidad de poner a punto el sistema para eliminar las inestabilidades.
Las políticas de expulsión pueden conllevar una mayor sobrecarga pero pueden proporcionar mejor
servicio a la población total de procesos, ya que previenen que cualquier proceso pueda monopolizar
el procesador durante mucho tiempo.
Es la directive de planificación mas sencilla, el primero en llegar es el primero en ser servido hasta
que termina. Cada proceso se incorpora a la cola de listos, cuando el proceso actual cesa la
ejecución, se selecciona el proceso que lleve mas tiempo listo. Tiene un modo de decisión no
preferente (no expulsivo).
Este algoritmo funciona mucho mejor para procesos largos que cortos.
Esta planificación tiende a favorecer procesos limitados por el procesador sobre los limitados por la
E/S.
FCFS no es una alternativa atractiva por si misma para un sistema uniprocesador, pero es combinada
con esquemas de prioridades para proporcionar una planificación eficaz. De esta forma el
planificador pude mantener varias colas, una por cada nivel de prioridad, y despachar dentro de
cada cola usando primero en llegar primero en servirse. Esto se denomina ‘Feedback’.
Es una forma de reducir el castigo que tienen los procesos cortos con FCFS, se trata de la utilización
de la expulsión basándose en el reloj. Se genera una interrupción del reloj cada cierto intervalo de
tiempo. Cuando sucede la interrupción el proceso actual se coloca en la cola de listos y se selecciona
el siguiente trabajo según FCFS.
Con esta planificación el tema clave es el diseño de la longitud de “quantum”. Si el quantum es muy
pequeño el proceso se moverá por el sistema relativamente rápido. Por otra parte habría una
sobrecarga de procesamiento debido al manejo de la interrupción de reloj y por las funciones de
planificación y activación. Una buena ida es que el quantum de tiempo debe ser ligeramente mayor
Una desventaja de este algoritmo es que se trata de forma desigual a los procesos limitados por el
procesador y a los limitados por E/S. Un proceso limitado por la E/S utiliza el procesador durante un
periodo corto y luego se bloquea; espera a que complete la operación de E/S y a continuación se une
a la cola de listos, por lo tanto, no aprovechan el quantum.
Es una política no expulsiva (el proceso se ejecuta hasta que termina). Se selecciona el proceso con
el tiempo mas corto de procesamiento. De esta forma el proceso más corto se sitúa el primero en la
cola. Estos procesos son atendidos mucho más rápido que en FCFS.
En un entorno de producción, ejecutan frecuentemente los mismos trabajos y, por tanto, se pueden
recoger estadísticas. Para procesos interactivos, el sistema operativo podría guardar una media del
tiempo de ejecución de cada «ráfaga» de cada proceso.
Aunque puede darse inanición para los procesos largos si hay una llegada masiva de procesos cortos.
Se reduce la previsibilidad de los procesos largos (puede variar mucho de una vez a otra).
Es una versión expulsiva de SPN. En este caso, el planificador siempre escoge el proceso que tiene el
menor tiempo de proceso restante esperado. Cuando un nuevo proceso se une a la cola de listos,
podría tener un tiempo restante menor que el proceso actual, por tanto el planificador debería
expulsar al proceso actual. Al igual que con SPN el planificador debe tener una estimación del
tiempo de proceso para realizar la función seleccionada, y existe riesgo de inanición para los
procesos más largos.
Este algoritmo de planificación busca un equilibrio entre los procesos largos y cortos. Problema: al
haber que realizar cálculos es más lento.
*Entra el proceso A y a los 2s que llega B se hacen los cálculos: TR(B) = 0+6/6 = 1, TR(A) = 0+3/3 =1,
por ello se sigue ejecutando A hasta que termina, en el t=4 entra también C (aunque B estaba ya
esperando), se hacen los cálculos: TR(B) = 1+6/6 = 1.166, TR(C) = 0+4/4=1. Se ejecuta B porque es el
que menor tasa tiene.
En resumen, el primero que entra es atendido hasta que termina. Después se hacen los cálculos para
todos los procesos que ya han entrado cuando termina el primero y el que tenga menor tasa es el
atendido hasta que termina. Cuando termina éste se vuelven a hacer los cálculos con los procesos
que hay en cola para elegir al siguiente, y así sucesivamente.
REALIMENTACIÓN MULTINIVEL
No se dispone de información del tiempo de procesamiento. Para dar preferencia a los procesos
cortos, se penaliza a los que han estado ejecutándose más tiempo.
Natalia Pinto Esteban 7
Función de selección: FIFO con reducción de prioridad tras cada ejecución.
Cuando un proceso entra al sistema se sitúa en la cola (CL0). Después de su primera expulsión,
cuando vuelve al estado de listo se sitúa en la cola CL1. Cada vez que es expulsado, en la siguiente
cola de menor prioridad. Un proceso corto se completará de forma rápida, sin llegar a migrar muy
lejos en la jerarquía de colas de listos. Un proceso mas largo irá degradándose gradualmente. De
esta forma se favorece a los procesos nuevos más cortos sobre los mas viejos y largos. Dentro de
cada cola hay un mecanismo FCFS. Una ve en la cola de menor prioridad, un proceso no puede
descender más, por lo que es devuelto a esta cola repetidas veces hasta completar su ejecución. Es
una política de turno rotatorio.
Este enfoque es conocido como retroalimentación multinivel, ya que el sistema operativo adjudica
el procesador a un proceso y, cuando el proceso se bloquea o es expulsado, lo vuelve a situar en una
de las varias colas de prioridad.
Procesos largos: llevados gradualmente hacia abajo. Problema: pueden sufrir inanición en colas de
prioridad baja si llegan muchos procesos cortos continuamente. Solución: cuanta menor es la
prioridad se pueden asignar mas cuantos de tiempo de ejecución. Tras cierto tiempo de espera ren
cola, se le cambia a una cola de prioridad mayor.
o FIFO con prioridades realimentadas: FIFO y cada vez que un proceso deja la CPU se
decrementa su prioridad.
o Cualquier política + prioridades: se sigue la política concreta (q. puede ser apropiativa o no
apropiativa), pero si llega proceso con mayor prioridad, entra directamente.
Son procesos que tienen un limite de tiempo de ejecución, y no pueden esperar mas de un
determinado tiempo.
Son procesos referentes a sistemas militares de mando y control, control de tráfico aéreo, control de
procesos de plantas industriales…
El planificador debe tener en estos casos en cuenta los plazos para poder ejecutar lo que le
corresponda dentro de un plazo límite.
PREGUNTA! En un sistema que planifica procesos con Round Robin, ¿Qué ocurre con el
número de cambios de contexto por unidad de tiempo? ¿Aumenta, disminuye…?
Respuesta: Se queda igual, porque depende del cuanto, no hay mas cambios de
contexto.
4. Para la planificación de procesos, un valor bajo de prioridad, ¿representa una prioridad baja o alta?
12. Considere el siguiente conjunto de procesos y realice el diagrama de Gantt para todos los tipos de
planificación.