Descargar la presentación
La descarga está en progreso. Por favor, espere
1
III - Gestión de memoria
2
Almacenamiento virtual: organización
3
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.
5
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.
7
Conceptos básicos La contigüidad artificial establece que los elementos contiguos en memoria virtual no necesariamente se corresponden con elementos contiguos en MP.
9
Almacenamiento en múltiples niveles
La memoria virtual se basa en un esquema de 2 niveles para el almacenamiento.
12
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.
13
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.
14
Direccionamiento El direccionamiento es bidireccional.
Dirección virtual v V=(b,d) B=bloque D=desplazamiento (dirección relativa dentro del bloque).
16
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
18
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.
20
Traducción de direcciones en paginación
Figura explicando la traducción de una dirección v=(p,d)
22
Varias formas de implementar la traducción
1) Paginación por correspondencia directa.
24
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.
26
3) Mecanismo mixto asociativa/directa
28
Compartimiento sobre paginación
En la mayor parte de los casos se separan programas y datos. En la figura se muestra un ejemplo.
30
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.
32
Claves de protección del almacenamiento
Para que los usuarios no se invadan unos a otros. En paginación era muy simple.
34
Traducción Una dirección virtual v=(s,d)
En la figura se muestra como se traduce:
36
Los bloques pueden tener distintos permisos de acceso a los usuarios.
A continuación se muestran algunos ejemplos de control de acceso.
39
Una entrada típica en la tabla de correspondencia de segmentos sería la que sigue.
41
Traducción en un sistema mixto
La siguiente figura ilustra la traducción de direcciones en un sistema mixto…
43
Almacenamiento virtual: administración
44
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.
45
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).
46
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.
48
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.
49
Working set La administración del almacenamiento mediante grupos de trabajo, intenta mantener en MP los working set de los procesos.
50
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.
51
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.
53
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.
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.