miércoles, noviembre 15, 2006

Entendiendo la memoria (del ordenador)

En muchos cursos de informática, lo primero que nos dicen es que el ordenador tiene dos tipos de memoria: RAM y ROM. La RAM es volátil y la ROM es el almacenamiento duradero, es decir, el disco duro. Esto es radicalmente incorrecto, y no sirve ni siquiera “para entendernos”.

Así que vamos a aclarar qué son esos “tipos” de memoria, qué clases hay en un ordenador y en próximas entradas explicaremos qué significa eso de RAM y ROM.

En un ordenador suele haber, en efecto, dos tipos de memoria. En un alarde de imaginación las hemos denominado “memoria principal” y “almacenamiento secundario”, y a pesar de las apariencias, estos nombres son bastante descriptivos (¡sí!).

Seguro que sabe lo que pasa si no ha guardado su documento de Word y se va la luz, o si pega la ya famosa patada al enchufe al estirarse... perderá su documento casi irremediablemente. ¿Por qué?

La información con la que trabaja el ordenador en un instante concreto está siempre en la memoria principal. Esto es porque la memoria principal es una memoria muy rápida y muy sencilla de acceder, que permite al ordenador usar los datos grabados en ella a una velocidad muy alta. Esta memoria es compleja desde un punto de vista tecnológico, por lo que resulta cara, y por eso los ordenadores tienen poca instalada.

Normalmente, esta memoria, en los ordenadores actuales es de tipo RAM. Cuando un ordenador tiene “1 GB de RAM”, tienen una memoria principal capaz de almacenar 1 GB.

La memoria tipo RAM como la que tiene su ordenador consiste en muchos dispositivos capaces de almacenar un 1 o un 0. Esta información se mantiene en forma eléctrica, y a nivel físico, se conserva mientras el circuito dispone de alimentación. Es por esto que si tiramos del cable, el contenido de la memoria principal se borrará.

Sin embargo, está claro que necesitamos que nuestro trabajo perdure en nuestro equipo aunque lo apaguemos. Es por eso que nos tuvimos que inventar el “almacenamiento secundario”, que es el disco duro, la disquetera, la cinta, o una memoria de tipo USB. El almacenamiento secundario más utilizado en los ordenadores a fecha de hoy es el disco duro, y es donde guardamos la mayor parte de nuestra información.

Cuando abrimos un documento, éste se transfiere del disco duro a la memoria principal, y allí es donde lo utilizamos. Cuando lo grabamos, el documento vuelve al disco duro y allí se escribe, por eso si apagamos el ordenador entre medias, perderemos los cambios. ¿Por qué no se edita sobre el disco duro directamente? Porque se trata de un almacenamiento muchísimo más lento que la memoria RAM. Si usted fuera un ordenador, necesitaría unos segundos para escribir el documento en la memoria principal y un cuarto de hora para escribirlo al disco duro... Resulta más productivo modificar el documento en la RAM y luego pasarlo al disco, y además esta tarea no necesita ser supervisada por el procesador, por lo que se puede dedicar a tareas más importantes.

Esto lo entienden muy bien quienes usaron un ordenador antiguo, como un 8086. Estos ordenadores no tenían disco duro, de modo que se arrancaban con un disquete de 5’’. Una vez que el sistema operativo estaba cargado en la memoria principal (cabía entero), se podía retirar el disquete y editar un documento que tuviéramos en otro. Es un ejemplo de almacenamiento secundario sin disco duro.

3 Comentarios:

A las 11:01 a. m., Blogger Misslucifer escribió... (¡Gracias, Blogger Misslucifer!)

Enhorabuena por la buena explicación, nunca me había apetecido enterarme de que significaban esas cosas y ya me he enterado sin sufrir, ha sido tan ameno que ¡ni lo he notado! (y en éste caso en particular, no notarlo ha sido positivo) ;-)

 
A las 7:58 p. m., Blogger Flup escribió... (¡Gracias, Blogger Flup!)

En efecto, excelente explicacion. No tenia ni idea de la diferencia entre las memorias. Espero la proxima entrada!

 
A las 8:08 p. m., Anonymous Anónimo escribió... (¡Gracias, Anonymous Anónimo!)

esto es realmente interesante, pero si alguien sabe me gustaria que nos contara como se hace esto de la memoria cuando programamos en C/C++ por ejemplo, dependiendo de si se usa un apuntador & o una variable la ejecucion de un programa puede tardar minutos o varias horas cuando debe realizar muchos calculos el computador.

 

Recuerda que nos hemos mudado a nosololinux.com

<< Home