Asignatura: Sistema Operativos III
Curso: 6° Informática
Profesora: Evangelina Rivero
¿Qué es un Swap en sistemas operativos?
Desde sus orígenes, la palabra swap se ha venido utilizando para referirse a los intercambios, entendidos como sustituciones. Si habíais pensado en una permuta o trueque, no es este el caso. En el caso de la informática, swap se traduce como “espacio de intercambio“.
El Swap es el espacio que el disco duro tiene para intercambiar la memoria física con la memoria virtual. Como bien sabréis, la memoria RAM tiene la función de guardar los procesos que se utilizan frecuentemente en el sistema operativo (Chrome, por ejemplo). De esta forma, la RAM los tendrá listos para cuando queramos utilizarlos.
Por otro lado, la memoria virtual almacena los programas qué algún día usaremos. Así que, estarán listos para intercambiarlos a la memoria RAM cuando tengamos que usarlos.
En conclusión, el swap es un espacio en el disco duro, el cual es un sustituto de la memoria virtual. La memoria virtual ayuda a liberar a la memoria RAM, priorizando en los procesos que más requieran de ésta última.
La consecuencia directa es lograr una fluidez mayor en la multi tarea, ya que la memoria RAM está más liberada.
¿Dónde está este espacio de intercambio o Swap?
Como es lógico, cada sistema operativo lo dispone en un lugar determinado. En el caso de Windows, lo vemos en un fichero que está en la raíz del disco duro de instalación o en la carpeta Windows. Este fichero varía de tamaño y nunca debemos modificarlo, borrarlo o moverlo de sitio.
En cuanto a Linux, usa una partición de intercambio, pero puede ser un fichero como ocurre en Windows. Se suele recomendar hacer una partición de 2 GB para ese swap. Basta con un simple comando:
sudo swapon -s
Antiguamente, se podía deshabilitar manualmente el swapping en Mac OS (8 y 9). Se denominaba memoria virtual y se podía deshabilitar en el panel de control. Sin embargo, OS X es diferente, lo que significa que podemos comprobar el uso de memoria virtual accediendo al Monitor de actividad y escribiendo esto:
vm_stat
De hecho, los archivos swap de vuestro Mac están guardados en “/private/var/vm“.
Finalidades para las que sirve el Swap
Existen ciertas finalidades para las que se usa este swap en un sistema operativo. Podemos resumir las más importantes en las siguientes:
- Se puede usar como una memoria contigua que reduce las operaciones de entrada y salida (E/S) para leer o escribir un archivo.
- Las aplicaciones que no son tan demandadas o usadas, pueden ser guardadas en un fichero swap.
- Tener un archivo swap suficiente ayuda al sistema a mantener cierta memoria RAM libre continuamente.
- El espacio de la memoria RAM que ha sido liberado puede usarse en el sistema operativo para operaciones más importantes.
Intercambio/swap
- Un proceso puede intercambiarse temporalmente de memoria a un almacenamiento de respaldo y luego puede ser retornado hacia la memoria para continuar su ejecución.
- El almacenamiento de respaldo se hace en el disco, que debe ser rápido y tener suficiente espacio para ubicar copia de todas las imágenes de memoria para todos los usuarios; debe proveer acceso directo a estas imágenes de memoria.
- Descargar(swap out),Cargar(swap in) – Variante de intercambio en algoritmos de planificación por prioridad; los procesos de baja prioridad se saca de memoria de tal forma que el proceso de mayor prioridad pueda ser cargado y ejecutado.
- La mayor parte del tiempo es tiempo de transferencia; este es directamente proporcional a la cantidad de memoria intercambiada.
- Existen versiones modificadas de intercambio en los diferentes sistemas, ejemplo Unix , Linux y Windows.
Swapping (del inglés “swap”, que significa intercambiar) es mover un proceso o parte de él temporalmente desde la memoria principal a un dispositivo secundario de almacenamiento (memoria de apoyo) para luego devolverlo a la memoria principal. El propósito de esta técnica es que el sistema operativo sea capaz de asignar más memoria de la que tiene físicamente. De esta forma, en el caso que algún proceso requiera de memoria y ya esté toda asignada o no haya suficiente, el kernel se preocupa de intercambiar páginas de memoria desde y hacia la memoria de apoyo para hacerle espacio.
La memoria de apoyo debiera ser rápida y de tamaño suficiente para almacenar las copias de imágenes de memoria de los procesos, también debe proporcionar acceso directo a estas imágenes. El disco duro es usualmente quien funciona como memoria de apoyo.
Todos los sistemas operativos actuales cuentan con alguna versión de swapping (Windows, Linux y UNIX). El sistema mantiene una cola de procesos en estado ready que están listos para ser ejecutados y cuyas imágenes de memoria se encuentran en el disco.