Memoria virtual

Solo disponible en BuenasTareas
  • Páginas : 44 (10874 palabras )
  • Descarga(s) : 0
  • Publicado : 16 de octubre de 2010
Leer documento completo
Vista previa del texto
MEMORIA VIRTUAL
(Bueno, voy a intentar explicar en pocas "hojas" lo que es la memoria virtual y cómo la utilizan los procesadores y los sistemas operativos. Windows 95/98 no es una excepción en esto. Y por cierto, este tema que me lo habeis solicitado varias veces, es un "embolao" de cuidado. Explicarlo bien es difícil sin caer en tecnicismos, que alguno será necesario. Y además yo redacto muymal y me cuesta bastante explicarme)

GESTION DE MEMORIA
-------------------------------------
Hay dos partes principales en cualquier sistema de gestión de memoria:

1) Protección: para evitar que una tarea acceda a la memoria o datos de otra tarea o del sistema operativo. Y para evitar acceso indebido al hardware.

2) Traducción de direcciones: para dar flexibilidad al sistema operativo ala hora de asignar memoria a las tareas  y de paso "puede" y de hecho se utiliza como un mecanismo clave de protección (según veremos más adelante).

TRADUCCION DE DIRECCIONES
---------------------------------------------------
La memoria "física" de un ordenador es una secuencia de bytes, que empieza en el 0 y termina en....por ejempo 64 megas. Es decir un "array" de bytes. Cada byte tieneuna dirección: el número que ocupa posicinalmente en la memoria. Esta dirección es conocida como "direccion física". (quiero "olvidarme" de que además en los procesadores 386 y superiores de Intel, existe la llamada "segmentación", pero en principio vamos a olvidar esto...... a propósito).

Las direcciones que va a utilizar un programa (en modo protegido), no son esas. Siempre son traducidas, omapeadas, en direcciones de memoria física por un mecanismo de "traducción de direcciones".

Este mecanismo, nos introduce en el concepto de "dirección virtual". Se llama de esta manera porque no corresponde directamente a posiciones de memoria "física", sino que a través de una "funcion de mapeado" equivale a una dirección de memoria física.

Es decir este mecanismo, al "apuntar" a unadirección de memoria, lo que hace es buscar, por ejemplo en unas tablas internas, la correspondencia entre esta dirección y la dirección real "física" del dato.

La traducción de dirección "virtual" a "física" también proporciona protección de memoria, ya que podría disponerse por ejemplo, que ciertas direcciones físicas de memoria no se mapeen desde ninguna dirección virtual.

Además de estaprotección, en la función de traducción de direcciones, se pueden identificar ciertas direcciones virtuales como "no válidas". Esto amplía el mecanismo de protección. Para no tener que generar una direccion física cuando se presenta un dirección virtual no válida, el mecanismo de traducción de direcciones informa de una "excepción", de forma que el software del sistema operativo, puede tomar la acción queconsidere oportuna.

MEMORIA VIRTUAL
--------------------------------
La memoria virtual es una técnica para proporcionar la ilusión de un espacio de memoria mucho mayor que la memoria física de una máquina. Esta "ilusión" permite que los programas se hagan sin tener encuenta el tamaño exacto de la memoria física.

La ilusión de la memoria virtual está soportada por el mecanismo detraducción de memoria, junto con una gran cantidad de almacenamiento rápido en disco duro. En cualquier momento el espacio de direcciones virtual, está mapeado de tal forma que una pequeña parte de él, está en memoria real y el resto almacenado en el disco.

Debido a que sólo la parte de memoria virtual que está almacenada en la memoria principal, es accesible a la CPU, según un programa va ejecutándose,la vecindad de referencias a memoria cambia, necesitando que algunas partes de la memoria virtual se traigan a la memoria principal desde el disco, mientras que otras ya ejecutadas, se pueden volver a depositar en el disco (archivos de paginación).

Por ejemplo, un programa de aplicación grande, podría mostrar un menú con muchas funciones. Al seleccionar una función del menú, se ejecutarían...
tracking img