Componente crítico del sistema operativo que controla cómo se asigna y libera la memoria RAM para los procesos en ejecución. Su objetivo principal es optimizar el uso de la memoria, permitiendo que múltiples procesos compartan eficientemente este recurso limitado.
Gestionar qué proceso tiene acceso a qué parte de la memoria en cada momento, asignando y liberando recursos según sea necesario.
Garantizar que un proceso no interfiera en el espacio de memoria de otro proceso, manteniendo la integridad del sistema.
Lograr un uso eficiente de la memoria, minimizando la fragmentación y maximizando el rendimiento del sistema.
Definición: La memoria en un sistema informático se refiere al componente que almacena datos y programas en tiempo de ejecución para que la CPU pueda acceder a ellos rápidamente. Es esencial para el funcionamiento adecuado de cualquier sistema informático.
Más rápida, más cara, menor capacidad
Volátil, acceso rápido, capacidad media
Discos duros, SSD, no volátil
Cintas, backups en la nube
Definición: Componente físico del hardware donde se almacenan los programas en ejecución y los datos con los que la CPU trabaja directamente.
Memoria Contigua: Cada proceso recibe un bloque continuo de memoria.
Ventajas: Simple y rápida
Desventajas: Fragmentación interna y externa
Memoria No Contigua: Proceso cargado en bloques no consecutivos.
Ventajas: Mejor aprovechamiento del espacio
Desventajas: Complejidad en la gestión
| Método | Descripción | Ventajas | Desventajas |
|---|---|---|---|
| Particionamiento Fijo | Memoria dividida en particiones de tamaño fijo asignadas a procesos específicos | Simple de implementar, gestión fácil | Uso ineficiente, fragmentación interna |
| Particionamiento Dinámico | Particiones creadas y asignadas dinámicamente según solicitudes | Optimiza uso de memoria, asigna tamaño exacto | Fragmentación externa, gestión compleja |
| Paginación | Memoria dividida en páginas de tamaño fijo, procesos en marcos de página | Flexible, gestión eficiente, reduce fragmentación externa | Fragmentación interna, overhead de tabla de páginas |
| Segmentación | Memoria dividida en segmentos lógicos (código, datos, pila) | Organización lógica, protección mejorada | Fragmentación externa, gestión compleja |
Definición: Espacio no utilizado dentro de una partición asignada a un proceso.
Causa: Cuando se asigna una partición más grande de lo necesario.
Ejemplo: Proceso solicita 50KB, se asigna partición de 64KB → 14KB desperdiciados.
Definición: Espacio libre suficiente en total, pero fragmentado en bloques pequeños insuficientes.
Causa: Liberación y asignación continua de memoria de diferentes tamaños.
Ejemplo: Bloques libres de 10KB, 15KB, 20KB, pero se necesita 30KB continuos.
Definición: Técnica que permite ejecutar programas más grandes que la memoria física disponible, usando combinación de RAM y espacio en disco.
Memoria virtual y física divididas en bloques de tamaño fijo (páginas).
Memoria dividida en segmentos lógicos (código, datos, pila).
| Algoritmo | Descripción | Ventajas | Desventajas |
|---|---|---|---|
| FIFO (First In, First Out) |
Reemplaza la página más antigua en memoria | Simple de implementar, bajo overhead | Puede eliminar páginas útiles, anomalía de Belady |
| LRU (Least Recently Used) |
Reemplaza página no accedida por más tiempo | Mejor rendimiento, mantiene páginas frecuentes | Complejo de implementar, requiere registro de uso |
| Óptimo (Optimal) |
Reemplaza página que no se usará por más tiempo | Mejor rendimiento teórico, mínimo de fallos | Imposible de implementar (requiere conocimiento futuro) |
Espacio Virtual: Conjunto de direcciones que un programa puede usar, independiente de memoria física.
Espacio Físico: Direcciones correspondientes a memoria física disponible, limitado por hardware.
Traducción: MMU (Memory Management Unit) convierte direcciones virtuales a físicas.