El espacio de intercambio

  En informática, el espacio de intercambio [también conocido como "archivo de paginación" o "memoria virtual" (entendiendo por memoria la RAM)] es una zona del disco (un fichero o partición) que se usa para guardar las imágenes de los procesos que no han de mantenerse en memoria física y emplean una memoria de apoyo. A este espacio se le suele llamar "swap" (intercambiar).

  La mayoría de los sistemas operativos modernos poseen un mecanismo llamado memoria virtual, que permite hacer creer a los programas que tienen más memoria que la disponible realmente. Como en realidad no se tiene físicamente toda esa memoria, algunos procesos no podrán ser ubicados en la memoria RAM.
  En este caso es cuando es útil el espacio de intercambio: el sistema operativo puede buscar un proceso poco activo, y moverlo al área de intercambio (el disco duro) y de esa forma liberar la memoria principal para cargar otros procesos. Mientras no haga falta, el proceso extraído de memoria puede quedarse en el disco, ya que ahí no utiliza memoria física. Cuando sea necesario, el sistema vuelve a hacer un intercambio, pasándolo del disco a memoria RAM. Es un proceso lento (comparado con usar sólo la memoria RAM), pero permite dar la impresión de que hay más memoria disponible.
 Este intercambio de memoria ("swapping", en inglés) consiste en mover un proceso, o parte de él, temporalmente desde la memoria principal al lugar donde se encuentra el espacio de intercambio 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.
  Entre las ventajas de esta técnica se encuentran:
  •   Permite correr una mayor cantidad de programas.
  •  Si todo está bien configurado, puede mejorar el rendimiento de los procesos ejecutados.
  No obstante, este sistema también tiene sus inconvenientes:
  •   Trashing: Es muy costoso, en términos de tiempo, estar constantemente copiando y leyendo procesos (varios órdenes de magnitud) desde un disco duro a la memoria virtual, cuando este tiempo se hace muy largo, puede terminar haciendo más lenta la ejecución del programa. La forma más simple de solucionar este problema es agregar más memoria virtual o bien, mejorar el diseño de las aplicaciones para que disminuyan su consumo.
  •  El problema de dónde almacenar los bloques transferidos que se sacan de la memoria principal. La solución a este problema depende de la actividad y prioridad del proceso; si se encuentra activo constantemente y tiene alta prioridad se deja en memoria, si el proceso presenta grandes lapsos de inactividad es conveniente pasarlo al espacio de intercambio, y si está en un punto intermedio puede convenir traspasarlo hacia el buffer del sistema operativo.

WINDOWS

  En este sistema operativo, el espacio de intercambio se encuentra en un fichero alojado en el directorio raiz ("C:\") o en el de sistema ("C:\Windows\"). Según la versión de Windows, este archivo se puede llamar:
  • 386SPART.PAR (Windows 3.1).
  • WIN386.SWP (Windows 3.11, 95 y 98).
  • pagefile.sys (Windows NT y posteriores).
  El archivo tiene un tamaño variable (cuya base es  RAM + 50% de RAM), y no debe ser movido si no es absolutamente necesario o borrado.
  Obviamente, las opciones para poder configurarlo varían según la versión de Windows que se tenga; así, hasta Windows 98, se debe seguir la ruta "Panel de control > Sistema > Rendimiento > Memoria virtual", mientras que desde Windows NT hasta Windows XP, la ruta a seguir es "Panel de control > Sistema > Opciones avanzadas > Rendimiento > Configuración", y si se tiene Windows Vista o Windows 7 se sigue la ruta "Panel de control > Sistema y seguridad > Sistema > Avanzado > Rendimiento > Configuración... > Avanzado > Memoria virtual >  Cambiar...". En las versiones más actuales de Windows, las rutas a seguir son "Panel de control > Sistema y seguridad > Configuración avanzada del sistema > Opciones avanzadas > Rendimiento > Configuración > Opciones avanzadas > Memoria virtual > Cambiar". En todos los casos hay que tener permisos de administrador para poder realizar los cambios.
  Por otra parte, desde Windows 8 existen también dos archivos más para el espacio de intercambio:
  •   Hiberfil.sys: Sirve para que Windows guarde el contenido de la RAM cuando el equipo está hibernando.
  •   Swapfile.sys: Archivo del sistema, normalmente de unos 256 MB, que Windows  emplea normalmente para trabajar con aplicaciones de tipo Metro que, por diversos motivos, no pueden utilizar el archivo "pagefile.sys".

LINUX

  En GNU/Linux se suele usar con una partición de intercambio (que se puede crear cuando se instala el sistema operativo, generalmente), aunque también permite usar ficheros de intercambio.
  Se pueden asignar varios dispositivos de intercambio, incluso de diferentes tipos, y asignar a cada uno una prioridad. Si la prioridad es la misma en varios, las páginas de memoria se distribuirán como en un RAID de nivel 0. Esto permite que los dispositivos de espacio de intercambio se usen en paralelo, cosa que puede aumentar la eficacia, sobre todo si están en discos independientes.
  En este caso, el tamaño básico de la memoria virtual en una partición de intercambio es de RAM x 2.
  Si se pretende crear un archivo de paginación, debe tenerse en cuenta que este debe ser un espacio contiguo en el disco duro (se utiliza el comando dd if=(nombre del archivo de origen) of=(nombre de archivo de destino) bs=(tamaño de bloque de información en "k") count=(número de bloques de información) en un terminal),  que tenga los permisos adecuados (se emplea el comando chmod en un terminal), que esté establecido con formato "swap" (se utiliza el comando mkswap (nombre del archivo) en un terminal), que esté activado (se emplea el comando swapon (nombre del archivo) en un terminal), y que se monte al iniciarse el sistema (se edita el archivo "/etc/fstab", se añade la línea "(ruta de archivo de intercambio incluyendo su nombre) none    swap    sw  0   0" al final, se guarda y se reinicia el equipo). Todo ello debe hacerse con permisos de administrador. Para comprobar el resultado de todo esto, se debe utilizar el comando swapon -s (con sudo delante si no se está como administrador).

No hay comentarios:

Publicar un comentario

Deje aquí su comentario, si no puede comentar, pruebe a hacerlo desde otro navegador de red u otro equipo.