La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Administración de Memoria no contigua

Presentaciones similares


Presentación del tema: "Administración de Memoria no contigua"— Transcripción de la presentación:

1 Administración de Memoria no contigua
Capítulo 6 (Milenkovic)

2 Asignación no contigua
Partes de un solo objeto lógico pueden ser colocadas en áreas no contiguas de memoria física. Traducción de direcciones: Establecen la correspondencia necesaria entre un espacio de direcciones virtuales contiguo y las direcciones físicas discontiguas.

3 Paginación Suprime el requisito de asignación contigua en memoria física. La memoria se divide en una serie de porciones de tamaño fijo, llamadas marcos de página. El espacio de direcciones virtuales de un proceso se divide en bloques de tamaño fijo del mismo tamaño llamados páginas.

4 Paginación: principios de operación.
Las direcciones virtuales se dividen en dos partes: El número de página. El desplazamiento dentro de esa página. Por ejemplo: Por conveniencia en la traducción se recomienda un tamaño de página que sea potencia de 2.

5 Traducción de direcciones
La traducción se efectúa con ayuda de una tabla de correspondencia, llamada tabla de mapa de páginas (TMP). La TMP se construye en tiempo de carga del proceso con el fin de establecer la correspondencia entre direcciones virtuales y físicas. Hay una entrada por cada página del proceso. Cada entrada contiene el número de marco de página.

6 Traducción de direcciones cont.
La porción de la dirección virtual que refiere al número de página es un índice en la TMP. Se toma el valor de esa entrada y se concatena el desplazamiento.

7 Tabla de mapa de memoria
El SO lleva la cuenta del estado de cada marco de página. LIBRE o ASIGNADO. Por tanto, una TMM tiene un número fijo de entradas igual al número de marcos de página: f = m/p, donde m es la memoria total y p es el tamaño de página.

8 Carga de un proceso Cuando se solicita cargar un proceso de tamaño t, el SO debe asignar n marcos de página libres: n=ceil(t/p) El SO asigna memoria en términos de un número entero de marcos de página. El último marco puede estar parcialmente inutilizado: Fragmentación o ruptura de página.

9 Asignación Hallar “cualesquiera” n marcos de página libres.
Todos los marcos son de tamaño idéntico: política de asignación no influye en la utilización. No hay consideraciones sobre mejor o peor ajuste: todas las páginas encajan en todos los marcos.

10 Asignación cont. Hay una TMM en cada sistema.
Hay tantas TMP como procesos activos. Cuando el proceso termina o es retirado de memoria, su memoria es desasignada liberando los marcos utilizados.

11 Protección Las referencias a memoria del proceso están restringidas a su propio espacio de direcciones. Utilizar la TMP para detectar y abortar los intentos de acceder a memoria más allá de las fronteras legales.

12 Protección cont. Es posible incluir bits de acceso a las entradas de la TMP: Sólo lectura. Sólo ejecución.

13 Compartición Una sola copia de una página compartida puede hacerse corresponder fácilmente con tantos espacios de direcciones como se desee. Diferentes procesos pueden tener diferentes privilegios.

14 Memoria virtual Permite que sólo una parte del espacio de direcciones virtuales de un proceso “residente” sea cargada realmente en memoria física. Es decir, procesos parcialmente cargados. La suma de los espacios de todos los procesos puede exceder a la capacidad de la memoria física.

15 Memoria virtual cont. Los esquemas de memoria real se esfuerzan por alcanzar la utilización al 100% de la memoria. Memoria virtual proporciona factores de utilización aparente arriba del 100%. El tamaño permisible de un proceso puede ser más grande que la memoria física.

16 Memoria virtual cont. La gestión de la memoria virtual es transparente a los programadores: No se preocupan por ajustar sus programas a un tamaño. Programan para una plataforma, no para una configuración en específico. Es posible ejecutar procesos parcialmente cargados.

17 Principios de operación de la memoria virtual
Se puede implementar como una extensión de memoria paginada o segmentada. Traducción de direcciones por medio de una función f:V->M que regrese: r si el elemento x está en memoria real en la posición r Excepción por elemento ausente si el elemento x no está en memoria real – fallo de página.

18 Principios de operación de la memoria virtual cont.
Generalmente se maneja añadiendo el indicador presencia en la TMP: Dentro: la página se encuentra en memoria física. Fuera: la página se encuentra en disco.

19 Tabla de mapa de archivo
La TMA contiene la dirección en disco de la página. Tiene el mismo tamaño que la TMP. Por facilidad, puede ser incluida como un campo extra de la TMP.

20 Interrupción de instrucciones
Algunas instrucciones hacen más de una referencia a memoria. Si alguna de estas referencias resulta en un fallo de página el hardware de soporte de memoria virtual deberá ser capaz de: Deshacer los efectos parciales de la instrucción interrumpida. Reanudar la instrucción desde el punto exacto de interrupción. Preexaminar las referencias a memoria buscando fallos de página.

21 Políticas en la gestión de memoria virtual
Política de asignación: que cantidad de páginas se asignan a cada proceso. Política de acceso: que elementos se incorporan y cuando se les incorpora. Política de sustitución: Si no existe memoria real libre, qué elemento se desaloja con el fin de dejar espacio para uno nuevo. Política de ubicación: dónde se coloca un nuevo elemento.

22 Políticas de acceso En la mayoría de los casos los elementos son traidos a memoria cuando se produce un fallo de página: Paginación por demanda. Aunque también son concebibles políticas anticipatorias o de prebusqueda.

23 Políticas de ubicación
En paginación no importa que marco de página se asigne. Todos los marcos libres son adecuados para alojar una página.

24 Comportamiento de los programas
La velocidad de ejecución está limitada por arriba por la velocidad de ejecución del mismo programa bajo gestión de memoria no virtual. Minimizando el número de fallos de página la utilización efectiva del CPU y el tiempo de ejecución puede ser mejorado.

25 Comportamiento de los programas
No podemos predecir que páginas van a ser utilizadas. Algunas partes no se ejecutan bajo ciertas condiciones. Localidad de referencia: favorecer ciertos subconjuntos de direcciones. Localidad espacial: tendencia de un programa a referenciar posiciones agrupadas. Localidad temporal: referenciar la misma posición o grupo de posiciones varias veces durante breves intervalos de tiempo.

26 Políticas de sustitución
Si no existen marcos de página disponibles es posible: Suspender el proceso hasta que haya espacio disponible en memoria real. Desalojar una página para dejar sitio a la recién llegada. La política de sustitución gobierna la elección de la página “víctima” cuando se va a producir un desalojo.

27 Políticas de sustitución cont.
Dependiendo de si la página ha sido modificada o no será necesario reescribirla a disco o descartala. Utilizar un bit de modificación: 0 cuando se carga. 1 cuando se modifica.

28 Algoritmo FIFO Se sustituye la página que lleve más tiempo en memoria.
Se puede implementar con una lista. El rendimiento es relativamente pobre: Páginas que acaban de ser desalojadas pueden ser requeridas a continuación. Anomalía de Belady: FIFO hace que aumente el número de fallos de página cuando se asignan más páginas reales al programa.

29 Ejemplos Uso de 3 marcos: 144, A1, 144, 263, 144, 168, 144, A1, 179, A1, A2, 263 Anomalía de Belady (3 y 4 marcos): 3, 2, 1, 0, 3, 2, 4, 3, 2, 1, 0, 4

30 Algoritmo LRU Least Recently Used.
Sustituye la página residente menos recientemente usada. Toma en cuenta los patrones de comportamiento de programas. Supone que la página utilizada en el pasado más distante es menos probable que sea referenciada en el futuro cercano. No experimenta la anomalía de Belady.

31 Algoritmo LRU cont. La implementación impone demasiado recargo.
La actualización a la pila de referencias debe hacerse en cada referencia a página. La cola de FIFO solo necesita ser actualizada cuando ocurre un fallo de página.

32 Proyecto


Descargar ppt "Administración de Memoria no contigua"

Presentaciones similares


Anuncios Google