Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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:
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.
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.
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.