GESTION DE MEMORIA


Una de las principales características de un sistema distribuido es la ausencia de una memoria común. Esto hace que la comunicación y sincronización en este tipo de sistemas tenga que hacerse mediante el intercambio de mensajes. La mayoría de los sistemas distribuidos actuales siguen este modelo, con cada computadora gestionando su memoria virtual. Sin embargo, hay propuestas que intentan mejorar este esquema. Estas propuestas son:

• Utilización de paginadores externos.
• Memoria compartida distribuida.

La utilización de paginadores externos se basa en almacenar el espacio de intercambio (swap) en servidores de archivos distribuidos y en el empleo de paginadores externos, que son procesos que se encargan de tratar los fallos de página que ocurren en una computadora. El empleo de paginadores externos permite disponer de un sistema con una gran cantidad de espacio para paginación, liberando a las computadoras de reservar espacio para la paginación.


PAGINADORES.jpg


La memoria compartida distribuida es una abstracción que permite que los procesos que ejecutan en un sistema distribuido puedan comunicarse utilizando memoria compartida. Esta abstracción se construye utilizando: el paso de mensajes disponible. El empleo de memoria compartida como mecanismo de comunicación': facilita el desarrollo de aplicaciones, ya que el modelo de programación es más sencillo y lá sincronización puede realizarse utilizando construcciones tradicionales, cómo pueden ser los semáforos.

La memoria compartida.distribuida se implementa utilizando paso de mensajes para distribuir los datos a las memorias de las distintas computadoras. No hay que olvidar que para poder ejecutar un programa es necesario que éste, junto con sus datos, resida en memoria principal. La distribución de los datos, normalmente páginas, se puede hacer replicando páginas en distintas computadoras o migrando páginas de una computadora a otra.

En el primer caso, cada computadora que utiliza una página almacena una copia local de ella en su memoria principal,.pudiéndose incluso paginar a su propia área de intercambio.

MEMORIA_COMPARTIDA.jpg



El empleo de replicación conlleva a la existencia de múltiples copias de una página, con los posibles problemas de coherencia que ello puede plantear. La migración, en cambio, se basa en no permitir la existencia de múltiples copias. Cuando un proceso requiere acceso a una página (se habrá producido un fallo de página en la computadora en la que ejecuta), el sistema' de memoria compartida distribuida se encargará de transferir la página del lugar en el que se encuentre (en esta computadora la página se marcará como no presente) hasta lá computadora que provocó el fallo. Este enfoque elimina los posibles problemas de coherencia en el acceso a datos compartidos, pero el rendimiento del sistema puede degradarse en caso de accesos muy frecuentes por parte de diferentes procesos a una misma página,-puesto que ésta estará transfiriéndose constantemente de una máquina a otra.