iii - gestiÓn de memoria. almacenamiento virtual: organizaciÓn

53
III - GESTIÓN DE MEMORIA

Upload: injgo-vivar

Post on 13-Feb-2015

15 views

Category:

Documents


1 download

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.