Píldora TAI XCIX; Teorías Clave en Asignación y Protección de Memoria

📘 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écnicaVentajaDesventaja
FijaSencillaFragmentación interna
VariableMás eficienteFragmentación externa
No ContiguaMás flexibleMayor complejidad
OverlaysReduce uso de memoriaMayor programación
SwappingMejora la multiprogramaciónOverhead 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