You are on page 1of 11

Gestin de memoria en Linux

Gestin de memoria en Windows



Linux comparte algunas caractersticas de UNIX,
pero su esquema de gestin de memoria es
bastante complejo (DUBE98).
GESTION DE MEMORIA EN LINUX

Direccionamiento de memoria virtual

Linux hace uso de una estructura de tabla de
pginas con tres niveles:

- Directorio de pginas
- Directorio intermedio de pginas
- Tabla de pginas

Directorio de pginas:

Un proceso activo tiene slo un directorio de pginas, donde cada entrada
en el mismo, seala a una pgina del directorio intermedio de pginas.
Para un proceso activo, el directorio debe estar en la memoria principal.
Directorio intermedio de pginas:

Es el que puede ocupar varias pginas y donde cada entrada al directorio
seala a una pgina de la tabla de pginas.
Tabla de pginas:

Esta tambin puede ocupar varias pginas y en cada entrada se
hace referencia a una pgina virtual del proceso.
En el Pentium, que utiliza paginacin a 2 niveles:
- Cada directorio intermedio de pginas tiene una nica entrada
- As que, la entrada del directorio global sirve para seleccionar la tabla de paginas
que se usara
Cada direccin virtual se divide en 4 campos:

- Directorio: 1 campo, para consultar el directorio global

- Intermedio: 2 campo, para consultar el directorio intermedio de paginas

- Pagina: 3 campo, para acceder a la tabla de paginas

- Desplazamiento: 4 campo, dentro de la pagina seleccionada
Linux utiliza el sistema de colegas para asignar/liberar todos los marcos de
pagina:

- El sistema de colegas permite asignar intervalos de marcos contiguos de
tamao arbitrario, si se solicitan

- El tamao mas pequeo que se puede asignar es de un marco
Usando el sistema de colegas se asigna la memoria contigua en el
kernel.

Problema: se puede producir mucha fragmentacin interna ya que, por
ejemplo, hay que asignar 128 marcos a un modulo que necesita solo 65
marcos contiguos
Algoritmo de reemplazo de paginas:

Trata de mantener algunos marcos desocupados, creando una reserva de
marcos libres, para poderlos usar cuando se solicite un nuevo marco.
Los procedimientos para recuperar
marcos son:

1 Procedimiento: trata de
recuperar paginas del cache de
paginacin y del cache de buffer a
los que no se haya hecho referencia
ltimamente, empleando un
algoritmo tipo reloj

2 Procedimiento: Busca paginas
compartidas que al parecer ninguno
de los usuarios este utilizando
mucho

3 Procedimiento: Intenta recuperar
paginas de usuarios ordinarias
GESTION DE MEMORIA EN WINDOWS

Memoria en Win32:

Cuando un proceso se ejecuta, el sistema establece un espacio de
direcciones virtuales propio de 32 bits, que permite habilitar un
espacio de hasta 4 gigabytes de memoria. ste est formado por
la suma de la memoria RAM instalada, ms la memoria virtual
asignada.

Para aumentar la velocidad, el cambio no se realiza byte a byte,
sino pgina a pgina, cuyo tamao en Windows es de 4 KB. De ah
que toda la memoria virtual y fsica est paginada.
La estructura de la memoria en Windows es en forma de rbol, en el cual se definen
claramente 3 partes:

- Directorio de Pginas (Page Directory):

Cada proceso en ejecucin, dispone de un solo Directorio de Pginas. Se trata de
una tabla con 1024 entradas que almacena los punteros a las Tablas de Pgina.

- Tabla de Pginas (Page Table):

Cada Tabla de Pgina es a su vez otra tabla que contiene otras 1024 entradas que
ya apuntan alas propias pginas.

- Pgina (Page Frame):

Cada Pgina es un bloque de 4 KB donde se almacenan los datos de cada proceso.
Un esquema quedara as:
Las pginas pueden estar en uno de los siguientes estados:

Libre: Una pgina libre no puede ser accedida por ningn proceso, pero s
puede ser reservada o encargada.


Reservada: Una pgina reservada es un bloque del espacio de direccin
virtual que ha sido fijada para usos futuros. No se puede acceder a una
pgina reservada, ni tiene datos almacenados. Simplemente bloquea el
rango y no permite que sea asignado por otras funciones de asignacin.

Encargada: Aquella que ya ha sido asignada a un espacio fsico, ya sea en
memoria fsica o en memoria virtual. No podemos saber donde est
almacenada la pgina, pues de eso se encarga el sistema y puede que
est constantemente cambindola de posicin, pero lo que s sabemos es
que cuando la necesitemos, ah lo tendremos.


Existen algunas similitudes en cuanto a la gestin de
memoria en Windows y Linux pero cuando es necesario
liberar memoria Windows lo hace una vez por segundo a
diferencia en Linux que lo hace solo cuando es
necesario, esto hace de Linux mas eficiente.

You might also like