2015.11.26.c3.memoriavirtual.limaico.josé

3
SIC-316 ARQUITECTURA DE COMPUTADORES 2015B TÍTULO: MEMORIA VIRTUAL NOMBRE: José F. Limaico FECHA: 2015/11/26 RESUMEN: Al hablar de memoria virtual nos referimos a una memoria la cual nos permite ejecutar procesos que necesitan memoria adicional en cuanto a la disponible en el sistema; ocupando en la memoria principal solo aquella que el proceso vaya utilizando. La memoria caché nos ayuda de una manera rápida a tener los datos que necesitemos al alcance del procesador; de igual manera la memoria principal puede actuar como una “caché” que nos daría un almacenamiento secundario; en donde esta técnica es llamada memoria virtual. El sistema de memoria virtual que se usa en la actualidad fue diseñado para liberar al programador de una serie de tareas relacionadas con el uso que los programas debían realizar con la memoria. La memoria virtual automatiza la gestión entre los dos niveles principales de la jerarquía de memoria: memoria principal y disco. Antiguamente, hubo dos principales motivaciones para la inclusión de la memoria virtual: para permitir el intercambio eficiente y seguro de la memoria entre varios programas, y para eliminar las cargas de programación de una pequeña cantidad, de la memoria principal; siendo esta la razón más importante por la cual se utiliza esta técnica hasta la actualidad. 1

Upload: jose-limaico-mera

Post on 31-Jan-2016

214 views

Category:

Documents


0 download

DESCRIPTION

memoria virtual

TRANSCRIPT

Page 1: 2015.11.26.C3.MemoriaVirtual.limaico.josé

SIC-316 ARQUITECTURA DE COMPUTADORES

2015B

TÍTULO: MEMORIA VIRTUAL

NOMBRE: José F. LimaicoFECHA: 2015/11/26

RESUMEN:

Al hablar de memoria virtual nos referimos a una memoria la cual nos permite ejecutar procesos que necesitan memoria adicional en cuanto a la disponible en el sistema; ocupando en la memoria principal solo aquella que el proceso vaya utilizando. La memoria caché nos ayuda de una manera rápida a tener los datos que necesitemos al alcance del procesador; de igual manera la memoria principal puede actuar como una “caché” que nos daría un almacenamiento secundario; en donde esta técnica es llamada memoria virtual.

El sistema de memoria virtual que se usa en la actualidad fue diseñado para liberar al programador de una serie de tareas relacionadas con el uso que los programas debían realizar con la memoria. La memoria virtual automatiza la gestión entre los dos niveles principales de la jerarquía de memoria: memoria principal y disco.

Antiguamente, hubo dos principales motivaciones para la inclusión de la memoria virtual: para permitir el intercambio eficiente y seguro de la memoria entre varios programas, y para eliminar las cargas de programación de una pequeña cantidad, de la memoria principal; siendo esta la razón más importante por la cual se utiliza esta técnica hasta la actualidad.

Si consideramos un grupo de programas, todos corriendo al mismo tiempo permitiéndoles que compartan la misma memoria, hay que tener en cuenta la protección de los programas unos con otros para asegurar que un programa pueda solo leer y escribir de la parte de memoria que le fue asignada. La memoria principal debe contener la parte activa de los programas. Así, que la virtualización es habilitada por el principio de la localidad tan bien como la memoria caché.

Por lo tanto debemos conocer algunas funciones fundamentales que deben conocerse en la gestión de memoria:

Solapamiento: esta técnica divide en modelos el programa cuyo tamaño sobrepasa la capacidad de la memoria principal, se introducen luego en los lugares adecuados de cada módulo las instrucciones de E/S necesarias, el

1

Page 2: 2015.11.26.C3.MemoriaVirtual.limaico.josé

SIC-316 ARQUITECTURA DE COMPUTADORES

2015Bpropio programa se ocupa de cargar por anticipado los módulos que van a ser referenciados.

Reubicación: Se necesita en multiprogramación, que varios programas residan simultáneamente en memoria. El tiempo del CPU se disminuye de acuerdo a una política de prioridades determinada.

Paginación: Se trata de un mecanismo automático de solapamiento múltiple que practica el Sistema Operativo para hacer posible la multiprogramación.

Protección: Si varios programas comparten la memoria principal debe asegurarse que ninguno de ellos pueda modificar el espacio de memoria de los demás.

Compartición: Pareciera una contradicción con la anterior pero existen programas que con frecuencia deben compartir y actualizar información como por ejemplo bases de datos. Accediendo de esta manera a una misma copia del programa.

Si el sistema operativo no implementa una estrategia de asignación de memoria, un proceso que requiera mucha memoria puede hacer colapsar el sistema. Una forma de asignar “frames” a procesos podría ser dividir la cantidad de frames del sistema en partes iguales para cada proceso. Este método puede ser ineficiente ya que no todos los procesos consumen la misma cantidad de memoria. Si un proceso utiliza en forma activa una cantidad mayor de frames de los asignados por el sistema, tendrá un alto porcentaje de fallos de página, dando lugar a que el proceso esté pasando más tiempo paginando que ejecutando, lo que se conoce como hiperpaginación. Se degrada significativamente el rendimiento del sistema.

REFERENCIAS:

[1] Patterson D, Hennessy J, “COMPUTER ORGANIZATION AND DESIGN” FOURTH EDITION, Large and Fast: Exploiting Memory Hierarchy ,VIRTUAL MEMORY, pp. 492-518 [2]Administración de Memoria: Memoria Virtual, [en línea], disponible en: https://www.fing.edu.uy/tecnoinf/mvd/cursos/so/material/teo/so09-memoria_virtual.pdf[3] Facultad de Informática, UCM “Tema 7: Memoria Virtual.”, [en línea], disponible en: http://www.fdi.ucm.es/profesor/jjruz/WEB2/Temas/EC7.pdf

2