ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Gestion De Memoria Windows


Enviado por   •  15 de Noviembre de 2013  •  1.685 Palabras (7 Páginas)  •  484 Visitas

Página 1 de 7

Gestión de la memoria

La gestión de memoria en Windows es de memoria virtual con paginación y Working Set o conjunto de Trabajo, con páginas de 4KB, con espacio destinado a cada proceso de un máximo de 4 Gigabytes, ya que su direccionamiento es de 32 bits. De este modo, cada proceso dispone de 4 Gigabytes, 2 Gbytes para la aplicación y otros 2 Gbytes para el sistema.

Un proceso en Windows NT sólo puede acceder a los 2 GB de la parte inferior de su espacio de direccionamiento teniendo en cuenta además que los 64 KB más altos y más bajos no son accesibles. Los ficheros ejecutables, los DLL de aplicación y los DLL de Windows, así como los ficheros mapeados en memoria residen en el espacio existente entre 0x00010000 y 0x7FFEFFFF. El núcleo de Windows NT, el ejecutivo y todos los controladores de dispositivos residen en los 2 GB de sistema, donde están completamente protegidos de cualquier acceso o manipulación por programas maliciosos.

Gestión de la memoria virtual

La gestión de memoria virtual se basa en un algoritmo de paginación por demanda anticipada, es decir, cada vez que se produce una falta de página, el sistema copiará en memoria la página correspondiente a la referencia a memoria que ha causado la falta de página y además un conjunto de páginas próximas a ella, tanto anteriores como posteriores, al suponer que, debido a la localidad de las referencias, es casi seguro que en un futuro próximo también se hará referencia a estas páginas, que cuando se quieran utilizar ya estarán en memoria y, por lo tanto, no producirán faltas de páginas adicionales.

La gestión de memoria virtual se apoya en el Working Set o Conjunto de Trabajo que permite asignar o asegurar una cierta cantidad de memoria física para cada proceso.

Windows presta especial atención al momento de arranque de los procesos ya que, como no tienen ninguna página cargada en la memoria, hasta que carguen todas las páginas necesarias se producirán muchas faltas de página. Para optimizar la carga de los procesos, Windows cuenta con lo que se conoce como “Prefetcher” cuya misión es acelerar el proceso de carga. Para ello, monitoriza los primeros 10 segundos del arranque de cada programa, y los 30 primeros segundos del arranque del sistema, almacenando la información sobre las necesidades de carga (faltas de página que se producen), que usará posteriormente cuando se vuelva a ejecutar la aplicación en el futuro. El Prefetcher puede activarse o no.

Cuando arranca el sistema o un programa, el Prefetcher busca en su directorio para ver si existe información sobre dicho programa, y si es así, llama a NTFS para obtener las referencias a los ficheros y los abre, e indica al sistema que cargue todas las páginas que se cargaron la vez anterior y que todavía no estén presentes en memoria real, de manera que el sistema no arrancará definitivamente el proceso hasta que no estén totalmente cargadas en memoria.

En el caso de que se produzca una falta de página, y todos los marcos de página reservados para el proceso están ocupados, será necesario sustituir alguna de las que ya están en memoria. Windows emplea el algoritmo LRU (aunque algunas versiones utilizan también FIFO), con sustitución local dentro del conjunto de trabajo del proceso.

Windows asigna la memoria de usuario en dos etapas, la primera permite al programa reservar una cierta cantidad de memoria inicial, de manera que si no la necesita, no la ocupa, y en una segunda etapa asigna los marcos al proceso.

Permite compartir páginas, al poder proteger contra lectura o escritura las mismas. Igualmente admite que se pueda bloquear una página en memoria que sea crítica, impidiendo que pueda sustituirse ante una falta de página, facilitando así la implementación de aplicaciones en tiempo real.

El código y los datos del núcleo del sistema operativo no se paginan, excepto una pequeña parte que se denomina pool paginado. Residen en la parte alta de la memoria, quedando el resto para los programas de usuario como ya hemos visto antes.

Gestión del Working Set

Cada proceso comienza con un conjunto mínimo de 50 marcos de página y un máximo de 345. Estos límites se pueden cambiar por los usuarios que tengan el derecho de “prioridad de aumento de la planificación (increase scheduling priority)” con la función SetProcessWorkingSetSize

La gestión del Working Set es dinámica, es decir, Windows permite que un proceso aumente el tamaño de su conjunto de trabajo dinámicamente por encima de los límites fijados si se está produciendo un elevado porcentaje de faltas de página.

Cuando se produce una falta de página, el conjunto de trabajo limita el tamaño de memoria libre disponible para el proceso. El sistema permitirá que el proceso llene completamente el conjunto de trabajo, y si necesitase más páginas, entonces procederá a la sustitución de las existentes con el algoritmo de sustitución ya visto.

En el caso de que se hayan modificado muchas páginas y hubiera que estar sustituyendo constantemente páginas modificadas, se concede al proceso

...

Descargar como (para miembros actualizados) txt (10 Kb)
Leer 6 páginas más »
Disponible sólo en Clubensayos.com