Accede a todo EDteam con un único pago¡Sube a premium!

¿Qué es la RAM? Todo lo que debes saber

¿Para qué sirve la RAM? ¿Cuánta RAM necesito en mi PC o mi teléfono? ¿Cómo la RAM nos ayuda a los desarrolladores a crear aplicaciones? Descubre esto y mucho más en este blog.

Diseño web
8 minutos
Hace 2 años
¿Qué es la RAM? Todo lo que debes saber

¿Alguna vez has estado trabajando por horas en algún programa, y de pronto, se cierra o se va la luz? ¿O te sale una pantalla azul? O, por ejemplo, si estás en Mac, ¿simplemente se congela o deja de responder?

Te ha pasado, a todos nos ha pasado. Y duele. Porque cuando reinicias el programa (o reinicias la computadora) todo lo que habías avanzado, ha desaparecido. A veces comienzas a rezar mientras reinicias para que los datos sigan ahí. Pero de nada te sirven, porque los datos se han ido para siempre.

En este blog te voy a explicar a dónde se fueron esos datos y por qué nunca volverán. Todo se debe a la memoria RAM, que es uno de los componentes principales en toda computadora y que influye, no solo en su rendimiento, sino también en cómo se comportan los lenguajes de programación y cómo se desarrollan las aplicaciones.

Qué-es-la-memoria-ram.png

Seguro has escuchado que mientras más RAM, mucho mejor (aunque no sabes exactamente por qué). También es probable que te fijes en la RAM cuando anuncian un nuevo teléfono o un nuevo modelo de computadora o iPad (pero no tienes claro por qué).

Es momento de que aprendas qué es la RAM, cómo funciona y qué papel cumple en la programación, porque en Español, nadie te explica mejor que EDteam.

Antes de la explicación, te queremos informar que ya está disponible el curso Websockets desde cero. En este curso aprenderás cómo crear un canal de comunicación, en tiempo real, entre el servidor y el cliente, utilizando websockets. Esta es la tecnología que usan las redes sociales para mandarte notificaciones, los juegos para la comunicación en tiempo real, los chats, los mapas, entre otros. Además, al finalizar el curso, sabrás crear un dashboard de ventas con actualizaciones.

Corre a ver el curso completo si eres estudiante premium, y si aun no lo eres, puedes ver las primeras clases gratis para que compruebes tu mismo la experiencia EDteam.

Curso-Websockets -desde-cero-en-EDteam.jpeg

¿Qué es la RAM?

Las computadoras necesitan trabajar con datos porque la computación y la programación es, en esencia, manipular datos: recibir datos, ejecutar una operación con ellos y devolver el resultado. Es decir: input (entrada o lectura de datos), procesamiento (donde entra el procesador y los programas) y output (salida o escritura de datos).

Por eso, algo tan básico como sumar dos números, ya puede considerarse un programa (aunque muchos se resistan a creerlo). Tiene input, procesamiento y output.

¿Qué-es-la-RAM?-explicacion.png

Esta lectura y escritura de datos (input y output o IO por sus siglas, que seguramente has visto muchas veces) ha sido históricamente uno de los más grandes cuellos de botella de la computación. Es por eso que cambiar tu viejo disco duro mecánico por un SSD se siente como comprarte una computadora nueva que puede ser de 4 a 8 veces más veloz con ese único cambio. Esto se debe a que ahora la escritura y lectura es muchísimo más rápida.

Ahora que te quedó claro esto, te explico que es la RAM: por sus iniciales significa Random Access Memory. Es decir, Memoria de acceso aleatorio, en español. Lo de memoria se entiende (un almacén de datos), ¿pero lo de acceso aleatorio? Acceso aleatorio se refiere a que la lectura y escritura de datos no es secuencial y puede hacerse en diferentes lugares de la memoria.

Pero más allá de la definición, las dos características más importantes de la memoria RAM, son:

  1. Su lectura y escritura es muchísimo más veloz que la del almacenamiento principal (disco duro o SSD), por lo que el procesador lo usa como memoria intermedia para trabajar más rápido.

procesador-ram-disco-duro.png

  1. Los datos son volátiles. Si se desconecta la energía (apagando o reiniciando la computadora) toda la información que estaba en la RAM se pierde para siempre.

Estos dos datos son claves para entender por qué puedes trabajar en Word, Photoshop o el programa que uses sin guardar: porque esa información se guarda en RAM. Y también porque si se cuelga el programa o se va la luz, pierdes la información.

Así que piensa en la memoria RAM como tu memoria a corto plazo, y en el disco duro, como tu memoria a largo plazo. Por ejemplo, si te pregunto tu número de DNI o de teléfono, probablemente lo puedes repetir de memoria, ese es tu disco duro, tu memoria a largo plazo. Pero, ¿te ha pasado conocer una persona, que te diga su nombre, verla unos días después y morirte de vergüenza porque no recuerdas como se llama? Esa es tu memoria a corto plazo, tu RAM y ya la vaciaste.

Tipos de memorias RAM

Las primeras memorias RAM de estado sólido fueron creadas por Intel en 1969. Eran de estado sólido, que significa que son chips en lugar de placas o discos magnéticos, como eran hasta ese entonces. Las primeras memorias iban en módulos o circuitos muy grandes (cada uno de esos chips es una memoria y los chips más el circuito es un módulo de memoria RAM) y tenían una capacidad muy pequeña para lo que actualmente estamos acostumbrados.

Intel-1969-primeras-memorias-RAM.png

  • La Apple II de 1977, la primera computadora comercial de Apple, tenía 48kb de RAM.
  • La primera PC de IBM, de 1981, tenía 64KB de RAM
  • La commodore 64, de 1982, tenía 64KB de RAM
  • La Macintosh original, de 1984, tenía 128KB de RAM
  • El mítico thinkpad, de 1996, tenía 128MB de RAM
  • El primer iPhone, de 2007, tenía 128MB de RAM y el 13 pro max tiene 6GB de RAM (aunque Apple no lo dice, no le gusta decirlo).
  • El primer iPad, de 2010, tenía 256MB de RAM
  • La computadora más poderosa del mundo, la frontier, tiene 9.6 PB de RAM. Si no sabes que es un petabyte, es un millón de gigabytes, así que este monstruo tiene 9.6 millones de gigabytes de tu RAM. Y tú que te sientes leyenda con tus 32 gigas.

Tipos de memoria RAM

Para cerrar esta sección, hablemos de los tipos de memoria RAM. Estas se clasifican por muchos criterios pero las que se usan actualmente son las DDR que significa Double Data Rate (Doble ratio de datos).

memorias-DDR .png

En español, esto significa que las memorias DDR son capaces de transmitir datos al doble de velocidad gracias a que transmiten por dos canales en cada ciclo del reloj (frente a las SDR que lo hacen por un solo canal). Estamos en la cuarta generación de DDR y esa es la famosa DDR 4, que seguramente has visto. Aunque pronto se lanzará la DDR5.

Sin embargo, recuerda que agregar o cambiar RAM depende mucho del equipo. En las portátiles y PC de escritorio con Windows, suele ser sencillo cambiar la memoria. En las Mac es imposible desde las M1, porque la memoria está unificada en un único módulo con la CPU.

La memoria RAM y el Sistema Operativo

Desde que enciendes la computadora, la RAM entra en acción. El sistema revisa que haya memoria RAM y que esté en buen estado, y si no, el equipo no enciende (seguro te ha pasado). También los fallos de la RAM son una de las causas de las famosas pantallas azules de Windows (o de los cuelgues de Mac).

pantalla-azul-error-ram.png

Cuando estás usando el sistema operativo y abres un programa, se guarda la información necesaria en RAM para que puedas trabajar rápido. Además, mientras uses el programa, se seguirá guardando información.

Un ejemplo muy sencillo: cuando haces Ctrl Z ¿Cómo sabe la computadora todos los últimos pasos que diste? Porque los guarda en RAM. Por eso, si cierras el programa, se borra ese historial y ya no puedes hacer Ctrl Z la próxima vez que lo abras.

Y como ya dejamos muy claro, todo lo que hagas en el programa sin guardar será almacenado en memoria RAM y no en el disco duro (hasta que guardes). Ahora ya lo sabes, la RAM ha sido la culpable de quizás los momentos más dolorosos de tu vida. Por suerte, muchos programas ya incluyen guardado automático.

Esto nos lleva a una analogía común para explicar la RAM: imagina que estás trabajando en un escritorio donde tienes papeles en la mesa y un archivador con documentos en cajones. Los papeles en la mesa son la RAM, porque ahí puedes anotar ideas al vuelo que necesitas en ese momento y luego verás si las guardas en el archivador o las desechas. Mientras que el archivador sería el disco duro, que almacena la información para que no se pierda.

disco-duro-memoria-ram-ejemplo.png

Pero, ¿Qué pasa cuando la computadora se queda sin memoria RAM? Lo mismo que pasa cuando son las 6:00 pm en la oficina, estás cerrando tu laptop y llega el jefe a dejarte más trabajo para mañana a primera hora. Estás agotado, y ya no puedes concentrarte, tu memoria RAM está llena y no puedes trabajar a la misma capacidad. De hecho, el mayor gurú de la productividad, David Allen, compara nuestro cerebro con la memoria RAM y asegura que el estrés que vivimos se origina por saturar nuestra memoria RAM de cosas.

El punto es que, así como nos pasa a nosotros le pasa a la computadora: se quema, le da burnout si se queda sin memoria. Todo empieza a funcionar más lento porque la computadora empieza a usar al disco duro como reemplazo de la memoria RAM, lo cual es mucho más lento.

La memoria RAM en la programación

Hasta ahora hemos hablado de la memoria RAM en las computadoras, pero si los programas almacenan sus datos en la RAM, obviamente la RAM ocupa un lugar importante en el desarrollo de esos programas, es decir, en la programación.

En primer lugar, las variables que declaras al programar se almacenan en la RAM. Incluso las variables sin inicializar, las funciones, todos los tipos de datos se están guardando en memoria RAM. Técnicamente, una variable no es más que un espacio reservado en RAM y cuando llamamos a una variable, estamos leyendo el valor almacenado en ese espacio.

explicacion-variable-memoria-ram.png

Sin embargo, la gestión de la memoria en la programación es un problema viejo porque el programador tenía que escribir subrutinas para vaciar la memoria no utilizada, si se olvidaba de hacerlo, la memoria se agotaba, ocasionando un error conocido como memory leak o fuga de memoria. Esto ocurre en lenguajes como C o C++

Una solución al memory leak es implementar un recolector de basura, es decir, que dentro del mismo diseño del lenguaje, existan las subrutinas para liberar la memoria no utilizada. Así, el programador no tiene que preocuparse de hacerlo. Si nunca te ha tocado liberar memoria es porque el lenguaje que usas tiene recolector de basura (prácticamente todos los lenguajes modernos lo tienen).

Y si aún no sabes programar o quieres reforzar conceptos, tenemos el mejor curso para comenzar en este mundo. Es completamente gratis y miles de personas empezaron su carrera en la programación con este curso. Ahora te toca a ti. Toma el curso Programación desde cero y #NoTeDetengas.

programacion-desde-cero-curso-aprende-gratis

Por otro lado, la memoria RAM, como ya sabes, es volátil, por lo que todos los outputs de nuestro programa se van a perder al cerrar la aplicación. Por eso son tan importantes las bases de datos. te ayudarán a que la información de tu app persista y no se pierda.

Si quieres saber más sobre las bases de datos, ingresa a ed.team/cursos y encuentra todos los cursos que tenemos disponibles sobre este tema. (Puedes comenzar con Bases de datos SQL desde cero).

Ahora bien, en el cloud computing también se usa la RAM, aunque de una forma un poco diferente. Y es que el cloud computing consiste en alquilar recursos bajo demanda, esto implica que, si necesitas mas RAM, la obtendrás con un click y no montando un módulo adicional en una placa. Por lo que, en cloud computing, la RAM se virtualiza, así que hablaríamos de vRAM y son los arquitectos cloud quienes arman las arquitecturas en nube (o sea, cuánta RAM, cuánto de disco, cuánto de ancho de banda, qué servicio usar, entre otros) para tu app.

Así que no importa de qué sea tu app, tarde o temprano, pasará por la nube. Si quieres convertirte en un profesional del cloud computing tenemos cursos de AWS, GCP y Azure, los proveedores de nube más importantes del mundo.

Diferencia entre caché y RAM

Seguro te estás preguntando: ¿Cuál es la diferencia entre caché y RAM, si las dos son memorias intermedias?

El detalle es que la RAM es siempre hardware, mientras que la caché es un concepto que puede referirse a hardware como a software. Por ejemplo, como hardware, la caché está dentro de los procesadores (las famosas Level 1, level 2 y level 3 o L1, L2, L3), esta caché es mucho más rápida que la RAM y la usa solo el procesador, no los programas como Photoshop, VS code o el navegador (estos usan la RAM).

hardware-cache-memoria-ram-explicacion.png

Mientras que, como software, la caché es una copia de los datos de una app. Esos datos pueden guardarse en disco duro (que es lo que hacen la mayoría de apps) para que la caché no se borre al apagar el dispositivo, pero también podría almacenarse en RAM para un acceso muchísimo más veloz. Los casos más comunes son Redis y Memcaché.

Si quieres saber más de la chaché, tenemos un blog que te lo explicará con todos los detalles: ¿Qué es la caché y cómo se usa en la programación? (guía completa).

¿Cuánta RAM necesitas para… ?

Probablemente, ahora te estás preguntando, está bien, pero ¿Cuánta RAM necesito para jugar, para programar par ser editor audiovisual, para ser diseñador gráfico…?

Claramente, el nivel de RAM que necesitas dependerá de a qué te quieras dedicar. Sin embargo, inicialmente, muchas computadoras tienen como base los 8 GB de RAM, mientras que los teléfonos de alta gama, rondan los 6 GB de RAM. Quizás un poco más. Estamos de acuerdo que, mientras más RAM, mucho mejor y ahora ya conoces por qué.

Pero, ¿8 GB de RAM es suficiente? Depende. Si tu trabajo es algo básico, como responder emails, contestar documentos o leer informes, entonces sí, es más que suficiente. Pero si tus labores incluyen cosas más pesadas, como abrir Photoshop o LightRoom, quizás abrir Premier para editar algunos videos, entonces no te alcanzará. Ahora, si eres programador y tienes que levantar muchas cosas para tu entorno de programación como los desarrolladores móviles o de videojuegos, que tienen que levantar emuladores, entre otras cosas, tampoco te alcanzarán 8 GB de RAM. Para estos trabajos, el mínimo recomendable es 16 GB de RAM.

Ahora, si tu trabajo es más pesado, como animación 3D, diseño gráfico pero a nivel avanzado o edición audiovisual con efectos, 16 GB probablemente se te quede corto y deberías pensar en subir a 32 GB. Todo depende del trabajo al que te quieras dedicar.

Ahora ya conoces todo lo que necesitas saber sobre la RAM. Esperamos haber aclarado tus dudas, si deseas ampliar la información, te invitamos a ver el video en Youtube. Si te gustó el blog, no dudes y deja tu me gusta. ¿Te quedó alguna duda o consulta? te leemos en los comentarios 👀.

Comentarios de los usuarios

Pregunta a ChatEDT