Multiprogramación De Partición Variable: Combinación De Agujeros, Compactación Del Almacenamiento, Multiprogramación Con Intercambio

La multiprogramación se refiere al la ejecución de dos o más proceso de manera simultánea, donde los recursos del sistema se distribuyen para cumplir los requerimientos de esos procesos. Siguiendo con este razonamiento, la multiprogramación con particiones variables hace referencia a la ejecución de procesos  donde tanto el número de procesos a ejecutar como el tamaño de la memoria que requieren dichos procesos varían de forma dinámica. 
Esta técnica puede causar fragmentación externa, es decir, la existencia de huecos o agujeros entre los bloques de memoria ocupados por los procesos. Para evitar el desperdicio de memoria y mejorar la utilización de la misma, se pueden aplicar algunas estrategias, como:
  • Combinación De Agujeros: Consiste en unir espacios de memoria vacíos que están juntos para crear uno solo más amplio. Ocurre cuando se termina una tarea y el espacio que se libera está al lado de otros vacíos.
  • Compactación Del Almacenamiento: Consiste en trasladar todas las áreas de memoria ocupadas hacia uno de los extremos de la misma ocupando así el mayor espacio en uno de los extremos y liberando espacios contiguos de memoria en el lado opuesto.
  • Multiprogramación Con Intercambio:  Consiste en transferir temporalmente algunos procesos desde la memoria principal al disco, liberando espacio para otros procesos. Se puede hacer cuando hay una alta demanda de procesos y la memoria está llena o casi llena.

Comentarios