2
COMPACTACIÓN DE MEMORIA La figura 5.6 también pretende ilustrar ciertos aspectos del comportamiento de los sistemas, comparación dinámica de la memoria. Por ejm. El mapa de venolia, en la figura 5.6 sugiere una situación ahbitual en tales sistemas: Las áreas de memoria libre (huecos), están entremezcladas con las particiones activamente actualizadas a lo largo de toda la memoria. Esta fragmentación de la memoria disponible es bastante indeseable, ya que ninguna nueva partición puede superar el tamaño de mayor hueco, por ejm, consideremos el sistema cuya memoria está representada en la figura 5.6 y supongamos que se intenta acomodar un proceso nuevo con 256KB. Aunque hay tres particiones disponibles, que totalizan más del doble de la cantidad necesaria, la petición no puede ser satisfecha. Como indicamos anteriormente la creación de varios libros, huecos y particiones se denomina habitual fragmentación externa, y aparece habitualmente en sistemas con asignación dinámica de bloques de memoria de tamaño variable. La integración de áreas libres adyacentes se devuelven bloques libres es un método normalmente utilizado para reducir la fragmentación y consecuentemente la cantidad de memoria aprovechada. Sin embargo, tales de remedios tienden a retrasar el impacto del problema, en vez de evitarlo. La razón principal de la fragmentación es que, debido a los diferentes tiempos de vida del objeto residente, el orden de las devoluciones de áreas libres es diferente generalmente del orden de las asignaciones. Después de un cierto tiempo funcionando los sistemas con asignación dinámica de memoria tienden a alcanzar un estado de equilibrio en el cual la memoria desaprovechada por un esquema de asignación dado puede ser medida y utilizada en comparaciones Knut (1973 a), ha demostrado que si se utiliza el primer ajuste para asignación y las áreas libres se recombinan durante las desasignaciones cuando es posible mantener la contigüidad de modo que el sistema alcanza una condición de equilibrio en la cual existe una medida de N bloques de memoria en uso, cada uno con un tiempo de vida aleatorio y donde DIFE Ñ mayor que c, con probabilidad p, el numero medio de bloques libres, , tiende a ser aproximadamente. ி = 1 2 Esta regla se conoce a veces como la regla del 50%. Ara valores de p muy cercanos a 1 (esto puede suceder cuando se es pequeño y hay una varianza pronunciada en los tamaños de los bloques), la regla del 50% indica que podemos esperar aproximadamente la mitad de los bloques estén libres y la mitad en uso. Si un sistema alcanza un estado de equilibrio tal que el tamaño medido de

Compactacion De Memoria

Embed Size (px)

Citation preview

Page 1: Compactacion De Memoria

COMPACTACIÓN DE MEMORIA

La figura 5.6 también pretende ilustrar ciertos aspectos del comportamiento de los sistemas, comparación dinámica de la memoria. Por ejm. El mapa de venolia, en la figura 5.6 sugiere una situación ahbitual en tales sistemas:

Las áreas de memoria libre (huecos), están entremezcladas con las particiones activamente actualizadas a lo largo de toda la memoria. Esta fragmentación de la memoria disponible es bastante indeseable, ya que ninguna nueva partición puede superar el tamaño de mayor hueco, por ejm, consideremos el sistema cuya memoria está representada en la figura 5.6 y supongamos que se intenta acomodar un proceso nuevo con 256KB. Aunque hay tres particiones disponibles, que totalizan más del doble de la cantidad necesaria, la petición no puede ser satisfecha. Como indicamos anteriormente la creación de varios libros, huecos y particiones se denomina habitual fragmentación externa, y aparece habitualmente en sistemas con asignación dinámica de bloques de memoria de tamaño variable.

La integración de áreas libres adyacentes se devuelven bloques libres es un método normalmente utilizado para reducir la fragmentación y consecuentemente la cantidad de memoria aprovechada. Sin embargo, tales de remedios tienden a retrasar el impacto del problema, en vez de evitarlo. La razón principal de la fragmentación es que, debido a los diferentes tiempos de vida del objeto residente, el orden de las devoluciones de áreas libres es diferente generalmente del orden de las asignaciones. Después de un cierto tiempo funcionando los sistemas con asignación dinámica de memoria tienden a alcanzar un estado de equilibrio en el cual la memoria desaprovechada por un esquema de asignación dado puede ser medida y utilizada en comparaciones Knut (1973 a), ha demostrado que si se utiliza el primer ajuste para asignación y las áreas libres se recombinan durante las desasignaciones cuando es posible mantener la contigüidad de modo que el sistema alcanza una condición de equilibrio en la cual existe una medida de N bloques de memoria en uso, cada uno con un tiempo de vida aleatorio y donde DIFE Ñ mayor que c, con probabilidad p, el numero medio de bloques libres, ܰ , tiende a ser aproximadamente.

ிܰ = 12 ே

Esta regla se conoce a veces como la regla del 50%. Ara valores de p muy cercanos a 1 (esto puede suceder cuando se es pequeño y hay una varianza pronunciada en los tamaños de los bloques), la regla del 50% indica que podemos esperar aproximadamente la mitad de los bloques estén libres y la mitad en uso. Si un sistema alcanza un estado de equilibrio tal que el tamaño medido de

Page 2: Compactacion De Memoria

petición excede el tamaño medio de un bloque libre con probabilidad p cercana a 1, la regla sugiere que aproximadamente el 33 por 100, o un tercio de la memoria esta es desaprovechada debido a la fragmentación. Observe que esto se cumple aunque las áreas libres adyacentes se recombinen siempre que sea posible.

Si la memoria resulta seriamente fragmentada la única salida posible es reubicar alguna o todas las particiones en un extremo de la memoria y así combinar los huecos para formar una única área libre grande. Como los procesos afectados deben ser suspendidos y copiados realmente en un área de la memoria a otra, es importante decidir cuándo y cómo debe realizarse este proceso, al que se conoce como compactación de memoria.

La compactación de memoria puede realizarce siempre que sea posible solo cuando sea necesario. Algunos sistemas compactan la memoria cada vez que un proceso saliente crea un área libre recolectando así la mayoría de memoria libre en una única área grande. Una alternativa es compactar únicamente en caso de imposibilidad de asignar una partición adecuada, supuesto que el tamaño combinado de las áreas libres supera a las necesidades de la petición en cuestión. En caso contrario la memoria libre no puede satisfacer la memoria pendiente de ningún modo y la compactación por si misma puede no merecer la pena.

La ventaja potencial de la compactación incremental y selectiva puede ser observada a partir del mapa de memoria dibujado en la figura 5.6c.