Administración de Memoria

ADMINISTRACIÓN DE MEMORIA

INTRODUCCIÓN

–          Los programas deben ser llevados a la memoria y convertirse en procesos para ser ejecutados.

–          Cola de entrada. Colección de programas en disco que esperan para ser llevados a la memoria para su ejecución.

 

VINCULACIÓN DE LAS INSTRUCCIONES Y LOS DATOS A LA MEMORIA

Pueden realizarse en tres estadios:

–          Tiempo de compilación: si se conoce previamente la ubicación de memoria, puede generarse código absoluto, el código debe ser recompilado si la dirección de inicio cambia.

–          Tiempo de carga: Si se conocen las direcciones en tiempo de compilación, debe generarse código reubicable.

–          Tiempo de ejecución: La vinculación se retarda hasta el tiempo de corrida si los procesos pueden ser movidos durante su ejecución de una posición de memoria a otra.

OVERLAYS (SUPERPOSICIONES)

–          Mantiene en memoria solo aquellas instrucciones y datos que se requieren en un momento determinado.

–          Se utilizaba cuando el proceso era mayor que la cantidad de memoria destinada para él.

–          Se implementaba por el usuario, no se requería un soporte especial del sistema operativo, su programación era compleja.

ASIGNACIÓN CONTINUA

–          Generalmente la memoria principal tiene dos particiones:

  • Para el sistema operativo.

ASIGNACIÓN CONTIGUA 2

–          ASIGNACIÓN con múltiples particiones:

  • Hueco: bloque de memoria disponible.

ASIGNACIÓN DE MÚLTIPLES PARTICIONES FIJAS

Particiones configuradas por usuarios predeterminadas, se usó en OS/360/MTF (multiprogramación con un número fijo de tareas).

Recolocación: el enlazador debe determinar que direcciones recolocarse, vs carga absoluta x parte.

Protección: Bloques de 2k con clave, o registro de base y limite.

Fragmentación interna: en una partición de memoria, si el espacio es de 200 y se utilizan 70, 130 permanecen ociosos y no se pueden utilizar.

 

FRAGMENTACIÓN

Explicación de programa en pascal de simulación de asignación de particiones fijas, en las particiones ejecuta programas específicos, muestras las particiones, los procesos.

 

ASIGNACIÓN DE MEMORIA CON PARTICIONAMIENTO FIJO

Al iniciar el sistema, se decide de que tamaño van a ser las particiones. Estos tamaños pueden ser diferentes. Lo que pasa, es que estas particiones permanecen fijas, para cambiar el tamaño de la partición, se debía reiniciar el sistema y elegir de nuevo el tamaño de las particiones. Si un tamaño de partición es de 20 espacios, y un programa de tamaño 10 es cargado en este espacio, se tiene una fragmentación interna de 10 espacios, ya que otro programa no puede ocupar este espacio, por lo tanto es espacio desperdiciado.

 

ASIGNACIÓN CON PARTICIONES VARIABLES.

El tamaño de la partición se crea al momento de ser utilizada, por lo tanto, si un programa necesita 10 espacios, se le asigna exactamente esa cantidad. El problema esta cuando el programa termina, ya que deja “huecos”, lo que lleva al problema de que si un programa necesita 12 espacios, no puede utilizar el hueco que dejó el anterior programa. Se le conoce con el nombre de fragmentacion externa.

 

Asignación dinámica de las particiones.

Esquema de Compresión (garbage collection): Ciber CDC 40mb/seg. Computador normal (velocidad) micro 1mb/seg. Mover el programa, de tal manera que puedan unirse los espacios.

Fragmentación externa: huevos después de ejecución.

Condensación: fusión de 2 huecos contiguos.

Explicación de un programa de simulación de asignación con particiones variables, memoria.

Anuncios

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