¿Qué es la partición swap?

En informática, swap hace referencia a la memoria de intercambio. Veamos qué es, para qué sirve y, concretamente, su uso en forma de partición


Quien más quien menos, todos sabemos lo que es la RAM. RAM son las siglas de Random Access Memory (Memoria de Acceso Aleatorio) y se trata de la  memoria activa -también llamada memoria física, para diferenciarla de la "virtual"- a la que el sistema operativo acude para acceder a procesos en activo y datos que se están usando.


Memorias y memorias

Uno de los principales problemas de la RAM es que es limitada. No se puede almacenar una cantidad infinita de datos. Para solventar esta limitación, existe la memoria de intercambio. Esta utiliza espacio libre en el disco duro para acceder a los datos. Suele emplearse para almacenar datos que no están siendo usados con mucha frecuencia, por lo que en ella se almacenan estos datos, liberando a la RAM, que es más rápida.

En función del sistema operativo, la memoria de intercambio, o swap, se usa de forma distinta. En Windows, por ejemplo, esta se encuentra en un archivo situado en el directorio raíz del sistema y cuyo tamaño varía según las necesidades. En Linux, por lo general, el mecanismo es distinto. Si bien Linux también puede utilizar un archivo a modo de swap, lo más habitual es contar con una partición del disco específicamente creada para ser usada como swap. Con ello, Ubuntu, a partir de su versión 17.04, elimina la necesidad de contar con una partición swap, permitiendo el uso del archivo swapfile para ese cometido. En cualquier caso, contar con una partición específica para usarla como espacio de intercambio es más limpio y organizado, a la par que ahorra los procesos relacionados con el manejo de un espacio de intercambio de volumen variable.

Monitorizar el estado de la swap en linux es posible. Para ello existen principalmente dos comandos accesibles desde CL (command line, lo que escribimos en un terminal de texto) que permiten hacerlo:

swapon -h

y

free -h

Estos comando nos informan del tamaño total de la swap y la cantidad que está siendo usada en cada momento, así como la que queda libre.

En el caso que nos ocupa, vamos a centrarnos en la swap contenida en una partición. Porque si bien es cierto que un archivo como espacio de intercambio puede resultar útil en ocasiones, requiere de una gestión que puede llevar un tiempo innecesario cuando, en contraposición, disponemos de una partición específica para ello.

Código de uso en el MBR, el famoso "tipo 82"

El MBR (Master Boot Record) mantiene un registro de las particiones presentes en el ordenador. Cada una de las entradas dedica un byte para informar del tipo de partición que se trata. Para el caso de la swap, este byte, en formato hexadecimal, es el 0X82. De ahí que muchos autores lo citen como una partición de tipo 82. Ello no significa otra cosa que el byte que identifica a dicha partición indica que se trata de una partición de tipo swap. De esta forma, el sistema operativo ya sabe de antemano la función de esa partición desde el mismo momento en el que el ordenador arranca, incluso antes de cargar el SO.

Conclusión

Queda claro que un espacio de intercambio de memoria agiliza la capacidad del ordenador para acceder a los datos y procesos que están en uso, puesto que libera de carga a la memoria física (la RAM), aunque, llegado el momento, al acceder a la memoria de intercambio, puesto que precisa de leer y escribir en el disco duro, la velocidad se ve menguada. Se trata de un equilibrio que sacrifica momentos de velocidad en ocasiones puntuales en favor de ir más rápido la mayor parte del tiempo, con los procesos y datos que están en uso más frecuentemente.

Contar con una partición swap reduce los cálculos necesarios para acceder a la memoria virtual, al tratarse de un volumen fijo cuya capacidad no tiene que estar cambiando constantemente en función de su uso.

La imagen que encabeza este post, generada por una IA, antropomorfiza al Sr. RAM y al Sr. Swap intercambiando datos.