Sistemas operativos modernos
pació de direcciones virtual del proceso, pero sólo se compromete una pàgina. Esta técnica impli ca que la pila puede llegar a crecer hasta 1 MB sin temor de que algún otro subproceso asigne el trozo contiguo de espacio de direcciones virtual que necesita. Además del atributo libre, comprometida o reservada, las páginas tienen otros atributos, como ser o no legibles, escribi bles y ejecutables. Se establece un equilibrio interesante en la asignación de almacén de respaldo a las pági nas comprometidas. Una estrategia sencilla sería asignar una página en uno de los archivos de paginación para respaldar cada página comprometida en el momento en que se compromete. Esto garantizaría que siempre habrá un lugar conocido para escribir cada página comprometi da, en caso de que sea necesario desalojarla de la memoria. La desventaja de tal estrategia es que el archivo de paginación podría tener que ser tan grande como la unión de las memorias virtuales de todos los procesos. En un sistema grande que casi nunca se queda sin memoria y, por tanto, casi nunca se pagina, este enfoque desperdiciaría espacio en disco. A fm de evitar este desperdicio, en Windows 2000 no se asigna una página en el disco a las páginas comprometidas que no tienen un hogar natural en el disco (por ejemplo, las pági nas de pila), sino hasta el momento en que se hace necesario paginarlas a disco. Este diseño aumenta la complejidad del sistema porque es posible que los mapas de los archivos de pagi nación tengan que traerse del disco durante un fallo de página, lo cual podría causar uno o más fallos de página adicionales dentro del manejador de fallos de página. La ventaja es que no es necesario asignar espacio en disco para páginas que nunca se paginan a disco. Intercambios como éste (entre la complejidad del sistema y el desempeño o el número de funciones) suelen inclinarse en favor de lo segundo, porque la valía de un mejor desempeño o un mayor número de funciones es evidente, mientras que la desventaja de la complejidad (mayo res dolores de cabeza en el mantenimiento y más caídas al año) es difícil de cuantificar. Las páginas libres y reservadas nunca tienen páginas sombra en el disco y las referencias a ellas siempre causan fallos de página. Las páginas sombra en el disco se organizan en uno o más archivos de paginación. Podría haber hasta 16 archivos de paginación, quizá repartidos entre 16 discos individuales, para aumen tar el ancho de banda de E/S. Cada uno tiene un tamaño inicial y un tamaño máximo hasta el que puede crecer en caso necesario. Estos archivos pueden crearse con el tamaño máximo en el mo mento de instalarse el sistema para reducir la posibilidad de que estén muy fragmentados, pero pueden crearse archivos nuevos después, empleando el Panel de control. El sistema operativo lle va el control de cuál página virtual corresponde a qué parte de cuál archivo de paginación. En el caso de texto de programa (sólo ejecución), el archivo binario ejecutable (es decir, el archivo .exe o .dll) contiene las páginas sombra; para las páginas de datos se usan los archivos de paginación. Windows 2000, al igual que muchas versiones de UNIX, permite establecer correspondencia en forma directa entre archivos y regiones de los espacios de direcciones virtuales (es decir, se ries de páginas consecutivas). Cuando se ha establecido correspondencia entre un archivo y el espacio de direcciones, dicho archivo puede leerse o escribirse empleando referencias ordinarias a la memoria. Los archivos con correspondencia en memoria se implementan igual que otras pá ginas comprometidas, sólo que las páginas sombra están en el archivo del usuario y no en el de paginación. Por ello, mientras un archivo tiene correspondencia en memoria, la versión que está en la memoria podría no ser idéntica a la que está en el disco (debido a escrituras recientes en
RkJQdWJsaXNoZXIy MjI4NDcx