Técnicas de condensación de huecos y de compactación del almacenamiento
En los sistemas operativos actuales, debido al uso de varios programas (multiprogramación) se produce en memoria una fragmentación de la misma, producida porque a cada proceso se le asigna una cantidad de memoria (variable) y quedan “huecos” entre particiones. Estos huecos son memoria desperdiciada en cierto modo, ya que si la cantidad es inferior a la necesitada por otro proceso no se llega a usar.
Esta fragmentación puede ser de dos tipos:
– Fragmentación externa: esta se debe a que la cantidad de memoria satisface a la que necesita un proceso, pero al no ser contigua no se le puede asignar como una partición.
– Fragmentación interna: en este tipo, la partición es algo mayor a la que necesita un proceso, por tanto un porcentaje de la partición queda sin usar pero no se puede asignar a otra tarea.
Para evitar estas fragmentaciones existen dos técnicas:
Condensación de huecos
Esta técnica consiste en fusionar dos huecos de memoria libre adyacentes en uno sólo que tendrá como capacidad la suma de los dos originales. Cuando un trabajo termina, el sistema operativo trata de unir todos los espacios libres en uno solo, para tener un espacio suficiente para que pueda entrar otro programa en memoria. Mediante la condensación de huecos se pueden recuperar los bloques contiguos de almacenamiento más grande que sea posible. Gracias a esto, la velocidad de acceso es mayor. Por ejemplo, necesitamos 4K de nuestra memoria, pero tenemos dos huecos, cada uno de 2K. Unimos los dos huecos y tenemos uno de 4K que nos sirve para almacenar este proceso.
Compactación del almacenamiento
Una forma de solucionar la fragmentación externa es usando compactación. Consiste en desplazar todas las localizaciones de memoria ocupada a un extremo de la misma, así quedan dos partes bien diferenciadas, la memoria ocupada y la memoria libre.
La compactación no siempre es posible, ya que es necesario que la localización
sea dinámica y se efectúa en el momento de la ejecución. Además, otro inconveniente que presenta es que es una técnica costosa, ya que requiere recursos del sistema y puede provocar que el tiempo de respuesta aumente. El sistema debe detener todo mientras efectúa la compresión, lo que puede afectar los tiempos de respuesta.
FRAGMENTACIÓN
La fragmentación es la memoria que queda desperdiciada al usar los métodos de gestión de memoria que se vieron en los métodos anteriores. Tanto el primer ajuste, como el mejor y el peor producen fragmentación externa. La fragmentación es generada cuando durante el reemplazo de procesos quedan huecos entre dos o más procesos de manera no contigua y cada hueco no es capaz de soportar ningún proceso de la lista de espera. La fragmentación puede ser:
Fragmentación Externa: Existe el espacio total de memoria para satisfacer un requerimiento, pero no es contigua.
Fragmentación Interna: La memoria asignada puede ser ligeramente mayor que la requerida; esta referencia es interna a la partición, pero no se utiliza.
La fragmentación externa se puede reducir mediante la compactación para colocar toda la memoria libre en un solo gran bloque, pero esta sólo es posible si la relocalización es dinámica y se hace en tiempo de ejecución.
Condensación
Unir o fusionar espacios o “huecos” adyacentes para formar uno más grande.
Por ejemplo, si hay una solicitud de usuario de 5k y en la memoria hay disponibles 2 “huecos” contíguos pero uno es de 2k y el otro es 3k, entonces, para poder atender ésa solicitud de usuario, se “unen” los 2 “huecos” que formarían un sólo “hueco” de 5k, por tanto ahora si cabría la solicitud en el “hueco” que hay disponible.
Compactación;
Una solución para el problema de la fragmentación externa es la compactación. El objetivo consiste en desplazar el contenido de la memoria para colocar junta toda la memoria libre en un solo bloque de gran tamaño.
Técnica que consiste en trasladar todas las áreas ocupadas del almacenamiento hacia
algún extremo de la memoria.
• Es una solución de la fragmentación externa.
• El objetivo consiste en desplazar el contenido de la memoria libre en un sólo bloque de gran tamaño.
• La compactación no siempre es posible, sólo es posible si la relocalización es dinámica y se efectúa en el momento de la ejecución.
• Este esquema puede ser bastante costoso.
Estrategias de colocación
Permiten determinar en qué lugar de la memoria principal se deben colocar los programas y datos entrantes.
Tipos:
Mejor Ajuste: Colocar el trabajo en el menor bloque en el que quepa.
¨ Primer Ajuste. Colocar el trabajo en el primer hueco de la lista de almacenamiento libre en el que quepa.
Peor Ajuste: Colocar el trabajo en el menor bloque en el que quepa.
- Administracion de memoria virtual
espacio de direcciones lógicas vs fisicas
paginación
segmentación
paginacion por demanda
fallo de pagina
segmentacion paginada
paginacion segmentada.
TÉCNICAS DE CONDENSACIÓN DE HUECOS Y COMPACTACIÓN DE ALMACENAMIENTO
Los trabajos ocupan tanto espacio como necesiten (pero no todo el almacenamiento real). No se
imponen límites fijos, sino que se da a los trabajos todo el almacenamiento que necesiten.
En la multiprogramación con particiones variables hay fragmentación de tipo externa. Las técnicas de este tipo de fragmentación son:
CONDENSACIÓN DE HUECOS
Se denomina combinación o condensación de huecos. Es un proceso que consiste en fusionar huecos adyacentes para formar un solo hueco más grande.
Cuando un trabajo termina, el sistema operativo trata de unir todos los espacios libres en uno solo, para tener un espacio suficiente para que pueda entrar otro programa en memoria.
Mediante la condensación de huecos se pueden recuperar los bloques contiguos de almacenamiento más grande que sea posible. Gracias a esto, la velocidad de acceso es mayor.
COMPACTACIÓN DEL ALMACENAMIENTO
Se denomina compresión o compactación de almacenamiento. Esta técnica consiste en trasladar todas las áreas ocupadas del almacenamiento hacia algún extremo de la memoria. Este Proceso es utilizado cuando se tiene una memoria con partición variable en el que se tiene 5 procesos y digamos que el 3 termino su trabajo lo que hace el sistema operativo es coger el proceso 4 y el 5 hacia arriba para ocupar el lugar del 3 y así no tener huecos entre ellos, aunque es tedioso para el sistema operativo porque a cada momento tiene que mover los procesos. Su objetivo consiste en desplazar el contenido de la Memoria libre en un sólo bloque de gran tamaño.
La compactación no siempre es posible, sólo es posible si la relocalización es dinámica y se efectúa en el momento de la ejecución.
Este esquema puede ser bastante costoso.
Algunas desventajas de esta técnica de compresión:
1) Consume recursos del sistema.
2) El sistema debe detener todo mientras efectúa la compresión, lo que puede afectar los tiempos de respuesta.
3) Implica la relocalización (reubicación) de los procesos que se encuentran en la memoria.


No hay comentarios.:
Publicar un comentario