📘 Gestión de Memoria: Conceptos Fundamentales
La gestión de memoria es la función del sistema operativo encargada de controlar cómo y cuándo se asigna, libera y organiza la memoria principal para los procesos.
Existen dos escenarios principales:
✅ Sistemas Monoprogramados:
- Solo hay un proceso en ejecución (monousuario).
- La memoria se divide en:
- Parte del sistema operativo (SO).
- Parte del programa en ejecución.
✅ Sistemas Multiprogramados:
- La memoria se comparte entre varios procesos para mejorar el aprovechamiento de recursos.
🔷 Técnicas Clave en Multiprogramación
📍 Relocalización (Reubicación)
- Traducción de direcciones lógicas a físicas para permitir la ejecución de un proceso en cualquier posición de memoria.
- Puede ser:
🔹 Estática: Traducción fija al cargar el proceso.
🔹 Dinámica: Traducción en tiempo de ejecución, más flexible.
Protección
- Mecanismos para evitar que un proceso acceda a memoria que no le pertenece (registros base y límite).
🔷 Asignación de Memoria
1️⃣ Asignación Contigua – Sin Memoria Virtual
Proceso ocupa posiciones consecutivas en la memoria.
📍 Particiones Fijas
- División en bloques iguales.
- Ventaja: sencillo.
- Desventaja: fragmentación interna (espacios desaprovechados dentro de las particiones).
📍 Particiones Variables
- Bloques de memoria de tamaños distintos.
- Ventaja: menos fragmentación interna.
- Desventaja: fragmentación externa (espacios desaprovechados entre bloques).
Técnicas de Ubicación
- Primer Ajuste: primera partición libre que encaje.
- Mejor Ajuste: la más pequeña suficiente.
- Peor Ajuste: la más grande.
- Ajuste Rápido: listas rápidas de huecos pre-clasificados.
2️⃣ Asignación No Contigua – Sin Memoria Virtual
- Memoria se asigna en bloques dispersos (no consecutivos).
- Se necesita una tabla de asignación para mapear las direcciones lógicas a físicas.
- Mitiga la fragmentación externa.
🔷 Técnicas Avanzadas
📍 Overlays
- Cargar solo las partes del programa necesarias en un momento dado.
📍 Swapping
- Intercambio de procesos entre memoria principal y secundaria para liberar espacio.
📍 Segmentación
- Organización lógica de la memoria en módulos (código, datos, pila).
📊 Comparación Resumida
| Técnica | Ventaja | Desventaja |
|---|---|---|
| Fija | Sencilla | Fragmentación interna |
| Variable | Más eficiente | Fragmentación externa |
| No Contigua | Más flexible | Mayor complejidad |
| Overlays | Reduce uso de memoria | Mayor programación |
| Swapping | Mejora la multiprogramación | Overhead por intercambio |
🎓 Nota para Universitarios
Al estudiar gestión de memoria:
- Comprende las diferencias entre fragmentación interna y externa.
- Relaciona las técnicas de asignación con la eficiencia.
- Identifica los mecanismos de protección de memoria.
- Practica la resolución de ejercicios de traducción de direcciones lógicas a físicas.


Deja un comentario