Dedicado a mis proyectos en Gambas ,un lenguaje de programación parecido al Visual Basic + Java pero ampliamente mejorado y...¡¡para gnu/linux!!.La potencia del gnu/linux sumada a la facilidad del Basic



Consultas, Desarrollo de programas y petición de presupuestos:



martes, 18 de enero de 2011

Ramdisk: discos de ram en gnu/linux

He encontrado en la siguiente página (artículo fuente)
http://www.linuxware.es/manuales/ramdisk.html
como crear y usar discos-ram en nuestro linux (tanto en  Ubuntu como en  Archilinux)


¿que son discos ram?
Un ramdisk consiste en utilizar una porción de la memoria ram de nuestro ordenador para poder guardar cosas ahí.


Pero, claro, ¿qué ventajas puede tener el tener un ramdisk, si la memoria ram en el mejor de los casos es de tan solo 4GB y tirando muy por lo alto?


La respuesta a esto es simple. La memoria ram es la memoria mas rápida que tenemos. Mucho mas rápida que un SSD, y por supuesto, mucho mas rápida que un disco duro normal. Os voy a dejar una tabla comparativa:



Disco duro SSD RAMDISK
Velocidad 60 MB/s 150 ~ 250 MB/s + 1000 MB/s
Tiempo de acceso 10 ~ 12 ms 0.x ms 0.00x ms




Cómo se puede ver los números hablan por sí solos. Un ramdisk es muchísimo mas rápido que un SSD, e infinitamente mas rápido que un disco duro tradicional, y los tiempo de acceso también son mucho mejores.


Ahora bien, un ramdisk también tiene sus desventajas. La principal es que se trata de memoria volátil. Esto significa que lo que guardemos en un ramdisk únicamente va a estar disponible mientras el ordenador esté encendido. Después de apagarlo, o reiniciarlo todo cuánto estaba guardado en el ramdisk desaparecerá.

¿que utilidad le podemos dar en Gambas2, o en cualquier otro lenguaje? 
Pues a mi se me ocurre que guardar alli archivos temporales a los que tengamos que acceder muchas veces durante la ejecución del programa, con lo cual nos ahorraríamos mucho tiempo (grabando y leyendo del disco duro, y por lo tanto desgastando este) y además al  ser archivos temporales no necesitamos que se guarden para siempre...  y nuestro programa funcionaria mucho más rápido.

Os pongo los comandos necesarios para utilizar los discos ram que crea ubuntu por defecto (son de 64 mb y crea 16 discos-ram, suficientes para cualquier aplicación, visitad el articulo fuente para saber como se puede ampliar).

Formateamos el disco ram0
sudo mkfs.ext4 /dev/ram0

Crear un punto de montaje en /media de la siguiente forma:
sudo mkdir /media/ramdisk

Ahora ya solo nos queda cambiar los permisos al directorio ramdisk para que podamos usarlo. Si solo somos nosotros los usuarios del sistema, podéis cambiarle el dueño al directorio:


Código:
sudo chown TU_USUARIO /media/ramdisk
Y ya tenéis disponible vuestro ramdisk para el uso que queráis.
¡¡Pero no olvidéis que todo lo que allí metáis desaparecerá tras reiniciar o apagar el sistema!!