Sistemas operativos modernos

computadora que tiene una memoria física (más) pequeña. En muchos sistemas esto es cierto, pero en algunos sistemas avanzados los programadores tienen cierto control sobre el mapa de memoria y pueden usarlo de formas no tradicionales para ampliar el comportamiento de los programas. En esta sección veremos en forma somera algunos de esos usos. Un motivo para conferir a los programadores control sobre su mapa de memoria es permi­ tir que dos o más procesos compartan la misma memoria. Si los programadores pueden asig­ nar nombres a regiones de su memoria, un proceso podría comunicar a otro el nombre de una región de memoria para que éste pueda hacerse corresponder allí. Si dos (o más) procesos com­ parten las mismas páginas, se posibilita el compartimiento de un ancho de banda alto: un pro­ ceso escribe en la memoria compartida y otro la lee. El compartimiento de páginas también puede servir para implementar un sistema de trans­ ferencia de mensajes de alto desempeño. Lo normal es que, al transferirse mensajes, los datos se copien de un espacio de direcciones a otro, lo cual es muy costoso. Si los procesos pueden controlar su mapa de páginas, podrán transferir mensajes pidiendo al proceso emisor que anu­ le su correspondencia con la o las páginas que contienen el mensaje, y pidiendo al proceso re­ ceptor que establezca una correspondencia con ellas. Así sólo es necesario copiar nombres de páginas, no todos los datos. Otra técnica avanzada de administración de memoria es la memoria compartida distribui­ da (Feeley et al., 1995; Li, 1986; Li y Hudak, 1989; y Zekauskas et al., 1994). La idea es per­ mitir que múltiples procesos en una red compartan un conjunto de páginas, tal vez, aunque no necesariamente, como un solo espacio de direcciones lineal compartido. Cuando un proceso ha­ ce referencia a una página con la que no tiene correspondencia, genera un fallo de página. El manejador de fallos de página, que podría estar en el kemel o en el espacio de usuario, localiza la máquina que tiene esa página y le envía un mensaje pidiéndole que anule su corresponden­ cia con ella y la envíe por la red. Cuando llega la página, se establece una correspondencia con ella y se reinicia la instrucción que causó el fallo. Examinaremos la memoria compartida distri­ buida con mayor detalle en el capítulo 8 . 4,7 ASPECTOS DE IMPLEMENTACION Quienes implemenian sistemas de memoria virtual deben tomar decisiones respecto a los prin­ cipales algoritmos teóricos, como usar segunda oportunidad o envejecimiento, asignación de páginas local o global, y paginación por demanda o prepaginación. Además, deben estar cons­ cientes de varios problemas prácticos de implementación. En esta sección examinaremos algu­ nos de los problemas más comunes y algunas soluciones. 4.7.1 Intervención del sistema operativo en la paginación Hay cuatro ocasiones en las que el sistema operativo tiene que realizar tareas relacionadas con la paginación: cuando se crea un proceso, cuando se ejecuta un proceso, cuando se presenta un fallo de página y cuando termina un proceso. Ahora examinaremos en forma breve cada una de estas ocasiones para ver qué debe hacerse.

RkJQdWJsaXNoZXIy MjI4NDcx