Administración de memoria

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Administración de memoria por Mind Map: Administración de memoria

1. La RAM es un importante recurso de las computadoras y administrarla significa saber manejarla con eficacia.

2. SIN ABSTRACCIÓN DE MEMORIA En un principio los ordenadores no podian ejecutar 2 programas a la vez porque su almacenamiento no lo permitia. En la parte inferior de la RAM se encuentra el S.O, cuansdo un usuario teclea un comando, el S.O. copia el programa solicitado del disco en la memoria y la ejecuta cuando termina el proceso, el S.O. muestra un caracter indicador de comando y espera un nuevo comando, cuando recibe el comando carga un nuevo programa en memoria sobrescribiendo el primero.

2.1. Ejecución de multiple programas sin abstracción de memoria. Aún sin abstracción es posible ejecutar varios programas a la vez, lo que debe hacer el sistema es guardar el contenido en un archivo de disco para despues traerlo y ejecutar el siguiente programa. Se carga un primer programa para despues ejecutar el otro.

3. UNA ABSTRACCIÓN DE MEMORIA: ESPACIOS DE DIRECCIONES. Si los programas de usuario pueden direccionar cada byte de memoria, pueden estropear el S.O. con lo cual este se detendra en forma subita.

3.1. La noción de un espacio de direcciones. El espacio de direcciones crea un tipo de memoria abstracta para que los programas vivan ahi, un espacio de direcciones es el conjunto de direcciones que puede utilizar un proceso para direccionar la memoria. Los espacios de direcciones no tienen que ser númericos aunque van de 0 hasta 2 a la<32

3.1.1. Intercambio. Si en la memoria RAM hay suficiente espacio los programas correran de manera mas o menos correcta y hasta una actualización ocupa de 50 a 200MB lo que hace que la RAM se ocupe mas de lo necesario es por eso que el intercambio consiste en llevar cada proceso completo a memoria, ejecutarlo durante cierto tiempo y despues regresarlo al disco, de tal manera que no ocupan memoria cuando no se estan ocupando, cuando los intercambios de memoria crean huecos se combinan en uno y es posible desplazarlos hacia abajo, es o que se conoce como "compactacion de memoria".

3.1.1.1. Administración de memoria libre. Hay 2 formas de llevar a cabo un registro de uso de la memoria: Mapa de bits y listas libres. La de mapa de bits se divide en unidades de asignación tan pequeñas como unas cuantas palabras y tan grandes como varios Kilobytes. Para cada unidad de asignación hay un bit correspondiente en el mapa de bits 0 la unidad esta libre y viceversa. Entre mas pequeño sea la unidad de asignación (4 bits), mayor sera el mapa de bits (32 bits de memoria). Administración de memoria con listas ligadas Es mantener una lista ligada de segmentos de memoria asignados donde un segmento contiene un proceso o es un hueco vacio entre 2 procesos. Cuando los procesos o huecos se mantienen ordenados por dirección se pueden utilizar varios algoritmos para asignar memoria a un proceso creado.

4. MEMORIA VIRTUAL La idea basica de la memoria virtual es que cada programa tiene su propio espacio de direcciones, el cual se divide en trozos llamados páginas y estas se asocian en la memoria fisica, pero no todas tienen que estar en la memoria fisica para poder ejecutra el programa. Cuando el programa hace referencia a una parte de su espacio de direcciones que esta en la memoria fisica el hardware realiza la asociación ncesaria al instante y cuando no esta en la memoria fisica el sistema recibe una alerta para buscar la parte faltante y volver a ejecutar la instrucción que falló.

4.1. Paginación En las computadoras sin memoria virtual, la dirección física se coloca directamente en el bus de memoria y hace que se lea o escriba la palabra de memoria física con la misma dirección y cuando se utiliza la memoria virtual las direcciones no van directamente al bus de memoria, en vez de ello van a la MMU (Unidad de administración de Memoria), que asocia las direcciones virtuales a las direcciones de memoria físicas.

5. El espacio de direcciones virtuales se divide en unidades de tamaño fijo llamadas páginas y las unidades correspondientes en la memoria física se llaman marcos de página. Se asignan números a las direcciones virtuales para asociarlas con las direcciones físicas. El número de página se utiliza como índice en la tabla de páginas conduciendo al número de marco de página que corresponde a esa página virtual.

5.1. Tablas de páginas El propósito de la tabla de páginas es asociar direcciones virtuales a los marcos de página, la tabla de páginas es una función donde el número de página es un argumento y el marco es un resultado. Utilizando el resultado el campo de la página en una dirección virtual se puede remplazar por un campo de marco de página, formando así una dirección de memoria física. Estructura de una entrada en la tabla de páginas El campo más importante es el marco de numero de página. Al acceder a una entrada en la tabla con el bit puesto en 1, la entrada es válida y se puede utilizar y si el bit esta en 0 se producirá un fallo en la página. Los bits de protección indican con 1 bit con 0 para lectura/escritura y 1 para solo lectura. Los bits de modificada reclama que si esta modificada la página, es decir está sucia, debe escribirse de nuevo en el disco y sino solo se puede abandonar debido a que la copia del disco aun es válida. La función del bit de referenciada es ayudar al S.O. a elegir una página para desalojarla cuando ocurre un fallo de página.

5.1.1. Aceleración de la paginación Es necesario hacer una o dos o más veces referencia a la tabla de páginas por instrucción. Si la ejecución de la instrucción tarda un segundo la búsqueda en la tabla debe realizarse en menos de 0.02 s, para evitar que la asociación se convierta en un cuello de botella importante. Cuando se inicia un proceso el S.O. carga los registros con la tabla de páginas del proceso, tomada de una copia que se mantiene en la memoria principal.

5.1.1.1. Búferes de traducción adelantada Equipar a las computadoras con un dispositivo de hardware para asociar direcciones virtuales con direcciones físicas sin pasar por la tabla de páginas, este dispositivo es llamado TLB (Búfer de traducción adelantada), consiste en un pequeño número de entradas (64 máximo), cada entrada contiene información acerca de una página, incluyendo el número de página virtual, un bit que establece cuando se modifica la página, código de protección y el marco físico que se encuentra en la página. Estos campos tienen correspondencia de uno a uno con los campos en la tabla de páginas.

5.1.1.1.1. Administración del TLB mediante software Las entradas del TLB se cargan de manera explícita mediante el S.O, cuando no se encuentra una coincidencia en el TLB, en vez de que la MMU vaya a buscar a la tabla de páginas, solo genera un fallo del TLB y pasa el problema al S.O. y este debe de buscar la página, eliminar una entrada del TLB, introducir la nueva página y reiniciar la instrucción que origino el fallo.