miércoles, 28 de noviembre de 2012

Información sobre novedades y revisiones.

En los últimos días he estado analizando algunas cosas del blog, con la intención de mejorarlo poco a poco. Los puntos que destaco son:

- Las entradas hechas hasta ahora, las cuales estoy reeditando debido a errores de lectura, alguna info contradictoria o datos que faltaban por completar. (Algunas entradas aún están sin acabar, como la de Usos del comando SC, que falta la parte de creación de servicios con el comando,y también la de Usar un SO CentOS como FTP, la cual voy a reeditar en unos días para hacerla más completa, y ya ni hablemos de la de Resolución de DHCP, la cual voy a ver si reescribo para mejorarla, que la veo muy ambigua) Si encuentran alguna información que esté mal, me gustaría que me lo dijeran para revisar y reeditar.

- El "buffer" de entradas que estoy elaborando (tengo algunas entradas para publicar como un minimanual de iptables, además de un pequeño manual-proyecto con un mouse de juegos Cyborg R.A.T 7 y sus diferentes usos). El problemilla del buffer es que siempre tardo mucho en publicar porque lo reviso muchas veces y voy cambiando palabras, o añadiendo info extra; entonces, por ése motivo, a veces tardo en publicar nuevas entradas, y también en revisar las hechas con anterioridad.

- El diseño del blog, el cual estoy adaptando para que se visualice de mejor forma (letra clara, fondos que no rompan la vista, simpleza de formato)

- La futura adición de imágenes en el blog (Hasta ahora no había subido ni una sola imagen, y me estoy dando cuenta que no puedo huir eternamente de documentarlo un poco) El motivo por el que nunca he subido imágenes es un poco nimio: Odio subir fotos y que se publiquen en Picasa (sonará estúpido, pero semos asín). Por esa razón, voy a hacer una cuenta en un servidor de imágenes externo y empezar a documentar las siguientes entradas (y si puedo, documentar las existentes lo que se pueda)

A fin de mejorar el servicio,  intentaré solucionar ésta serie de puntos para ofrecer una información más completa y detallada.

PD: También voy a probar el sistema de publicación de entradas programado. Por curiosidad.

sábado, 3 de noviembre de 2012

Área de intercambio (swap)


¿Qué es la swap?

La swap (también llamada área de intercambio) es un zona del disco duro, bien sea partición o archivo, que se usa para guardar las imágenes de los procesos que no pueden mantenerse en la memoria física o bien se transfieren para ahorrar memoria física. De este modo, por ejemplo, si tenemos un ordenador que soporta únicamente 1GB de memoria RAM, le podemos crear una partición swap de 1GB y así el ordenador pasaría a tener 2GB de memoria RAM: 1GB en la física y otro GB de memoria en el área de intercambio.

Quizá el nombre de swap nos suene a chino, Así que podemos pasar a llamarlo de igual forma, como Memoria virtual

Para tomar un ejemplo, vamos a pensar hipotéticamente que tenemos un sistema con arquitectura de 32 bits. Un sistema de ésa arquitectura puede manejar hasta 3GB de datos y no soporta más a partir de ahí. Si necesitáramos hacer uso de una capacidad de 4GB en ése ordenador, crear una swap de 1GB sería lo más acertado si no queremos reinstalar a un sistema de 64 bits.

¿Es bueno tener swap?

Siempre es bueno tener un espacio swap, por si acaso en algún momento nos faltara memoria RAM.


En los sistemas operativos, si no en la mayoría, siempre se intenta maximizar el uso de la memoria: si un ordenador tiene apenas 512 de RAM, los aproveche al máximo de su potencial. Sin embargo, si no es capaz de aguantar todos los procesos, sería bueno crear una partición swap extensa. Si por ejemplo, lo que usamos son procesos que no tienen por qué mantenerse todo el rato en la memoria física, se envían a la swap.

Además, como ejemplo práctico: Cuando iniciamos Linux hay muchos servicios y procesos que ejecutamos en el ordenador (cups, hidd, sshd, entre otros). Si el ordenador no los va a usar en ése momento, los puede pasar a la swap y dejarlos en segundo plano, y si los requiere para usar en la memoria principal, los pasaría de la swap a la física cuando fuera oportuno. 

La memoria swap ¿Es exclusiva de los sistemas Linux?

No. Windows también usa áreas de intercambio similares a las de Linux, con la diferencia de que dichas áreas se localizan en la misma partición donde se está ejecutando el sistema. Así, por ejemplo, no es necesario hacer dos o más particiones para un solo sistema Windows. Aun así, Linux también permite crear ficheros de swap, por si en nuestro disco duro no pudiéramos crear más particiones y fueramos muy justos de espacio de particionado.


¿Qué tipos de  espacio de memoria swap hay?

Existen dos tipo de espacio:

  • Partición de swap.

Está basada en la creación de una partición en disco dedicada exclusivamente para la swap.

Entre sus ventajas están que no se necesita desfragmentar nunca dicha unidad, y que si es colocada al principio de un cilindro, actuará de mejor forma.

Como desventaja está que la partición swap siempre estará ocupada y al 100% de su capacidad, lo cual no es una desventaja muy grande. Además, si nuestro espacio de particiones es muy limitado, crear una swap no siempre es un buen método.

  • Archivo swap

Es un archivo alojado en un sistema de ficheros, el cual hace de memoria swap. Normalmente se crea un archivo swap en dos casos: No tenemos espacio para una partición swap independiente, o hemos modificado las prestaciones del ordenador y necesitamos más memoria swap aparte de la adicional creada.

Entre algunas de sus ventajas se encuentra la versatilidad (crear, borrar, y editar la partición como quiera el usuario), si bien su principal desventaja es la fragmentación que puede ocasionar el fichero.



Aunque aquí no lo vaya a exponer, algunas distribuciones de Linux como CentOS permiten crear en una sola partición de disco un LVM (Logical Volume Manager). Un LVM es un administrador lógico de disco que usa, por ejemplo, 50 GB de disco como una sola partición. En esos 50 GB de disco, se pueden crear varias particiones dentro (una para /home, otra para /usr), y puede dar la opción de crear una partición swap en ellas; así, por ejemplo, puedes tener una partición de 50 GB llamada /hda1, pero que en realidad se divida en /hda2 para sistema de archivos, /hda3 para swap, /hda4 para /home/usuario... La única "pega" que puede llegar a tener es que requiera de una partición auxiliar llamada /boot para que haga el montaje del LVM, lo cual serían tres particiones en dos.

Nota: LVM es algo que no he dado mucho, así que si por algún casual estoy diciendo una barbaridad o me equivoco en la descripción, me gustaria que me lo comunicaran cuanto antes. Es una definición que se me ha ocurrido que es así, basándome en los datos que tengo, pero que no estoy convencido de si será. Mejor errar, preguntar y rectificar que errar y creer que estoy en lo correcto cuando no es así ;-)

¿Cuánto espacio de swap sería conveniente utilizar?

Antiguamente siempre ha existido un debate sobre cuánta memoria swap debe darse en un disco duro.

Una amplia mayoría expone que es bueno que la memoria swap sea el doble que la memoria real, pero eso era antes, donde la memoria RAM era un poco escasa y los ordenadores que llegaran a 1GB de RAM se consideraban una maravilla. En la actualidad, algunos informáticos siguen optando por usar este modelo.

Otra mayoría argumenta que lo mejor sería calcular un intermedio sobre lo que iríamos a hacer en el ordenador. Así, por ejemplo, si el sistema que vamos a manejar posee poca RAM, haríamos un cálculo aproximado de la memoria que podríamos llegar a utilizar y ponerla como swap (Por ejemplo, si tenemos un sistema de 512 MB y pensamos que necesitamos tener 2GB, haríamos la diferencia, la cual sería 1536 MB como swap)

Ahora, con la aparición de los portátiles y sobremesas de 4GB, 6GB y hasta 8GB, hasta podríamos prescindir de la creación de swap, pues Linux no requiere exclusivamente de que haya swap, pero sí es bueno tener la partición por si acaso.

Tengo dos sistemas linux en un mismo disco duro ¿Se puede compartir la partición swap?

Se puede, siempre que esa swap sea partición y no archivo. Como la swap corresponde a una partición determinada con su correspondiente UUID, bastará con decirle al sistema operativo al que queramos añadir la swap, en su /etc/fstab, que monte la unidad swap y la inicialice.

Existe el debate de si es bueno o no usar este método. Unos dicen que no pasa nada, debido a que el sistema cuando se apaga, borra todo lo existente en la swap, con lo que queda lista para el siguiente sistema sea uno u otro. Otros, sin embargo, explican que el SO puede crear unos registros en la swap y éstos interfieran en los demás sistemas, y además algunos sistemas son bastante reticentes en que se comparta swap.

Nunca he tenido la oportunidad de realizar el experimento, pero si se presenta la ocasión, la realizaré y les comento qué sucede. Si alguno quiere corroborar alguna de las dos teorías, es libre de hacerlo.

Fuentes:
Wikipedia.
Apuntes de clase.
Para la "explicación" de LVM me ayudé de varias páginas, aparte de la experiencia propia con ése sistema.
Experimentos realizados en entornos controlados.
Para la parte de compartición de swap, algunos blogs sobre el tema.

Ultima revisión: Abril de 2014
Razón: Correcciones ortográficas.