Top Banner
MEMORIA VIRTUAL La memoria virtual es la que permite al sistema operativo brindarle al software de usuario y así mismo un espacio disponible de direcciones de la memoria real o física. Esta permite usar mas memoria principal de la que realmente posee el PC. La mayoría de PC posee 4 tipos de memoria: Memoria cache Registros de la CPU Memoria física Disco duro
22

Memoria virtual2

Jun 21, 2015

Download

Documents

legendario25

trabajo sobre memoria virtual.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Memoria virtual2

MEMORIA VIRTUAL

La memoria virtual es la que permite al sistema operativo brindarle al software de usuario y así mismo un espacio disponible de direcciones de la memoria real o física.

Esta permite usar mas memoria principal de la que realmente posee el PC. La mayoría de PC posee 4 tipos de memoria:

Memoria cacheRegistros de la CPUMemoria físicaDisco duro

Page 2: Memoria virtual2

OPCION DE LA SEGMENTACION

Esta consiste en que la aplicación misma es responsable de decidir que información será guardada en que sitio de traerla y llevarla.

La desventaja es que es muy probable que los intereses sobre la memoria de dos o varios programas generen conflictos entre sí.

Cada programador podría realizar su diseño tomando en cuenta que es el único programa corriendo en el sistema.

Page 3: Memoria virtual2

OPERACIÓN BASICA

Cuando se usa Memoria Virtual, o cuando una dirección es leída o escrita por la CPU, una parte del hardware dentro de la computadora traduce las direcciones de memoria generadas por el software en: La dirección real de memoria, o una indicación de que la dirección de memoria deseada no se encuentra en memoria principal es llamado excepción de memoria virtual

La memoria virtual ha llegado a ser un componente esencial en la mayoría de los S.O actuales.

Page 4: Memoria virtual2

FRAGMENTACION

Es la memoria que queda desperdiciada al usar los métodos de gestión de memoria utilizados que se vieron en los métodos anteriores.

Esta es generada cuando durante el reemplazo de procesos quedan huecos entre dos o mas procesos de manera no contigua y cada hueco no es capaz de soportar ningún proceso de la lista de espera.

Page 5: Memoria virtual2

FRAGMENTACION EXTERNA

Existe el espacio de total de memoria para satisfacer un requerimiento, pero no es contigua. Esta se puede reducir mediante la compactación para colocar toda la memoria libre en un solo gran bloque, pero esta solo es posible si la relocalización es dinámica y se hace en tiempo de ejecución.

Fragmentación interna, la memoria asignada puede ser mayor ligeramente mayor que la requerida; esta referencia es interna a la partición, pero no se utiliza.

Page 6: Memoria virtual2

PAGINACION

Es una técnica de manejo de memoria en la cual el espacio de memoria se divide en secciones físicas de igual tamaño, Denominadas marcos de paginas. Los programas se dividen en unidades lógicas, denominadas paginas, que tienen el mismo tamaño que los marcos de pagina, de esta forma se puede cargar un marco de información en cualquier marco de pagina.

Page 7: Memoria virtual2

TABLAS DE PAGINA.

Cada página tiene un número que se utiliza como índice en la tabla de páginas, lo que da por resultado el número del marco correspondiente a esa página virtual.

En teoría, la asociación de las direcciones virtuales con las físicas se efectúa según lo descrito.

hay que enfrentar dos aspectos fundamentales:

La tabla de páginas puede ser demasiado grande.

La asociación debe ser rápida.

Page 8: Memoria virtual2

VENTAJAS DE LA PAGINACION

Es posible comenzar a ejecutar un programa, cargando solo una parte del mismo en memoria, y el resto se cargara bajo la solicitud.

No es necesario que las paginas estén contiguas en memoria, por lo que no se necesitan procesos de compactación cuando existen marcos de paginas libres dispersos en la memoria.

Es fácil controlar todas las páginas, ya que tienen el mismo tamaño.

Se elimina el problema de fragmentación externa.

Page 9: Memoria virtual2

DESVENTAJAS DE LA PAGINACION

El costo de hardware y software aumenta, por la nueva información que debe manejarse y el mecanismo de traducción de direcciones necesario. Se consume mucho más recursos de memoria, tiempo en el CPU para su implantación.

Se deben reservar áreas de memoria para las PMT de los procesos. Al no ser fija el tamaño de estas, se crea un problema semejante al de los programas

Aparece el problema de fragmentación interna. Así, si se requieren 5k para un programa, pero las paginas son de 4k, deberán asignárseles 2 páginas (8k), con lo que quedan 3k sin utilizar.

Page 10: Memoria virtual2

SEGMENTACION

Es un esquema de manejo de memoria mediante el cual la estructura del programa refleja su división lógica; llevándose a cabo una agrupación lógica de la información en bloques de tamaño variable denominados segmentos.

Cada uno de ellos tienen información lógica del programa: subrutina, arreglo, etc. Luego, cada espacio de direcciones de programa consiste de una colección de segmentos, que generalmente reflejan la división lógica del programa.

Page 11: Memoria virtual2

VENTAJAS DE LA SEGMENTACION

El programador puede conocer las unidades lógicas de su programa, dándoles un tratamiento particular.

Es posible compilar módulos separados como segmentos el enlace entre los segmentos puede suponer hasta tanto se haga una referencia entre segmentos.

Debido a que es posible separar los módulos se hace más fácil la modificación de los mismos. Cambios dentro de un modulo no afecta al resto de los módulos.

Es fácil el compartir segmentos. Es posible que los segmentos crezcan

dinámicamente según las necesidades del programa en ejecución.

Page 12: Memoria virtual2

DESVENTAJAS DE LA SEGMENTACION

Hay un incremento en los costos de hardware y de software para llevar a cabo la implantación, así como un mayor consumo de recursos: memoria, tiempo de CPU.

Debido a que los segmentos tienen un tamaño variable se pueden presentar problemas de fragmentación externas, lo que puede ameritar un plan de reubicación de segmentos en memoria principal.

Se complica el manejo de memoria virtual, ya que los discos almacenan la información en bloques de tamaños fijos, mientras los segmentos son de tamaño variable. Esto hace necesaria la existencia de mecanismos más costosos que los existentes para paginación.

Page 13: Memoria virtual2

SEGMENTACION PAGINADA

Paginación y segmentación son técnicas diferentes, cada una de las cuales busca brindar las ventajas enunciadas anteriormente.

se necesita encontrar una región de la memoria lo suficientemente grande para contenerlo, lo cual no es siempre factible; en cambio recarga una página implica solo encontrar un merco de pagina disponible.

Puede hacerse una combinación de segmentación y paginación para obtener las ventajas de ambas.

Page 14: Memoria virtual2

VENTAJAS DE LA SEGMENTACION PAGINADA

Debido a que los espacios de memorias son segmentados, se garantiza la facilidad de implantar la compartición y enlace.

Como los espacios de memoria son paginados, se simplifican las estrategias de almacenamiento.

Se elimina el problema de la fragmentación externa y la necesidad de compactación.

Page 15: Memoria virtual2

DESVENTAJAS DE LA SEGMENTACION PAGINADA

Las tres componentes de la dirección y el proceso de formación de direcciones hace que se incremente el costo de su implantación. El costo es mayor que en el caso de segmentación pura o paginación pura.

Se hace necesario mantener un número mayor de tablas en memoria, lo que implica un mayor costo de almacenamiento.

Page 16: Memoria virtual2

ALGORITMOS DE REEMPLAZO DE PAGINA

Algoritmo óptimo Algoritmo FIFO Algoritmo LRU Algoritmos de aproximación al LRU ALGORITMO OPTICO: Se reemplaza la página

que va a tardar más tiempo en ser usada. La tasa de fallos es la más baja posible Algoritmo imposible de realizar Criterio comparativo.

Page 17: Memoria virtual2

ALGORITMO FIFO

Algoritmo FIFO muy sencillo de implementar

Inconvenientes:Rendimiento del algoritmo pobre, paginas

frecuentemente usadas pueden ser sustituidas.

Se puede presentar anomalía de belady: aumento del número de fallos de pagina al aumentar el número de marcos

Page 18: Memoria virtual2

ALGORITMO FIFO CON SEGUNDA OPORTUNIDAD

Combina sencillez y buen rendimientoEmplea un bit de referencia asociado a cada

páginaPasos del algoritmo:Se elige una página con criterio FIFO y se

examina su bit de referencia.Si el bit de referencia está activo, se

desactiva y se trata la página como si se acabara de llegar a memoria. Volver a 1

Page 19: Memoria virtual2

ALGORITMO LRU

Algoritmo de aproximación al reemplazo óptimo

Basado en utilizar el pasado reciente como una predicción del futuro más próximo

Sustituye la página menos usada en el pasado inmediato

Carece de la anomalía de Belady.La implementación requiere de hardware

adicional:Campo en las entradas de la tabla de páginas.Pila de las páginas en memoria.

Page 20: Memoria virtual2

ALGORTIMO DE APROXIMACION AL LRU

Existen diferentes algoritmos, entre ellos:Generalmente se implementa mediante una

cola FIFO circular con las páginas cargadas Algoritmo del reloj globalAlgoritmo FIFO con segunda oportunidadAlgoritmo NFU.

Page 21: Memoria virtual2

ALGORITMO DE RELOJ GLOBAL

 Se colocan todas las páginas que pueden ser sustituidas en una lista circular

Un proceso de sistema borra los bits de referencia cada cierto tiempo utilizando un puntero giratorio

Si en la siguiente vuelta el bit sigue desactivado, la página en cuestión es una buena candidata a ser sustituida.

Page 22: Memoria virtual2

ALGORITMO DE NFU

 Algoritmo que simula por software el algoritmo LRU

Utiliza un contador asociado a cada página que se incrementa en cada interrupción de reloj de acuerdo con el valor del bit de referencia

En cada pulso de reloj se borra el valor del bit de referencia

Si hay un fallo de página se elige la página con el valor mínimo del contador para su sustitución.