Gestion de memoria en

Clasificado en Informática

Escrito el en español con un tamaño de 4,82 KB

 

GESTION DE MEMORIA EN LINUX.

Asignación de páginas: Desde la memoria principal, Linux define un mecanismo para tratar bloques de páginas contiguos correspondientes a bloques de marcos de páginas contiguos, para ello, se utiliza el sistema de colegas donde el núcleo mantiene una lista de grupos de marcos de página contiguos de tamaño fijo.

Algoritmo de reemplazo de páginas: El algoritmo de reemplazo de páginas de Linux se basa en el algoritmo del reloj (NUR o NRU), donde se asocia un bit de uso y un bit de modificación a cada página de la memoria principal.

 

GESTION DE MEMORIA EN SOLARIS.

Sistema de Paginación:

Estructuras de datos: Para la memoria virtual paginada, Solaris, hace uso de una serie de estructuras de datos que son independientes de la máquina:

  • Tabla de páginas: posee una tabla por proceso, con una entrada para cada página de la memoria virtual del proceso.
  • Descriptor de bloques de disco: asociado a cada página del proceso, hay una entrada en la tabla de páginas que describe la copia en el disco de la página virtual.
  • Tabla de marcos de página: describe cada marco de la memoria real y está indexada por el número de marco.

Reemplazo de páginas: El algoritmo de reemplazo de páginas utilizado en Solaris es conocido como algoritmo del reloj de dos agujas, ya que utiliza un bit de referencia para cada pagina de la memoria que reúne los requisitos (no bloqueada) para ser expulsada. Dos parámetros determinan la operación del algoritmo:

  • Velocidad de recorrido: la velocidad con la que las agujas se mueven a través de la lista de páginas, en páginas por segundo.
  • Alcance entre agujas: el espacio entre la aguja frontal y la trasera.

 



GESTION DE MEMORIA EN WINDOWS 2000

El gestor de memoria virtual de Windows 2000 (W2K) controla cómo se asigna la memoria y cómo se realiza la paginación.

Mapa de Direcciones Virtuales de W2K: Cada proceso de usuario de W2K dispone de un espacio de direcciones separado de 32 bits, lo que permite 4 Gbytes de memoria por proceso. Por lo que, una parte de esta memoria está reservada para el sistema operativo y cada usuario tiene 2 Gbytes de espacio de direcciones virtual disponible.

Paginación en W2K: Cuando se crea un proceso en principio puede hacer uso de todo el espacio de usuario de 2 Gbytes. Este espacio se divide en páginas de tamaño fijo, y cualquiera puede cargarse en la memoria principal.

Define un tamaño de WS máximo según el tamaño de la memoria RAM.

Cuando se produce un page fault, se carga la página solicitada, mas un pequeño de páginas circundantes. Esto se denomina paginación por demanda con agrupación o clustering.

Si la memoria se llena, se puede utilizar una política de reemplazo LRU (para llevar a disco) o FIFO (se saca del WS, pero sigue en memoria).

 

 LOS THREADS Y LOS FALLOS DE PAGINAS.

Dependiendo del modelo que utilice un programa: One-To-One, Many- To-One o Many-To-Many.

  • Para el Kernel de Solaris son los LPW’s quienes producen PF por separado.
  • En Linux, también los threads pueden producir PF en forma separada.
  • Windows NT sucede algo similar a Linux.