Sistemas operativos modernos

Función API Win32 Descripción VIrtualAlloc Reserva o compromete una región VirtualFree Libera o descompromete una región VirtuaiProtect Modii la protección de leer/escribir/ejecutar de una región VirtualQuery Pregunta por la situación de una región VirtualLock Hace residente en memoria una región (o sea, inhabilitar su paginación) VirtualUnlock Hace paginable (de la forma usual) una región CreateFileMapping Crea un objeto de correspondencia de archivo y (opcionalmente) lo nombra MapViewOfFile Establece correspondencia con (parte de) un archivo y el espacio de direcciones UnmapViewOfFile Elimina la correspondencia entre un archivo y el espacio de direcciones OpenFileMappíng Abre un objeto de correspondencia de archivo creado con antenoridad Figura 11-25. Las principales funciones de API Win32 para administrar memoria vir­ tual en Windows 2000. procesos se vuelvan demasiado codiciosos. En realidad» las páginas fijadas sí pueden desalojar­ se de la memoria, pero sólo si todo el proceso se intercambia a disco. Cuando se traiga otra vez a la memoria, se volverán a cargar todas las páginas fijadas antes de que cualquier subproceso de ese proceso continúe su ejecución. Aunque no aparecen en la figura 11-25, Windows 2000 tam­ bién cuenta con funciones API que permiten a un proceso tener acceso a la memoria virtual de otro proceso sobre el cual se le ha otorgado control (es decir, para el cual posee un idenfificador). Las últimas cuatro funciones API que se muestran sirven para administrar archivos con co­ rrespondencia en memoria. Para hacer que un archivo tenga correspondencia, antes debe crearse un objeto de correspondencia (vea la figura 11-10) con CreateFileMapping. Esta función devuel­ ve un idenfificador para el objeto de correspondencia de archivo y, de forma opcional, introdu­ ce un nombre para ese identificador en el sistema de archivos con el fm de que otro proceso pueda usarlo. Las dos funciones que siguen eliminan y establecen correspondencias de archi­ vos, respectivamente. Un proceso puede usar la última función para establecer corresponden­ cia entre un archivo con el que otro proceso ya tiene correspondencia. Así, dos o más procesos pueden compartir regiones de sus espacios de direcciones. Esta técnica les permite escribir en regiones limitadas de sus respectivas memorias. 11.5.3 Implementación de administración de memoria Windows 2000 maneja un solo espacio de direcciones lineal de 4 GB, paginado por demanda, para cada proceso. No se maneja segmentación en ninguna de sus modalidades. En teoría, el tamaño de página puede ser cualquier potencia de dos, hasta 64 KB. En Pentium el tamaño es fijo, de 4 KB; en Itanium puede ser de 8 o 16 KB. Además, el sistema operativo en sí puede usar páginas de 4 MB para reducir el espacio que ocupa su tabla de páginas. A diferencia del calendarizador, que selecciona subprocesos individuales para ejecutar y no se ocupa mucho de los procesos, el administrador de memoria trabaja en forma exclusiva con procesos y no se ocupa de los subprocesos. Después de todo, son procesos, no subprocesos, los que poseen el espacio de direcciones, y eso es lo que maneja el administrador de memoria.

RkJQdWJsaXNoZXIy MjI4NDcx