Tabla de Memoria

Linux

Linux gestiona la memoria central y las tablas de páginas utilizadas para convertir las direcciones lineales (virtuales) en direcciones físicas. Implementa una gestión de la memoria ampliamente independiente de la plataforma sobre la que se ejecuta. Este modelo no siempre se corresponde con el de la plataforma sobre el cual se ejecuta (ejemplo, el anteriormente visto procesador i386). Es tan sumamente extenso el modelo de paginación en linux que se hace imposible de abordar. No obstante, podemos consultar en el archivo fuente mm/memory.c la gestión de las tablas de página (las encargadas de realizar la traducción entre dos tipos de direcciones). Las funciones dependientes de la arquitectura se definen en asm/potable.h.

Linux hace uso de las ventajas de la segmentación y de los circuitos de los procesadores i386 para traducir direcciones lógicas en direcciónes físicas. Podemos también decir que alguna porción de RAM está permanentemente asignada al kernely utilizada para almacenar el código del kernel y estructuras de datos estáticas del mismo. La restante parte de la RAM se denomina memoria dinámica, y ésta es un recurso muy valioso y necesitado no sólo por los procesos, sino también por el propio kernel. De hecho, el rendimiento global de un sistema depende de cómo de eficientemente se gestiona la memoria dinámica. Por lo tanto, hoy día todos los sistemas operativos multitarea tratan de optimizar el uso de la memoria dinámica, asignándola sólo cuando es estrictamente necesario y liberándola tan pronto como sea posible.

Windows

La estructura de la memoria en Windows es en forma de árbol, en el cual se definen claramente 3 partes:

• Directorio de Páginas (Page Directory): Cada proceso en ejecución, dispone de un solo Directorio de Páginas. Se trata de una tabla con 1024 entradas que almacena los punteros a las Tablas de Página.
• Tabla de Páginas (Page Table): Cada Tabla de Página es a su vez otra tabla que contiene otras 1024 entradas que ya apuntan a las propias páginas.
• Página (Page Frame): Cada Página es un bloque de 4 KB donde se almacenan los datos de cada proceso.

Un esquema quedaría así:

Estado de las páginas

Las páginas pueden estar en uno de los siguientes estados:
• Libre: Una página libre no puede ser accedida por ningún proceso, pero sí puede ser reservada o encargada.
• Reservada: Una página reservada es un bloque del espacio de dirección virtual que ha sido fijada para usos futuros. No se puede acceder a una página reservada, ni tiene datos almacenados. Simplemente bloquea el rango y no permite que sea asignado por otras funciones de asignación.
• Encargada: Aquella que ya ha sido asignada a un espacio físico, ya sea en memoria física o en memoria virtual. No podemos saber donde está almacenada la página, pues de eso se encarga el sistema y puede que esté constantemente cambiándola de posición, pero lo que sí sabemos es que cuando la necesitemos, ahí lo tendremos.

Android

Divide la memoria del sistema en algo similar a las unidades de disco y da a cada una de ellas un tamaño máximo.

En concreto Android separa la memoria en seis carpetas o particiones:

  • boot con todos los datos que se utilizan al arrancar el sistema operativo.
  • recovery con el arranque de serie del terminal. En este directorio se pueden acceder a las opciones de fábrica originales.
  • system con las aplicaciones del sistema operativo e iniciales del terminal.
  • cache con información temporal o de caché.
  • misc con datos de configuración.
  • data con datos de usuario. En esta carpeta se guardan todas las aplicaciones que instalamos en nuestros terminales así como sus datos.

Al tener la memoria dividida en carpetas, puede que el sistema operativo nos avise que no tenemos memoria para instalar una aplicación porque, aunque tengamos algunos gigas libres, puede que no estén asociadas a la carpeta data .

[1] [2]

Esta entrada fue publicada en Consultas. Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s