Administracion De Memoria
Administración de la Memoria
Antecedentes
• Un programa debe ser llevado del disco hacia la
Un
memoria y puesto dentro de un proceso para que
pueda ser ejecutado
• La memoria principal y registros son almacenamientos
que el CPU puede acceder directamente
• Se accede al registro en un ciclo del reloj (o menos) del
CPU
• La memoria principal puede tomar muchosciclos
• La cache se sitúa entre la memoria principal y los
registros del CPU
• La protección de memoria es requerida para asegurar
la
la correcta operación
2
Registros Limite y Base.
• Un par de registros base y limit definen el espacio de
direcciones lógicas
3
Vinculación de las Instrucciones y Datos
a la Memoria
la
• Vinculación del direccionamiento de instrucciones ydatos a la direcciones de memoria puede suceder en
tres
tres etapas
– Tiempo de compilación: Si la posición de memoria es conocida
a priori, el código absoluto puede ser generado; debe de
recompilar el código si la posición de inicio cambia
– Tiempo de Carga: Debe de generar código relocalizable si la
posición de memoria no es conocida en tiempo de
compilación
– Tiempo de Ejecución: Lavinculación es retardada hasta el
tiempo de ejecución, si el proceso puede ser movido durante
su ejecución de un segmento de memoria a otro. Necesita el
soporte de hardware para mapear la dirección (por ejemplo,
(p
registros base y limite)
4
Procesamiento en Varias Etapas de un
Programa
Programa de Usuario
5
Espacio de Direccionamiento Físico y
Lógico
Lógico
• El concepto deespacio de dirección lógica esta
limitado a separar el espacio de dirección física es
central
central para la apropiada administración de memoria
– Direcciones lógicas – generado por el CPU; también
referido
referido como dirección virtual
– Direcciones físicas – direcciones vistas por la unidad de
memoria
• Las direcciones físicas y lógicas son las mismas en
tiempo de compilación y eltiempo de carga en el
esquema de vinculación de direcciones; las
direcciones lógicas (virtuales) y físicas difieren en
tiempo
tiempo de ejecución en el esquema de vinculación de
direcciones.
6
La Unidad de Administración de
Memoria
Memoria (MMU)
• Los dispositivos de hardware que mapean las
direcciones virtuales a las físicas
• En el esquema de MMU, el valor en el registro derelocalización es agregado a cada dirección
generada por un proceso de usuario al tiempo que
es
es enviado a la memoria
• The user program deals with logical addresses; it
never sees the real physical addresses
7
Relocalización Dinámica Utilizando un
Registro
Registro de Relocalización
8
Carga Dinámica
• La Rutina no es cargada hasta que es llamada
• Mejor utilización delespacio de memoria; rutinas sin
uso nunca son cargadas
• Útil cuando grandes cantidades de código se
requieren manejar en casos que ocurren
infrecuentemente
• No se requiere soporte especial del sistema
operativo se requiere implementar a través del
diseño
diseño del programa
9
Encadenamiento Dinámico
• El encadenamiento es pospuesto hasta tiempo de
ejecución
• Una pequeña pieza decódigo, stub es usada para localizar
la rutina apropiada de la biblioteca de la memoria
residente
• El stub se reemplaza así mismo con la dirección de la rutina,
y ejecuta la rutina
• El sistema operativo necesita verificar si la rutina esta en el
espacio de memoria del proceso
• El encadenamiento dinámico es particularmente útil para
las bibliotecas
es
• El sistema también es conocidocomo bibliotecas
compartidas
10
Intercambio (Swapping)
•
Un proceso puede ser intercambiado temporalmente fuera de la memoria hacia
un almacenamiento de respaldo y después traerlo de vuelta a la memoria para
continuar su ejecución
•
Almacenamiento de respaldo – un rápido disco duro lo suficientemente grande
para acomodar copias de todas las imágenes de la memoria para todos los...
Regístrate para leer el documento completo.