El documento describe diferentes técnicas de gestión de memoria como la asignación contigua, partición estática y dinámica, páginación y segmentación. La asignación contigua asigna el hueco más pequeño o más grande que tenga tamaño suficiente. La partición dinámica crea particiones buscando un área libre en la lista de memoria y ajustando los bloques adyacentes. La páginación transfiere páginas entre memoria secundaria y marcos de página usando una tabla de páginas. La segmentación divide
4. PARTICIÓN ESTÁTICA
- Primer ajuste: asignar el primer hueco que tenga el tamaño suficiente.
-Mejor ajuste: asignar el hueco más pequeño que tenga tamaño suficiente.
- Peor ajuste: asignar el hueco más grande.
Ejemplo: A partir del siguiente mapa de memoria, debemos ubicar el Pn=
70Kb utilizando los tres algoritmos mencionados
6. PARTICIÓN DINÁMICA
•El sistema es inicializado declarando como libre toda la memoria disponible para
asignación dinámica y marcando como no USADA todas las entradas de la TDP.
•La lista de espacio libre contiene una sola entrada: toda la memoria disponible
formando un solo bloque contiguo. Desde ese momento, la creación de una partición P
de tamaño P_TAMAÑO se efectúa así:
•Buscar en la lista de memoria libre un área libre L, tal que L_TAMAÑO ≥
P_TAMAÑO, en caso de no encontrar ninguna se termina con un error.
•Calcular DIFE=L_TAMAÑO – P_TAMAÑO. Si DIFE ≤ c; donde c es una constante
(pequeña), asignar entonces el área libre entera para crear la partición P haciendo
P_TAMAÑO= L_TAMAÑO y P_BASE=L_BASE, ajustando los enlaces de los
bloques adyacentes en la lista de memoria libre.
7. PARTICIÓN DINÁMICA
•Si DIFE > c; entonces asignar espacio a la partición P en el bloque L, haciendo
P_BASE= L_BASE, en donde L_BASE= P_BASE + P_TAMAÑO, y L_TAMAÑO=
L_TAMAÑO – P_TAMAÑO.
Encontrar una entrada no utilizada en la TDP y anotar en ella la base (P_BASE) y el
tamaño (P_TAMAÑO). Cambiar el estado a asignada.
Anotar el número de entrada en la TDP en el bloque de control del proceso, T, para el
cual se está creando la partición P.
Los Algoritmos más habituales para la selección de un área libre de memoria en la
creación de una partición son:
* Primer Ajuste y su variante, siguiente ajuste.
* Mejor Ajuste.
* Peor Ajuste.
8. PAGINACIÓN
•Las páginas se transfieren del almacenamiento secundario al primario en bloques
llamados “marcos de páginas”:
•Tienen el mismo tamaño que las páginas.
•Podrá colocarse una nueva página dentro de cualquier “marco de página”
disponible.
•La “traducción dinámica de direcciones” incluye:
Un proceso en ejecución hace referencia a una dirección
virtual “v = (p,d)” (ver Figura 3.18 [7, Deitel]).
•Un mecanismo de transformación de páginas busca la página “p” en la
“tabla de páginas” y determina si la página “p” se encuentra en el marco de
página “p ’ ”.
•La dirección de almacenamiento real se forma por la concatenación de “p” y
“d”.
12. SE E ACIÓN
GM NT
Segmentación: Es un esquema HW que intenta dar soporte directo a las
regiones. En él se considera el mapa de memoria como compuesto por varios
segmentos.
13. SE E ACIÓN: Vista L
GM NT ógica
1
4
1
2
3 2
4
3
user space physical memory space
16. PAGINACIÓN Y SEGMENTACIÓN
PAGINACIÓN SEGMENTACIÓN
Visión del Programador No Si
Espacios de Direcciones 1 Varios
Mem. Virtual Mem. Física Si Si
Protección Código!= Datos No Si
Crecimiento No Si
Compartición No Sí
Objetivo Espacio lineal de direcciones Visión del usuario, compartición y
protección.
Fragmentación Interna Externa