MANEJO DE MEMORIA

                                                           1.MANEJO DE MEMORIA





la memoria es uno de los principales recursos de la computadora, . actualmente la mayoría de los computadores cuentan con una gran capacidad de memoria, y las aplicaciones actualesrequieren de alta capacidad de memoria, esto causa que se genere la escasez de memoria en los sistemas multitarea y multiusuario.


administrador de memoria:
 su tarea consiste en llevar un registro de las partes de memoria que se estén utilizando y las que no , con el fin de asignar espacio en memoria a los procesos cuando éstos la necesiten y liberándola cuando terminen, así como administrar el intercambio entre la memoria principal y el disco.



los sistemas de administraciónde memoria se pueden clasificar en dos tipos: los que desplazan los procesos de la memoria principal al disco y viceversa durante la ejecución y los que no.



el propósito principal de una computadora es el de ejecutar programas, estos programas, junto con la información que accesan deben de estar en la memoria principal (al menos parcialmente) durante la ejecución.

para optimizar el uso del cpu y de la memoria, el sistema operativo debe de tener varios procesos a la vez en la memoria principal, para lo cual dispone de varias opciones de administración tanto del procesador como de la memoria. la selección de uno de ellos depende principalmente del diseño del hardwarepara el sistema. a continuación se observarán los puntos correspondientes a la administración de la memoria.


1. 1.aspectos generales

memoria real
la memoria real o principal es en donde son ejecutados los programas y procesos de una computadora y es el espacio real que existe en memoria para que se ejecuten los procesos. por lo general esta memoria es de mayor costoque la memoria secundaria, pero el acceso a la información contenida en ella es de más rápido acceso. solo la memoria cache es más rápida que la principal, pero su costo es a su vez mayor.



memoria virtual

el termino memoria virtual se asocia a dos conceptos que normalmente a parecen unidos:

1. el uso de almacenamientosecundario para ofrecer al conjunto de las aplicaciones la ilusión de tener mas memoria ram de la que realmente hay en el sistema. esta ilusión de existe tanto a nivel del sistema, es decir, teniendo en ejecución mas aplicaciones de las que realmente caben en la memoria principal, sin que por ello cada aplicación individual pueda usar mas memoria de la que realmente hay o incluso de forma mas general, ofreciendo a cada aplicación mas memoria de la que existe físicamente en la maquina.

2. ofrecer a las aplicaciones la ilusión de que están solas en el sistema, y que por lo tanto, pueden usar el espacio de direcciones completo. esta técnica facilita enormemente la generación de código, puesto que el compilador no tiene porque preocuparse sobre dónde residirá la aplicación cuando se ejecute.

espacio de direcciones

los espacios de direcciones involucrados en el manejo de la memoria son de tres tipos:



• direcciones físicas: son aquellas que referencian alguna posicion en la memoria física.

• direcciones lógicas : son las direcciones utilizadas por los procesos. sufren una serie de transformaciones , realizadas por el procesador (la mmu), antes de convertirse en direcciones físicas.

• direcciones lineales: direcciones lineales se obtienen a partir de direcciones logicas tras haber aplicado una transformación dependiente de la arquitectura.

los programas de usuario siempre tratan con direcciones virtuales ; nunca ven las direcciones fisicas reales..

unidad de manejo de memoria

la unidad de manejo de memoria (mmu) es parte del procesador. sus funciones son:

• convertir las direcciones lógicas emitidas por los procesos en direcciones físicas.

• comprobar que la conversión se puede realizar. la dirección lógicapodría no tener un dirección física asociada. por ejemplo, la pagina correspondiente a una dirección se puede haber trasladado a una zona de almacenamiento secundario temporalmente.

• comprobar que el proceso que intenta acceder a una cierta direccion de memoria tiene permisos para ello.

• la mmu se inicializa para cada proceso del sistema. esto permite que cada procesop pueda usar el rango completo de direcciones lógicas (memoria virtual), ya que las conversiones de estas direcciones serán distintas para cada proceso.

• en todos los procesos se configura la mmu para que la zona del núcleo solo se pueda acceder en modo privilegiado del procesador.

• la configuración correspondiente al espacio de memoria del núcleo es idéntica en todos los procesos.