Gestión de Memoria
Es el proceso mediante el cual el Sistema Operativo asigna y administra la memoria RAM a los programas que la solicitan.
¿Por qué es crucial?
Sin una gestión eficiente, ocurriría el caos:
- Ralentización: Procesos peleando por recursos.
- Bloqueos: Programas invadiendo el espacio de otros.
- Colapso: Agotamiento total de recursos.
Tipos de Gestión
¿Cómo organizamos los datos en los casilleros de la memoria?
Memoria Contigua
Cada proceso recibe un bloque único y continuo.
- Ventaja: Simple y rápida.
- Desventaja: Fragmentación grave.
Memoria No Contigua
El proceso se divide en trozos dispersos.
- Ventaja: Aprovecha todo el espacio.
- Desventaja: Gestión compleja.
Memoria Principal (RAM)
Es el área de trabajo de la CPU. Es volátil (se borra al apagar) y de acceso rápido.
Organización Celular
La memoria es como un enorme casillero de correo. Cada celda tiene:
- Una Dirección Única (para encontrarla).
- Un Dato almacenado (el contenido).
Esto permite que la CPU acceda a cualquier dato en el mismo tiempo, sin importar dónde esté.
La Pirámide de Memoria
No toda la memoria es igual. Existe un compromiso entre velocidad, costo y capacidad.
Capacidad minúscula (Bytes). Inmediato.
Memoria ultrarrápida dentro del procesador.
Velocidad media. Almacén principal.
Gran capacidad, persistente, pero lento.
Métodos de Asignación
El SO utiliza estrategias inteligentes para repartir la memoria.
Swapping (Intercambio)
Particionamiento Fijo vs Dinámico
- Fijo: Divide la RAM en pasteles iguales. Simple pero desperdicia espacio si el proceso es pequeño.
- Dinámico: Corta el pastel del tamaño exacto que pide el proceso.
Paginación
El Problema: Fragmentación
Es cuando tenemos memoria libre, pero no podemos usarla.
Fragmentación Interna
Ocurre cuando le das 100MB a un proceso que solo necesita 90MB. Esos 10MB se pierden.
Fragmentación Externa
Hay suficiente espacio total, pero está todo disperso en pedacitos pequeños.
Algoritmos de Reemplazo
Si la memoria está llena, ¿a quién sacamos para que entre alguien nuevo?
| Algoritmo | Lógica | Eficacia |
|---|---|---|
| FIFO (First In, First Out) |
Saca al más antiguo. | Baja A veces saca procesos importantes solo por ser viejos. |
| LRU (Least Recently Used) |
Saca al que lleva más tiempo sin usarse. | Alta Asume que si no lo usaste hace poco, no lo usarás pronto. |
| Optimal | Saca al que no se usará en el futuro. | Teórica Imposible de implementar (no adivinamos el futuro). |