Está en la página 1de 3

Algoritmo de planificación

La planificación de la CPU es el fundamento de los sistemas operativos


multiprogramados. Cambiar el uso de la CPU entre los procesos, el sistema
operativo hace que el ordenador sea más creativo.

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.

Las políticas utilizadas son críticas para decidir el orden de ejecución de los
procesos, por lo que al efectuar 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.

La multiprogramación significa que varios programas que están en memoria al


mismo tiempo pueden compartir la CPU, mejorando la eficiencia global del sistema
y realizando más trabajo en menos tiempo.

Un trabajo se ejecuta hasta que deba aguantar; normalmente para terminar alguna
solicitud de E/S. En un sistema informático sencillo, la CPU permanecería inmovil
durante ese tiempo; con la multiprogramación sin embargo, 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 multiprogramnación son:
 Incremento de la utilización de la CPU.
 Mayor productividad: mayor cantidad de trabajo realizado en un intervalo de
tiempo dado.

Los sistemas operativos deben proporcionar los servicios necesarios que permitan
el procedimiento concurrente en los sistemas de multiprogramación. Además, ha de
disponer de algoritmos de gestión y planificación para decidir qué proceso se va a
ejecutar y llegar la cuenta de los procesos que están en el sistema, de sus
prioridades y de toda la información referente a ellos.

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 cuál es el mejor
algoritmo para una situación determinada sería:

 Utilización de la CPU: porcentaje de tiempo que está ocupado el procesador.


Debe tender a ser el máximo posible.
 Productividad: trabajos que se completan o finalizan por unidad de tiempo.
 Tiempo de retorno: intervalo de tiempo desde la entrada de un proceso en el
sistema hasta su finalización.
 Tiempo de espera: tiempo que un proceso permanece en la cola de
preparados.
 Tiempo de respuesta: tiempo que un proceso bloqueado tarda en entrar en
la CPU desde que ocurre el evento que lo bloquea.

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 al
proceso que está ejecutando antes de su finalización. Los inconvenientes
son el coste en pérdidas de tiempo al cambiar de proceso, la coordinación
del acceso a datos del nícleo puedan quedar inconsistentes por los cambios
de contexto.

 No apropiativas: una vez que un proceso obtiene la CPU no se le puede


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:
o Estáticas: se mantiene la prioridad asignada durante la ejecución.
o 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.

Planificación en Multiprocesadores
Los procesadores pueden ser de dos tipos: idénticos (sistemas semejantes) o
diferentes (sistemas desiguales). Si son diferentes, las opciones son relativamente
limitadas: cada procesador tiene su propia cola y su propio algoritmo de
planificación. Los trabajos están clasificados por estructura de modo que tiene que
ejecutar en un procesador determinado.

Si tenemos varios procesadores idénticos, podemos tener una carga compartida:


podrían tener colas separadas para cada procesador. Pero un procesador podría
estar sobresaturado mientras otro permanece parado. Para esquivar esto utiliza una
cola común. Así, todos los trabajos están en una cola común y planifican sobre
cualquier procesador disponible.

Se pueden dar dos enfoques de planificación en multiprocesadores:


o Cada procesador se auto planifica: cada procesador analiza la cola
y escoge un proceso que ejecuta, por lo que hay que asegurarse de
que dos procesadores no escogido el mismo proceso para ejecutar y
de que no se pierden procesos en la cola.

o Un procesador planifica a los demás: se tiene una estructura


maestra/esclavo. El procesador principal ejecuta el sistema operativo
y las rutinas principales y los esclavos solo ejecutan programas de
usuarios. El problema puede surgir si se queda bloqueado el maestro.

También podría gustarte