En un sistema multiprogramado, la memoria principal contiene varios procesos. Cada proceso alterna entre usar el procesador y esperar que se realice una operación de E/S o que ocurra algún otro suceso. El procesador o los procesadores se mantienen ocupados ejecutando un proceso mientras los demás esperan. La clave de la multiprogramación está en la planificación.
![]()
![]()
|
Tipos de Planificación |
Planificación del procesador |
Planificación a Largo Plazo ® De Nuevo a Listo Planificación a Medio Plazo ® De Suspendidos a No Suspendidos Planificación a Corto Plazo ® De Listo a Ejecución |
|
|
Planificación de E/S |
|
PLANIFICACIÓN A LARGO PLAZO
- Determina cuáles programas son admitidos en el sistema. Una vez aceptado, el programa de usuario se convierte en proceso y se añade a la cola del planificador a corto plazo
- Controla el grado de multiprogramación
- En un sistema de procesos por lotes, los procesos recién incorporados se encaminan hacia el disco y permanecen detenidos en una cola de procesamiento por lotes.
- Primera decisión a tomar: decidir si el S.O. puede acoger algún proceso más (o sea si se debe crear un proceso nuevo aceptando un programa). Cuanto más procesos se crean, menor es el porcentaje de tiempo en el que cada proceso puede ejecutar. Así pues, el planificador a largo plazo puede limitar el grado de multiprogramación para ofrecer un servicio satisfactorio al conjunto de procesos actual. Además, si la fracción de tiempo que el procesador está desocupado supera cierto umbral, se puede volver a invocar al planificador a largo plazo.
- Segunda decisión a tomar: cuál va a ser el siguiente proceso a admitir. Puede basarse en el algoritmo FCFS o algún otro criterio que tenga en cuenta prioridades, tiempos de ejecución esperados y exigencias de E/S.
-
PLANIFICACIÓN A MEDIO PLAZO
La planificación a medio plazo forma parte de la función de intercambio. Los temas relacionados se tratan en los capítulos 3 y 6. Generalmente, la decisión de cargar un proceso en memoria principal se basa en la necesidad de controlar el grado de multiprogramación. Así pues, la decisión de carga en memoria tendrá en cuenta las necesidades de memoria del proceso descargado. Este nivel de planificación es realizado por el Planificador de trabajos o Job Scheduler.
PLANIFICACION A CORTO PLAZO
El planificador a corto plazo, llamado dispatcher o distibuidor, se ejecuta cuando ocurre un suceso que puede conducir a la interrupción del proceso actual o que ofrece la oportunidad de expulsar de la ejecución al proceso actual a favor de otro. Como ejemplos de estos sucesos se tienen: interrupciones de reloj, interrupciones de E/S, llamadas al S.O., señales, etc.