Conceptos fundamentales sobre administración de memoria física y virtual
La gestión de memoria es el proceso mediante el cual el sistema operativo controla y coordina el uso de la memoria principal (RAM) entre los procesos en ejecución.
Ejemplo: Cuando abres un programa, se carga de disco (secundario) a RAM (principal) y partes usadas frecuentemente se copian a caché.
Espacio no utilizado dentro de una partición asignada
Ejemplo: Asignar 1MB a un proceso que solo usa 700KB
Espacio libre dividido en bloques pequeños no contiguos
Ejemplo: 10MB libres totales, pero en bloques de 1MB dispersos
Cuando múltiples procesos compiten por recursos limitados
Solución: Algoritmos de planificación y swapping
Cuando el sistema pasa más tiempo intercambiando páginas que ejecutando procesos
Causa: Sobrecarga de memoria virtual
Técnica que permite ejecutar programas más grandes que la memoria física disponible, usando almacenamiento secundario como extensión.
| Algoritmo | Descripción | Ventajas | Desventajas |
|---|---|---|---|
| FIFO (First In, First Out) | Reemplaza la página más antigua | Simple de implementar | Puede eliminar páginas usadas frecuentemente |
| LRU (Least Recently Used) | Reemplaza la página menos usada recientemente | Buen rendimiento en general | Requiere hardware especializado para implementación eficiente |
| Óptimo | Reemplaza la página que no se usará por más tiempo | Mejor rendimiento teórico | Imposible de implementar (requiere conocimiento futuro) |
Las páginas se cargan a memoria solo cuando son referenciadas
Ventaja: Reduce la cantidad de memoria usada
Ejemplo: Un programa de 1GB solo carga las páginas que necesita en un momento dado
Intercambia procesos completos entre RAM y disco cuando no hay suficiente memoria
Uso típico: En sistemas con mucha multiprogramación
Múltiples procesos acceden a la misma región de memoria
Ventaja: Comunicación interprocesos eficiente
Ejemplo: Bibliotecas compartidas en sistemas Unix