Está en la página 1de 3

1.

DESARROLLO
La memoria virtual es una tcnica de gestin de la memoria que permite
que el sistema operativo disponga, tanto para el software de usuario como
para s mismo, de mayor cantidad de memoria que est disponible
fsicamente. La mayora de los ordenadores tienen cuatro tipos de memoria:
registros en la CPU, la memoria cach (tanto dentro como fuera del CPU),
la memoria RAM y el disco duro. En ese orden, van de menor capacidad y
mayor velocidad a mayor capacidad y menor velocidad.
1
LINUX
Direccionamiento de la memoria virtual
Linux utiliza una tabla de pgina de 3 niveles, cada tabla en particular tiene el
tamao de una pgina:
Directorio de pginas: Los procesos activos tienen un directorio de
pginas nico que tiene el tamao de pgina. El directorio de pginas
debe residir en la memoria principal para todo proceso activo.
Directorio intermedio de pginas: Este directorio se expande a mltiples
pginas. Cada entrada en la tabla de pginas apunta a una pgina que
contiene una tabla de pginas.
Tabla de pginas: Cada entrada en la tabla hace referencia a una
pgina virtual del proceso.

Algoritmo de reemplazo de pginas
Linux se basa en el algoritmo de Reloj, este algoritmo consiste en asociar un
bit de usado y otro de modificado con cada una de las pginas de memoria
principal. En Linux el usado se reemplaza por una variable de 8 bits. Cada vez
que se accede a la pgina la variable se incrementa. Despus Linux recorre
peridicamente la lista completa de pginas y decrementa la variable de edad
de cada pgina a medida que va rotando por todas ellas en memoria principal.

Una pgina que tiene un 0 es una "pgina vieja" es decir no se ha hecho
referencia a ella desde hace ya algn tiempo y es el mejor candidato para el
reemplazo. Cuando el valor de edad es ms alto, la frecuencia con la que se
ha accedido a la pgina recientemente es mayor y por lo tanto tiene un a
posibilidad menor de elegirse para el reemplazo. Este algoritmo es una
variante de la poltica LRU.

Reserva de memoria del ncleo
La gestin de memoria del ncleo se realiza en base a los marcos de pgina
de la memoria principal. Su funcin bsica es asignar y liberar marcos para los
distintos usos.


Los fundamentos de la reserva de memoria en Linux son los mecnismos de
reservas de pginas ya usados para le gestin de memoria virtual de usuario.
Como se utiliza el algoritmo buddy, se puede reservar y liberar unidades de
una o ms pginas. Debido a que el tamao mnimo de memoria que se puede
reservar es de una pgina, la reserva de pginas no sera muy adecuada ya
que el ncleo requiere pequeos fragmentos que se utilizarn por poco tiempo
y que son de distintos tamaos. Es por eso que Linux utiliza un esquema
conocido como "asignacin de lminas". En una mquina Pentium/x64, el
tamao de pgina es de 4 Kbytes y los fragmentos dentro de una pgina se
pueden asignar en tamaos de 32, 64, 128, 252, 508, 2040 y 4080 bytes.
2, 3


WINDOWS

El gestor de memoria esta diseado para trabajar con pginas que van desde
los 4 Kbytes hasta 64Kbytes. Las plataformas Intel, PowerPC, y MIPS tienen
4096 bytes por pgina y las plataformas DEC Alpha tienen 8192 bytes por
pgina.

Mapa de direcciones virtuales en Windows
Los procesos de usuario en Windows pueden ver un espacio de direcciones
independientemente de 32 bits, permitiendo 4Gbytes de memoria por proceso.
Por defecto una parte de esta memoria se reserva para el SO de manera que
cada usuario dispone de 2Gbytes de espacio de direcciones posibles y todos
los procesos lo comparten.

Se puede modificar esto restringiendo al SO a solo 1Gbyte y 3Gbytes para el
usuario, esto viene explicado en la documentacin de Windows.
Espacio de direcciones en Windows:
0x00000000 a 0x0000FFFF reservada para ayudar a los programadores
a capturar asignaciones de punteros Nulos.
0x00010000 a 0x7FFEFFFF espacio de direcciones disponible para el
usuario. Este espacio de encuentra dividido en pginas que se pueden
cargar a la memoria principal.
0x7FFF0000 a 0x7FFFFFFF una pgina de guarda, no accesible para el
usuario. Lo que hace es verificar referencias a punteros fuera del rango.
0x80000000 a 0xFFFFFFFF espacio de direcciones del sistema. Esta
rea es de 2Gbytes se utiliza por parte del ejecutivo de Windows, el
micro-ncleo y los manejadores de dispositivos.






Paginacin
Cuando se crea un proceso, puede, en principio utilizar todo el espacio de
usuario de 2Gbytes(menos 128 Kbytes). Este espacio se encuentra dividido en
pginas de tamao fijo, cualquiera de las cuales se puede cargar en la
memoria principal. Estados de las pginas:

Disponible: Pginas que no estn actualmente usadas por este proceso.
Reservada: Conjunto de pginas contiguas que el gestor de memoria
virtual separa para un proceso pero que no se cuentan para la cuota
Asignada: Las pginas para las cuales el gestor de la memoria virtual ha
reservado espacio en el fichero de paginacin.
La distincin entre memoria reservada y asignada es muy til debido a que
minimiza la cantidad de espacio de disco que debe guardarse para un proceso
en particular, manteniendo espacio libre en disco para otros procesos; y
permite que un hilo o un proceso declare una peticin de una cantidad de
memoria que puede proporcionarse rpidamente si se necesita.

En Windows cuando se activa un proceso por primera vez se le asigna un
cierto nmero de marcos de pgina de la memoria principal como conjunto de
trabajo. Cuando un proceso hace referencia a un proceso que no est en
memoria principal, una de las pginas de dicho proceso se expulsa, y se trae la
nueva pgina.

Cuando hay espacio disponible en la memoria, el gestor de memoria virtual
permite que los conjuntos residentes de los procesos activos crezcan,
entonces se trae una nueva pgina a la memoria sin expulsar ninguna.

Cuando la memoria empieza a escasear, el gestor de memoria virtual mueve
las pginas que se han utilizado hace ms tiempo de cada uno de los procesos
hacia swap, liberando as memoria principal.
4


2. BIBLIOGRAFA
1. http://es.wikipedia.org/wiki/Memoria_virtual
2. http://sistemasoperativosun.blogspot.com/2012/10/memoria-virtual-
en-linux.html
3. http://www.buenastareas.com/ensayos/Administraci%C3%B3n-De-
Memoria-Virtual-En-Windows/6682473.html
4. http://elblogueroanonimo.wordpress.com/2008/04/01/el-archivo-de-
paginacion-y-la-memoria-virtual-en-windows/

También podría gustarte