3.6 Multiprogramación con particiones variables

 

 

La memoria se divide en bloques de diferente tamaño de acuerdo a las necesidades del proceso.

 

Ventajas

  • Define bloques del tamaño requerido
  • Termina con la fragmentación interna
  • Permite un mejor uso de la memoria

 

Los procesos ocupan tanto espacio como necesitan, pero obviamente no deben superar el espacio disponible de memoria. (Ver figura 3.2.5.6)

No hay limites fijos de memoria, es decir que la partición de un trabajo es su propio tamaño.
Se consideran “esquemas de asignación contigua”, dado que un programa debe ocupar posiciones adyacentes de almacenamiento.
Los procesos que terminan dejan disponibles espacios de memoria principal llamados “agujeros”:

Pueden ser usados por otros trabajos que cuando finalizan dejan otros “agujeros” menores.

En sucesivos pasos los “agujeros” son cada vez mas numerosos pero mas pequeños, por lo que se genera un desperdicio de memoria principal.

Particiones Variables

Cada trabajo ocupa tanto espacio como necesita.

El tamaño del trabajo a ubicar no puede ser mayor que el almacenamiento principal disponible.

Se disminuye parcial o totalmente el desperdicio de memoria.

Aparecen: Condensación y Compactación

 

Combinación de agujeros (áreas libres).
Consiste en fusionar agujeros adyacentes para formar uno sencillo más grande.
Se puede hacer cuando un trabajo termina y el almacenamiento que libera tiene limites con otros agujeros.