sábado, 19 de octubre de 2013

Mapa de memoria


Mapa de memoria


Un mapa de memoria (del inglés memory map) es una estructura de datos (tablas) que indica cómo está distribuida la memoria. Contiene información sobre el tamaño total de memoria y las relaciones que existen entre direcciones lógicas y físicas, además de poder proveer otros detalles específicos sobre la arquitectura del computador.

Los mapas de memoria suelen ser creados usualmente por el firmware para dar información al núcleo del sistema operativo sobre cómo está distribuida la memoria.







Memoria expandida



Páginas o bancos de memoria expandida dentro del espacio de memoria superior (UMA).

La memoria expandida fue un método desarrollado alrededor de 1984 que proporcionaba memoria paginada extra a los programas de MS-DOS.

Éstos programas, que corrían en la IBM PC original, y sus sucesores como el IBM XT y el IBM AT, eran típicamente aplicaciones como hojas de cálculo y bases de datos que necesitaban una gran cantidad de memoria para trabajar correctamente.

El IBM PC y el IBM XT tenían una arquitectura de memoria de modo real, que solo permitía a los programas usar 1 megabyte de espacio de dirección, de los cuales solo hasta 640 KB estaba disponible como RAM normal para las aplicaciones. El resto entre 640 KB y 1megabyte era reservado para periféricos, destacándose la memoria para las tarjetas de vídeo. El IBM AT, con su microprocesador Intel 80286 soportaba un modo protegido lo que le permitía direccionar hasta 16 MB, pero este computador también usaba el MS-DOS, un sistema operativo que no usaba la memoria extendida (por arriba del megabyte) directamente.

La idea detrás de la memoria expandida era usar, también para la memoria del programa, parte de los 384 KB restantes normalmente dedicados a los periféricos. Para poder usar potencialmente mucho más memoria que los 384 KB que el espacio de direccionamiento permitía, fue ideado un esquema conmutación de bancos, donde solamente estarían accesibles a un mismo tiempo, porciones seleccionadas de la memoria adicional. Originalmente, era posible una sola ventana de 64 KB de memoria, más adelante esto fue más flexible. Las aplicaciones tuvieron que ser escritas de una manera específica para tener acceso a la memoria expandida.





Segmentación de memoria


Sistema de gestión de memoria en un sistema operativo.

La segmentación es una técnica de gestión de memoria que pretende acercarse más al punto de vista del usuario. Los programas se desarrollan, generalmente, en torno a un núcleo central (principal) desde el que
se bifurca a otras partes (rutinas) o se accede a zonas de datos (tablas, pilas, etc).

Desde este punto de vista, un programa es un conjunto de componentes lógicos de tamaño variable o un conjunto de segmentos, es decir, el espacio lógico de direcciones se considera como unconjunto de segmentos, cada uno definido por un identificador, y consistente de un punto de inicio y el tamaño asignado.

La segmentación de un programa la realiza el compilador y en ella cada dirección lógica se expresará mediante dos valores: Número de segmento (s) y desplazamiento dentro del segmento (d).

Una de las implementaciones más obvias y directas de un espacio de memoria segmentado es asignar un segmento distinto a cada una de las secciones del espacio en memoria de un proceso.

La segmentación también ayuda a incrementar la modularidad de un programa: Es muy común que las bibliotecas enlazadas dinámicamente estén representadas en segmentos independientes.



1 comentario:

  1. Me da mucha pena ver mis láminas que he llegado a producir con fines didácticos para mis estudiantes y que usted con todo DESCARO las publica sin hacer referencia al autor, esto se cataloga como un ROBO, debe e hacer referencia al autor en caso contrario sigue siendo un LADRON

    ResponderEliminar