Gestión de memoria en Windows

El gestor de memoria virtual en Windows controla  la forma en la que se reserva la memoria y cómo se realiza la paginación. El gestor de memoria se ha diseñado para funcionar sobre una variada gama de plataformas y para utilizar tamaños de páginas que van desde los 4 Kbytes hasta los 64 Kbytes. La plataforma Intel, PowerPC y MIPS tienen 4096 bytes por página y las plataformas del ALPHA tienen 8192 bytes por página.

Mapa de direcciones virtuales en Windows

Cada proceso de usuario en Windows puede ver un espacio de direcciones independientes de 32 bytes permitiendo 4 Gbytes de memoria por proceso. Por omisión, una parte de esta memoria se encuentra reservada para el sistema operativo, de forma que en realidad cada usuario dispone dd 2 Gbytes de espacio virtual de direcciones disponibles y todos los procesos comparten los mismos de Gbytes  de espacio de sistema. Existe una opción que permite que el espacio de direcciones crezca hasta los 3 Gbytes, dejando un espacio de sistema de únicamente 1 Gbytes. En la documentación de Windows se indica que esta característica se incluyó para dar soporte a aplicaciones que requieren un uso interactivo de grandes cantidades de memoria en servidores con memorias de varios gigabytes, en los cuales un espacio de direcciones mayor puede mejorar drásticamente el rendimiento de aplicaciones de soporte como la decisión o data mining.

Paginación en Windows

  Cuando se crea un proceso, puede, en principio, utilizar todo el espacio de usuario de 2 Gbytes. Este espacio se encuentra dividido en páginas de tamaño fijo., cualquiera de las cuales se puede cargar en la memoria principal. En la práctica, una página se puede encontrar, a efectos de gestión, en los presentes estados:


  • Disponible: Páginas que no están actualmenteusadas por este proceso.
  • Reservada: Conjunto de páginas contiguas que el gestor de memoria virtual separa para un proceso pero que  no se cuentan para la cuota de memoria usada por dicho proceso. Cuando un proceso necesite escribir en la memoria, parte de esta memoria reservada se asigna al proceso.
  • Asignada: Las páginas para las cuales el gestor de memoria virtual ha reservado espacio en el fichero de paginación (por ejemplo: el fichero de disco donde se escribirían las páginas cuando se eliminen de la memoria principal).  



La distinción entre la memoria reservada y asignada es muy útil debido a que (1) minimiza la cantidad de espacio de disco que debe guardarse para un proceso en particular, manteniendo espacio libre en disco para otros procesos; y (2) permite que un hilo o un proceso declare una petición de una cantidad de memoria que puede proporcionarse rápidamente si se necesita.


   El esquema de gestión del conjunto residente que utiliza Windows es de asignación variable, con ámbito local. Cuando se activa un proceso por primera vez, se le asigna un cierto número de marcos de página que no ésta en la memoria, una de las páginas residentes de dicho proceso se expulsa, trayéndose la nueva página. Los conjuntos de trabajo de los procesos activos se ajustan usando las siguientes condiciones generales:
   Cuando hay memoria principal disponible, el gestor de la memoria virtual permitr que los conjuntos residentes de los procesos activos crezcan. Para hacer esto, cuando ocurre un fallo página, se trae la nueva página a la memoria sin expulsar una página antigua, haciendo que se incremente el conjunto residente de proceso en una página.
   Cuando la memoria empieza escanear, el gestor de la memoria virtual recupera la memoria de sistema moviendo las páginas que se han utilizado hace más tiempo de cada uno de los procesos, reduciendo el tamaño de esos conjuntos residentes.

[-SISTEMA OPERATIVO. Aspecto internos y principios de diseño. William Stalling.]






Comentarios

Entradas más populares de este blog

Actualización de Instagram

Así puedes buscar rápidamente software dañino en tu PC y eliminarlo con Chrome

Instagram