Compactación de Memoria
El proceso de compactación son
unas instancias particulares del problema de asignación de memoria dinámica, y
esta se refiere a satisfacer una necesidad de
tamaño (N) en una lista de huecos libres. Entre tantas posibilidades existe una
que determina el hueco más indicado en el momento de asignar. A
continuación estrategias comunes para la asignación de algún hueco
en la tabla.
·
PRIMER AJUSTE: Consiste
en asignar el proceso en el primer hueco que
se halle y se ajuste sin importar que el
hueco sea más grande que el tamaño
del proceso a insertar.
·
MEJOR AJUSTE: Consiste
en ubicar el proceso según su tamaño en el hueco más
apropiado, esto con el fin de evitar desperdicio de memoria.
·
PEOR AJUSTE: En este algoritmo se busca
que el tamaño del hueco concuerde con el tamaño del proceso. Es decir que sea
el tamaño del hueco sea igual o mayor que el del proceso, sin importar que se
pueda perder gran cantidad de espacio en la memoria.
Almacenamiento Virtual
La
memoria virtual es una técnica de gestión de la memoria que permite que el
sistema operativo disponga, tanto para el software de usuario como para sí
mismo, de mayor cantidad de memoria que la disponible físicamente.
La
mayoría de los ordenadores tienen cuatro tipos de memoria: registros en
la CPU, la memoria caché (tanto dentro como fuera del CPU), la
memoria RAM y el disco duro. En ese orden, van de menor capacidad y mayor
velocidad a mayor capacidad y menor velocidad.
Muchas
aplicaciones requieren acceso a más información (código y datos) que la que se
puede mantener en memoria física. Esto es así sobre todo cuando el sistema
operativo permite múltiples procesos y aplicaciones ejecutándose
simultáneamente. Una solución al problema de necesitar mayor cantidad de
memoria de la que se posee consiste en que las aplicaciones mantengan parte de
su información en disco, moviéndola a la memoria principal cuando sea necesario
En este
caso es cuando es útil el espacio
de intercambio
El sistema
operativo puede buscar un proceso poco activo, y moverlo al área de
intercambio (el disco duro) y de esa forma liberar la memoria principal
para cargar otros procesos. Mientras no haga falta, el proceso extraído de
memoria puede quedarse en el disco, ya que ahí no utiliza memoria física. Cuando
sea necesario, el sistema vuelve a hacer un intercambio, pasándolo del disco a memoria RAM. Es un proceso
lento (comparado con usar sólo la memoria RAM), pero permite dar la impresión
de que hay más memoria disponible.
Paginación
·
El espacio de direcciones lógicas de un proceso no
necesariamente es contiguo; los procesos se ubican en memoria física donde
luego quedan disponibles.
·
Se divide la memoria física en bloques de tamaño
fijo llamados marcos (los tamaños son potencias de 2, entre 512 y 8192 bytes)
·
Se divide la memoria lógica en bloques del mismo
tamaño llamados páginas.
·
Para cargar un programa de tamaño páginas, se
requiere encontrar n marcos libres y cargar el programa.
·
Se puede presentar fragmentación interna



No hay comentarios.:
Publicar un comentario