Tema 3 Planificación

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 11

TEMA 3: PLANIFICACIÓN UNIPROCESADOR

I) PROPÓSITO DE LA PLANIFICACIÓN

El objetivo de la planificación de procesos es asignar procesos a ser ejecutados por el procesador o


procesadores a lo largo del tiempo, de forma que se cumplan los objetivos del sistema, tales como el
tiempo de respuesta, el rendimiento y la eficiencia del procesador y dispositivos E/S. En muchos
sistemas esta actividad de planificación se divide en 3 funciones independientes: planificación a corto
plazo, planificación a medio plazo y planificación a largo plazo.

Natalia Pinto Esteban 1


II) PLANIFICIÓN A LARGO PLAZO

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.

El planificador a largo plazo puede limitar el grado de multiprogramación a fin de proporcionar un


servicio satisfactorio al actual conjunto de procesos. Cada vez que termine un trabajo, el planificador
puede decidir añadir uno o más nuevos trabajos. Además, si la fracción de tiempo que el procesador
está ocioso excede un determinado valor, se puede invocar al planificador a largo plazo.

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.

Para los programas interactivos en un sistema de tiempo compartido, la petición de la creación de un


proceso puede estar generada por un usuario intentando conectarse al sistema. Los usuarios de tiempo
compartido no se sitúan simplemente en una cola hasta que el sistema los pueda aceptar. Más
exactamente, el sistema operativo aceptará a todos los usuarios autorizados hasta que el sistema se
sature. La saturación se estima utilizando ciertas medidas prefijadas del sistema. Llegado a este punto,
una petición de conexión se encontrará con un mensaje indicando que el sistema está completo y el
usuario debería reintentarlo más tarde.

III) PLANIFICACIÓN A MEDIO PLAZO

La planificación a medio plazo es parte de la función de intercambio. Con frecuencia, la decisión de


intercambio se basa en la necesidad de gestionar el grado de multiprogramación. En un sistema que no
utiliza la memoria virtual, la gestión de la memoria es también otro aspecto a tener en cuenta. De esta

Natalia Pinto Esteban 2


forma, la decisión de meter un proceso en la memoria, tendrá en cuenta las necesidades de memoria de
los procesos que están fuera de la misma.

IV) PLANIFICACIÓN A CORTO PLAZO

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

• CRITERIOS DE LA PLANIFICACIÓN A CORTO PLAZO

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.

o Criterios orientados al sistema: la atención se centra en el uso efectivo y eficiente del


procesador. Algunos criterios importantes con el rendimiento (throughput), la política de
planificación debería maximizar el numero de procesos completados por unidad de tiempo.
Otro aspecto importante es la utilización del procesador, es el porcentaje de tiempo que el
procesador está ocupado. Para un sistema compartido es un criterio relevante.
Otros criterios de interés para el sistema pueden ser la equidad (los procesos han de ser
tratados de la misma manera), imposición de prioridades (el planificador debe favorecer a
los procesos con prioridades mas altas) y equilibrio de recursos (el planificador debería
mantener ocupados los recursos del sistema. Los procesos que utilicen poco los recursos
que en un determinado momento están sobreutilizados. Esto también incluye a los
planificadores de medio y largo plazo).

Natalia Pinto Esteban 3


• USO DE PRIORIDADES
En muchos sistemas, a cada proceso se le asigna una prioridad y el planificador siempre elegirá un
proceso de prioridad mayor sobre un proceso de prioridad menor. En lugar de una sola cola de
procesos listos para ejecutar, se proporcionan un conjunto de colas en orden descendente de
prioridad.
Cuando se va a realizar una selección en la planificación, el planificador comenzará en la cola de
listos con la prioridad más alta.
Si hay uno o más procesos en la cola, se selecciona un proceso utilizando alguna política de
planificación. Si CL0 está vacía, entonces se examina CL1, y así sucesivamente. Un problema de los
esquemas de planificación con prioridades es que los procesos con prioridad más baja pueden sufrir
inanición. Esto sucederá si hay siempre un conjunto de procesos de mayor prioridad listos para
ejecutar.

• POLITICAS DE PLANIFICACIÓN ALTERNATIVAS


La función de selección determina qué proceso, entre los procesos listos, se selecciona para su
ejecución. La función puede estar basada en prioridades, requisitos sobre los recursos o las
características de ejecución del proceso.
El modo de decisión especifica los instantes de tiempo en que se ejecuta la función de selección. Hay
2 categorías generales:
o Sin expulsión: En este caso, una vez que el proceso se está ejecutando, continúa hasta que
termina o se bloquea para esperar E/S o para solicitar algún servicio al S.O.
o Con expulsión: Un proceso ejecutando en un determinado momento puede ser
interrumpido y pasado al estado listo por el S.O. La decisión de expulsar puede ser tomada
cuando llega un nuevo proceso, cuando llega una interrupción que pasa un proceso de
bloqueado a estado listo, o periódicamente, basándose en las interrupciones del reloj.

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.

Natalia Pinto Esteban 4


• TIPOS DE POLITICA DE PLANIFICACIÓN
El conjunto de políticas de planificación que vamos a estudiar es:
- FCFS (First-come, First- served)
- Turno rotatorio (Round Robin)
- SPN (Shortest Process Next)
- SRT (Shortest Remaining Time)
- HRRN (Highest Response Ratio Next)
- Realimentación
- Reparto equitativo

FCFS (FIRST-COME, FIRST SERVED)

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’.

TURNO ROTATORIO (ROUND ROBIN)

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

Natalia Pinto Esteban 5


que el tiempo requerido para una interacción o función típica del proceso. Si el tamaño del quantum
es mayor al tiempo de proceso del proceso mas largo esto degenera en FCFS.

La planificación en turno rotatorio es particularmente efectiva en sistemas de tiempo compartido de


propósito general o en sistemas de procesamiento transaccional.

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.

Se trata de una planificación expulsiva o preferente.

SPN (SHORTEST PROCESS NEXT)

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.

Un problema de la política SPN es la necesidad de saber o al menos estimar el tiempo de


procesamiento de cada proceso. Por trabajos por lotes, el sistema puede requerir que el
programador lo estime y se lo proporcione al sistema operativo. Si la estimación es mucho menor
que el tiempo actual de ejecución el sistema podría abordar el trabajo.

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.

Esta política de planificación mejora el rendimiento global (tiempo de espera/respuesta).

Aunque puede darse inanición para los procesos largos si hay una llegada masiva de procesos cortos.

No es conveniente para tiempo compartido o procesamiento de transacciones (por la ausencia de


expulsión).

Se reduce la previsibilidad de los procesos largos (puede variar mucho de una vez a otra).

SRT ( SHORTEST REMAINING TIME)

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.

A diferencia del turno rotatorio, no se generan interrupciones adicionales, reduciéndose la


sobrecarga. Por otra parte, se deben almacenar los tiempos de servicio transcurridos, generando
sobrecarga. SRT debería mejorar los tiempos de estancia de SPN, porque a un trabajo corto se le da
preferencia sobre un trabajo más largo en ejecución.

Función de selección: tiempo total- tiempo consumido.

Modo de decisión: preferente en llegada a listos.

Natalia Pinto Esteban 6


*Al proceso A en t= 2 (que es cuando entra B) le quedaría 1s de ejecución y a B 6s por eso A se
ejecuta hasta que termina. Entra B en t = 3, y en t = 4 entra C, a B cuando llega C le quedan 5s
mientras que a C 4s por tanto en el instante t=5 entra C, que le queda menos tiempo. En el t= 6 entra
D y en ese instante a C le quedan 3s (menos que a D que le quedan 6) por eso sigue ejecutándose.

HRRN (HIGHEST RESPONSE RATIO NEXT)

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.

El primero que llega entra y después se hace el cálculo.

Este algoritmo es no preferente (no expulsivo).

Función de selección: máxima tasa de respuesta.


𝑇𝐼𝐸𝑀𝑃𝑂 𝐸𝑆𝑃𝐸𝑅𝐴𝑁𝐷𝑂+𝑇𝐼𝐸𝑀𝑃𝑂 𝐸𝑆𝑃𝐸𝑅𝐴𝐷𝑂(𝑇.𝑃𝑅𝑂𝐶𝐸𝑆𝐴𝑀𝐼𝐸𝑁𝑇𝑂)
Tasa de respuesta = 𝑇𝐼𝐸𝑀𝑃𝑂 𝐸𝑆𝑃𝐸𝑅𝐴𝐷𝑂(𝑇.𝑃𝑅𝑂𝐶𝐸𝑆𝐴𝑀𝐼𝐸𝑁𝑇𝑂)

*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.

Modo de decisión: preferente, es expulsivo por cada quantum.

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 cortos: terminan rápido, sin descender demasiado en la jerarquía de colas.

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.

Hay múltiples variantes de este algoritmo para la realimentación: apropiación de intervalos


periódicos (como Round Robin). Otras como SRT en cada cola, etc.

A CONTINUACIÓN, SE PRESENTA UN EJEMPLO GENERAL CON TODOS LOS MODELOS EXPUESTOS:

Natalia Pinto Esteban 8


Natalia Pinto Esteban 9
• COMBINACIÓN DE POLITICAS

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.

• PROCESOS EN TIEMPO REAL

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.

• DESARROLLO DE LA PLANIFICACION EN CADA INTERRUPCIÓN

o Tratamiento de la interrupción (ejecución de rutina de atención a la interrupción, por


ejemplo, E/S, llamada al sistema…)

o Comprobar si algún proceso pasa de bloqueado a listo.

o Comprobar si hay procesos nuevos.

o Ejecutar la función de planificación según la política correspondiente.

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.

PREGUNTAS FINALES DEL LIBRO:

1. Describa brevemente los tres tipos de planificación de procesos.

2. ¿Cuál es normalmente el requisito de rendimiento crítico en un sistema operativo interactivo?

3. ¿Cuál es la diferencia entre el tiempo de estancia y el tiempo de respuesta?

4. Para la planificación de procesos, un valor bajo de prioridad, ¿representa una prioridad baja o alta?

5. ¿Cuál es la diferencia entre planificación expulsiva y no expulsiva?

6. Defina brevemente la planificación FCFS.

7. Defina brevemente la planificación de turno rotatorio.

Natalia Pinto Esteban 10


8. Defina brevemente la planificación de primero el proceso mas corto

9. Defina brevemente la planificación de menor tiempo restante.

10. Defina brevemente la planificación primero el de mayor tasa de respuesta.

11. Defina brevemente la planificación retroalimentación.

12. Considere el siguiente conjunto de procesos y realice el diagrama de Gantt para todos los tipos de
planificación.

13. Repita el ejercicio anterior, pero con el siguiente conjunto de datos.

Natalia Pinto Esteban 11

También podría gustarte