Instancia y administración de las estructuras de memoria
Comparativa de Técnicas
Virtual: flexible, puede provocar thrashing
Paginación: eficiente, requiere tabla y MMU
Segmentación: lógica, modular, requiere tabla
Contigua: simple, rápida, fragmentación externa
Casos Prácticos
Evaluación del uso de la memoria en distintos esquemas
Simulación de fragmentación y swapping
Construcción de tablas de páginas
Cálculo de direcciones lógicas a físicas
Optimización
Carga diferida: solo se carga lo necesario
TLB: caché para traducción rápida de direcciones
Reubicación: mover procesos según disponibilidad
Compactación: reorganización de memoria libre
Protección y Seguridad
Mecanismos por hardware y software
Verificación de accesos con bits de control
Uso de registros base y límite
Memoria Virtual
Problemas: thrashing por exceso de intercambio
Ventajas: multiprogramación, aislamiento
Mecanismos
Page fault: acceso a página no cargada
Swapping: intercambio entre RAM y disco
Conceptos clave
Segmentación bajo demanda
Paginación bajo demanda
Permite ejecutar procesos grandes
Espacio lógico mayor que espacio físico
Paginación
Traducción por MMU y TLB
Evita fragmentación externa, puede causar fragmentación interna
Tabla de páginas
Asocia páginas lógicas a marcos físicos
Memoria física dividida en marcos
Memoria dividida en páginas (tamaño fijo)
Segmentación
Problema: fragmentación externa
Ventajas: modularidad, protección individual
Traducción: dirección lógica = segmento + desplazamiento
Tabla de segmentos
Contiene base y límite de cada segmento
Divide el programa en módulos: código, datos, pila
Técnicas de Asignación
No Contigua
Paginación: bloques físicos fijos
Segmentación: bloques lógicos
Contigua
Fragmentación
Externa: huecos entre bloques
Interna: espacio no usado dentro del bloque
Tipos de particiones
Variables: tamaño adaptable, requiere compactación
Fijas: tamaño predeterminado, fácil administración
Un solo bloque por proceso
Objetivos de la Administración de Memoria
Control y recuperación de espacio libre
Manejo lógico y físico de direcciones
Permitir uso compartido seguro
Protección entre procesos (aislamiento)
Asignación eficiente del espacio disponible
Memoria Principal
Temporalidad: volátil (RAM), no volátil (disco)
Acceso: aleatorio (RAM), secuencial (cinta)
Jerarquía de Memoria
Disco (secundario)
RAM (principal)
Caché (rápido, cercano al CPU)
Registros (más rápidos y pequeños)
Definición: almacén de datos y programas en ejecución