Partición Dinámica

Características

  • Las particiones se crean en tiempo de ejecución, según el tamaño del proceso.
  • Reduce la fragmentación interna, pero puede generar pequeños fragmentos no utilizables (fragmentación por tablas).
  • Espacios libres se gestionan con una Tabla de Memoria Libre (TM).
  • Se puede usar una constante c para desechar fragmentos demasiado pequeños.

Un problema en la asignación dinámica es la creación de restos excepcionalmente pequeños que no pueden utilizarse como particiones, pero que ocupan una entrada en la tabla de memoria, produciendo "desperdicio de memoria por tablas".

Algoritmos utilizados

Los algoritmos de asignación en partición dinámica son similares a los estáticos:

Primer Ajuste

Asigna la primera partición libre lo suficientemente grande.

Mejor Ajuste

Busca el bloque libre más pequeño suficientemente grande. Tiende a producir bloques de restos libres pequeños que pueden ser demasiado pequeños para asignaciones futuras y causan fragmentación de tablas.

Peor Ajuste (Worst Fit)

Asigna el bloque libre más grande, buscando reducir la producción de restos pequeños. Sin embargo, estudios sugieren que no es muy efectivo en la reducción de memoria desaprovechada.

Diagrama de asignación dinámica con eliminación de restos pequeños

Obra publicada con Licencia Creative Commons Reconocimiento Compartir igual 4.0

Creado con eXeLearning (Ventana nueva)