+ All Categories
Home > Documents > III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.

III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.

Date post: 13-Feb-2015
Category:
Upload: injgo-vivar
View: 15 times
Download: 1 times
Share this document with a friend
53
III - GESTIÓN DE MEMORIA
Transcript
Page 1: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.

III - GESTIÓN DE MEMORIA

Page 2: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.

ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN

Page 3: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.

Memoria virtual

La idea es proporcionar un espacio de direcciones de memoria mucho mayor que el que la MP o MR proporciona.

Para ello se usa la MP y también algo de MR. Es el sistema operativo quien gestiona esta

“ilusión” de poseer una memoria mayor. Hay dos técnicas: paginación y segmentación. A continuación se muestra como ha sido la

evolución histórica.

Page 4: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.
Page 5: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.

Conceptos básicos

La clave es la disociación de las direcciones a las que hace referencia un proceso en ejecución de las direcciones disponibles en MP.

Así, hay direcciones reales y direcciones virtuales, y existe un mecanismo de correspondencia entre las mismas.

Esta correspondencia se realiza en tiempo de ejecución.

Page 6: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.
Page 7: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.

Conceptos básicos

La contigüidad artificial establece que los elementos contiguos en memoria virtual no necesariamente se corresponden con elementos contiguos en MP.

Page 8: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.
Page 9: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.

Almacenamiento en múltiples niveles

La memoria virtual se basa en un esquema de 2 niveles para el almacenamiento.

Page 10: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.
Page 11: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.
Page 12: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.

Correspondencia de bloques Se trata entonces de mantener mapas de

correspondencia de traducción de direcciones.

Ahora, si existiera una entrada en el mapa de correspondencias por cada entrada en el espacio de direcciones virtual, entonces la información de correspondencias sería tan voluminosa que sería inimplementable.

Entonces, al no poder hacer correspondencia individual de direcciones, se hace correspondencia de bloques.

Page 13: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.

continuación

La información se agrupa en bloques. Los bloques pueden estar en MP o MS. Se lleva un registro de dónde está cada

bloque. Los bloques más grandes reducen el

overhead de espacio al traducir direcciones, pero aumentan el tiempo de transferencia de páginas.

Cuando los bloques son todos del mismo tamaño se llaman páginas, y si son de tamaños distintos se llaman segmentos.

Page 14: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.

Direccionamiento

El direccionamiento es bidireccional. Dirección virtual v V=(b,d)B=bloqueD=desplazamiento (dirección relativa

dentro del bloque).

Page 15: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.
Page 16: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.

Direcciones

Cada proceso tiene su tabla de correspondencia de bloques.

Un registro de origen de la tabla de correspondencia de bloques se carga con la dirección real a, de la tabla de correspondencia de bloques del proceso, durante la conmutación de contexto.

La tabla tiene una entrada por cada bloque.

Dirección real r=b’+d

Page 17: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.
Page 18: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.

Paginación

Es el método más común. V=(p,d) dirección virtual La figura muestra la memoria real

dividida en marcos de página.

Page 19: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.
Page 20: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.

Traducción de direcciones en paginación

Figura explicando la traducción de una dirección v=(p,d)

Page 21: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.
Page 22: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.

Varias formas de implementar la traducción

1) Paginación por correspondencia directa.

Page 23: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.
Page 24: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.

2) Traducción por correspondencia asociativa pura

La memoria asociativa accede por contenido, y no por dirección, y tiene ciclos de acceso 1 orden de magnitud más rápidos que en almacenamiento primario común.

Page 25: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.
Page 26: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.

3) Mecanismo mixto asociativa/directa

Page 27: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.
Page 28: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.

Compartimiento sobre paginación

En la mayor parte de los casos se separan programas y datos.

En la figura se muestra un ejemplo.

Page 29: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.
Page 30: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.

Segmentación

De lo anterior persiste el problema de ejecutar los programas en un bloque de localidades contiguas de almacenamiento real.

Ahora, con segmentos de largo variable no hay problema.

Page 31: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.
Page 32: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.

Claves de protección del almacenamiento

Para que los usuarios no se invadan unos a otros.

En paginación era muy simple.

Page 33: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.
Page 34: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.

Traducción

Una dirección virtual v=(s,d) En la figura se muestra como se traduce:

Page 35: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.
Page 36: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.

Los bloques pueden tener distintos permisos de acceso a los usuarios.

A continuación se muestran algunos ejemplos de control de acceso.

Page 37: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.
Page 38: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.
Page 39: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.

Una entrada típica en la tabla de correspondencia de segmentos sería la que sigue.

Page 40: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.
Page 41: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.

Traducción en un sistema mixto La siguiente figura ilustra la traducción

de direcciones en un sistema mixto…

Page 42: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.
Page 43: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.

ALMACENAMIENTO VIRTUAL: ADMINISTRACIÓN

Page 44: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.

Estrategias de administración de memoria virtual Estrategias de obtención: próxima

página/sgto. a traer de MS a MP. Estrategias de colocación: en qué lugar

se coloca la nueva página que entra a MP. En paginación es trivial, pues todos los marcos de página son del mismo tamaño.

Estrategias de reemplazo: qué página sale de MP a MS.

Page 45: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.

Estrategias de reemplazo

Principio de optimalidad: quitar la que tardará más tiempo en ser usada.

Reemplazo aleatorio: cualquiera. Reemplazo PEPS. Reemplazo LRU (least recently used) (se

etiquetan en el tiempo). Reemplazo LFU (se mide frecuencia de

uso). Reemplazo página NUR (no usada

recientemente).

Page 46: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.

Anomalía PEPS: una curiosidad Con PEPS, se observa que ampliando MP

pueden aumentar los page fault. A continuación se muestra este ejemplo,

que es más que nada una curiosidad.

Page 47: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.
Page 48: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.

Localidad

Se ha observado empíricamente que: Los procesos tienden a acceder a la

memoria en patrones no uniformes y altamente localizados.

Los procesos tenderán a favorecer ciertos subconjuntos de páginas, y éstas tienden a ser adyacentes en el espacio de direcciones virtuales.

Page 49: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.

Working set

La administración del almacenamiento mediante grupos de trabajo, intenta mantener en MP los working set de los procesos.

Page 50: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.

Estrategias de obtención

Paginación por demanda: la página que es accedida es la próxima a alojar en MP.

Paginación anticipada: trata de anticipar la necesidad, trayendo en forma predictiva, páginas de MS a MP.

Page 51: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.

Otros puntos a discutir

Tamaño óptimo de página Cuanto menor sea la página, hay más páginas

y marcos y mayor es el tamaño de las tablas. Con páginas más grandes, se mueven entre MP

y MS bloques más grandes. Se desea reducir al mínimo las transferencia de

y a disco. La localidad referencial indica empíricamente

que sirven páginas relativamente chicas. Una medida empírica del working set puede

ayudar a determinar el tamaño óptimo de página.

Page 52: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.
Page 53: III - GESTIÓN DE MEMORIA. ALMACENAMIENTO VIRTUAL: ORGANIZACIÓN.

Control de lectura

A esta altura ya debería haber leído hasta el capítulo 10 (inclusive) de Deitel o su equivalente en los otros textos.


Recommended