PLANIFICACION DINAMICA

 

En algunas aplicaciones, es posible emplear un lenguaje y unas herramientas del sistema que permitan cambiar dinámicamente el numero de hilos de un proceso. Esto permite al sistema operativo ajustar la carga y mejorar así la utilización.

Un enfoque en el que tanto el sistema operativo como la aplicación están involucrados en la toma de decisiones de planificación. El sistema operativo es responsable de repartir los procesadores entre los trabajos. Cada trabajo emplea los procesadores de su partición para procesar un subconjunto de tareas ejecutables, organizando estas tareas en hilos. A las aplicaciones individuales se les deja (quizá mediante una biblioteca de rutinas de tiempo de ejecución) la decisión sobre el subconjunto a ejecutar, además de a que hilo suspender cuando se expulsa un proceso. Este método puede no resultar conveniente para todas las aplicaciones. Sin embargo algunas aplicaciones podrían limitarse a un único hilo, mientras que otras podrían ser programadas para sacar partido de esta característica del sistema operativo.

Con este método la responsabilidad de la planificación del sistema operativo se limita fundamentalmente a la asignación del proceso y actúa según la siguiente política: cuando un trabajo solicita uno o mas procesadores:

 

  1. si hay procesadores desocupados, se usan para satisfacer la petición.

 

  1. en otro caso si el trabajo que realiza la petición esta recién llegado, se le asigna un procesador individual quitándoselo a algún proceso que tenga mas de un procesador asignado.

 

  1. si no se puede satisfacer alguna parte de la petición, que da pendiente hasta que un procesador pase a estar disponible o hasta que el trabajo anule la petición (por ejemplo, si ya no hacen falta mas procesadores).

 

Al liberar uno o mas procesadores (incluyendo la salida del trabajo):

 

4.      explorar la cola de peticiones de procesador no satisfechas. Asignar un solo procesador a cada trabajo de la lista que no tiene aún un procesador. Después, recorrer la lista de nuevo, asignando el resto de procesadores según FCFS.

 

Algunos análisis expuesto proponen que para las aplicaciones que pueden sacar partido de planificación dinámica, este método es superior a la planificación por grupos o la asignación dedicada de procesos. Sin embargo, la sobrecarga de este método puede anular la aparente mejoría del rendimiento. Para probar la validez de la planificación dinámica hace falta más experiencia con los sistemas reales.

 

Indice