# data[].attributes.body
La memoria RAM es la memoria principal de un dispositivo, esa donde se almacenan de forma temporal los datos de los programas que estás utilizando en este momento.

# data[].attributes.body
La memoria RAM almacena la información necesaria que el sistema operativo requiere para ejecutar las aplicaciones en sus sucesivos usos, ya que guarda las instrucciones durante una misma sesión para obtener un acceso más rápido a los programas.

# data[].attributes.attachment_link.title
La Memoria RAM 💻📱 | Que es y para que sirve⁉️| Explicación Sencilla 👏 | 2021

# data[].attributes.body
La memoria ROM nos sirve para dos usos principales, que son:

Almacenamiento de software. Comúnmente, los ordenadores en la década de 1980 traían todo su sistema operativo almacenado en ROM, para que los usuarios no pudieran alterarlo por error e interrumpir el funcionamiento de la máquina. Aún hoy en día se la utiliza para instalar el software de arranque o de funcionamiento más básico (el BIOS, SETUP y POST, por ejemplo).

Almacenamiento de datos. Dado que los usuarios no suelen tener acceso al ROM de un sistema, se lo emplea para almacenar los datos que no requerirán de modificación alguna en la vida del producto, como tablas de consulta, operadores matemáticos o lógicos y otra información de índole técnica.

# data[].attributes.attachment_link.readable_text
Te explicamos qué es la memoria ROM y para qué sirve este tipo de almacenamiento. Además, los tipos de ROM y qué es la memoria RAM.

¿Qué es la memoria ROM?

En informática, cuando hablamos de memoria ROM (acrónimo de Read-Only Memory, es decir, Memoria de Sólo Lectura), nos referimos a un tipo de almacenamiento empleado en computadores y otros dispositivos electrónicos, que se caracteriza por ser únicamente de acceso para lectura y nunca para escritura, es decir, que se la puede recuperar pero no modificar o intervenir.

La memoria ROM es de acceso secuencial y su presencia es independiente de la presencia de una fuente de energía. Como se ha dicho, su contenido no puede modificarse, o al menos no de manera simple y cotidiana, y suele contener información introducida en el sistema por el fabricante, de tipo básico, operativo o primario.

Este tipo de memoria opera, además, de manera mucho más lenta que su contrapartida, la RAM (acrónimo de Random Access Memory, es decir, Memoria de Acceso Aleatorio), por lo que su contenido suele volcarse en esta última para ejecutarse más velozmente.

Existen, no obstante, versiones de memoria ROM (conocidas como EPROM y Flash EEPROM) que pueden ser programadas y reprogramadas varias veces, a pesar de que su funcionamiento se rige por las mismas reglas del tradicional. Sin embargo, como su proceso de reprogramación es poco frecuente y relativamente lento, se las continúa llamando del mismo modo.

Ver además: Memoria caché

¿Para qué sirve la memoria ROM?

La memoria ROM tiene dos usos principales, que son:

Almacenamiento de software. Comúnmente, los ordenadores en la década de 1980 traían todo su sistema operativo almacenado en ROM, para que los usuarios no pudieran alterarlo por error e interrumpir el funcionamiento de la máquina. Aún hoy en día se la utiliza para instalar el software de arranque o de funcionamiento más básico (el BIOS, SETUP y POST, por ejemplo).

Almacenamiento de datos. Dado que los usuarios no suelen tener acceso al ROM de un sistema, se lo emplea para almacenar los datos que no requerirán de modificación alguna en la vida del producto, como tablas de consulta, operadores matemáticos o lógicos y otra información de índole técnica.

Tipos de memoria ROM

Consideremos tres tipos distintos de memoria ROM:

PROM. Acrónimo de Programmable Read-Only Memory (Memoria de Sólo Lectura Programable), es de tipo digital y puede ser programada una única vez, ya que cada unidad de memoria depende de un fusible que se quema al hacerlo.

EPROM. Acrónimo de Erasable Programmable Read-Only Memory (Memoria de Sólo Lectura Borrable y Programable) es una forma de memoria PROM que puede borrarse al exponerse a luz ultravioleta o altos niveles de voltaje, borrando la información contenida y permitiendo su remplazo.

EEPROM. Acrónimo de Electrically Erasable Programmable Read-Only Memory (Memoria de Sólo Lectura Borrable y Programable Eléctricamente) es una variante del EPROM que no requiere rayos ultravioleta y puede reprogramarse en el propio circuito, pudiendo acceder a los bits de información de manera individual y no en conjunto.

Memoria RAM

A diferencia del ROM, la memoria RAM es mucho más veloz y libremente grabable. Esto significa que todos los programas en ejecución van a este banco de memoria, pero de manera estrictamente temporal: al apagar o reiniciar el sistema, la totalidad de la memoria RAM es limpiada. Esto no significa, claro, que se pierda la información guardada en disco, sino sólo aquella en ejecución.

La memoria RAM es hoy en día sumamente eficiente, veloz y económica, por lo que muchos ingenieros de sistemas prefieren hacer uso de ella en lugar de la ROM.

Más en: Memoria RAM

# data[].attributes.attachment_link.title
Memoria ROM - Concepto, usos y tipos de ROM

# data[].attributes.attachment_link.description
Memoria ROM ✓ Te explicamos qué es la memoria ROM y para qué sirve este tipo de almacenamiento. Además, los tipos de ROM y qué es la memoria RAM...

# data[].attributes.body
La memoria de solo lectura, conocida también como ROM es un medio de almacenamiento utilizado en ordenadores y dispositivos electrónicos, que permite solo la lectura de la información y no su escritura, independientemente de la presencia o no de una fuente de energía.

# data[].attributes.body
La memoria virtual es una técnica de gestión de la memoria que se encarga de que el sistema operativo disponga, tanto para el software de usuario como para sí mismo, de mayor cantidad de memoria que esté disponible físicamente.

# data[].attributes.attachment_link.readable_text
En informática, la memoria virtual es una técnica de gestión de la memoria que se encarga de que el sistema operativo disponga, tanto para el software de usuario como para sí mismo, de mayor cantidad de memoria que esté disponible físicamente. La mayoría de los ordenadores tienen cuatro tipos de memoria: registros en la CPU, la memoria caché (tanto dentro como fuera del CPU), la memoria RAM y el disco duro. En ese orden, van de menor capacidad y mayor velocidad a mayor capacidad y menor velocidad.

Muchas aplicaciones requieren acceso a más información (código y datos) que la que se puede mantener en memoria física. Esto es así sobre todo cuando el sistema operativo permite múltiples procesos y aplicaciones ejecutándose simultáneamente. Una solución al problema de necesitar mayor cantidad de memoria de la que se posee consiste en que las aplicaciones mantengan parte de su información en disco, moviéndola a la memoria principal cuando sea necesario. Hay varias formas de hacer esto.

Una opción es que la aplicación misma sea responsable de decidir qué información será guardada en cada sitio (segmentación), y de traerla y llevarla. La desventaja de esto, además de la dificultad en el diseño e implementación del programa, es que es muy probable que los intereses sobre la memoria de dos o varios programas generen conflictos entre sí: cada programador podría realizar su diseño teniendo en cuenta que es el único programa ejecutándose en el sistema. La alternativa es usar memoria virtual, donde la combinación entre hardware especial y el sistema operativo hace uso de la memoria principal y la secundaria para hacer parecer que el ordenador tiene mucha más memoria principal (RAM) que la que realmente posee. Este método es invisible a los procesos. La cantidad de memoria máxima que se puede hacer ver que hay tiene que ver con las características del procesador. Por ejemplo, en un sistema de 32 bits, el máximo es 2 ³², lo que da 4096 Megabytes (4 Gigabytes). Todo esto hace el trabajo del programador de aplicaciones mucho más fácil, al poder ignorar completamente la necesidad de mover datos entre los distintos espacios de memoria.

Aunque la memoria virtual podría estar implementada por el software del sistema operativo, en la práctica casi siempre se usa una combinación de hardware y software, dado el esfuerzo extra que implicaría para el procesador.

Cuando se usa memoria virtual, o cuando una dirección es leída o escrita por la CPU, una parte del hardware dentro de la computadora traduce las direcciones de memoria generadas por el software (direcciones virtuales) en:

la dirección real de memoria (la dirección de memoria física).

una indicación de que la dirección de memoria deseada no se encuentra en memoria principal (llamado excepción de memoria virtual)

En el primer caso, la referencia a la memoria es completada, como si la memoria virtual no hubiera estado involucrada: el software accede donde debía y sigue ejecutando normalmente. En el segundo caso, el sistema operativo es invocado para manejar la situación y permitir que el programa siga ejecutando o aborte según sea el caso. La memoria virtual es una técnica para proporcionar la simulación de un espacio de memoria mucho mayor que la memoria física de una máquina. Esta "ilusión" permite que los programas se ejecuten sin tener en cuenta el tamaño exacto de la memoria física.

La ilusión de la memoria virtual está soportada por el mecanismo de traducción de memoria, junto con una gran cantidad de almacenamiento rápido en disco duro. Así en cualquier momento el espacio de direcciones virtual hace un seguimiento de tal forma que una pequeña parte de él, está en memoria física y el resto almacenado en el disco, y puede ser referenciado fácilmente.

Debido a que sólo la parte de memoria virtual que está almacenada en la memoria principal es accesible a la CPU, según un programa va ejecutándose, la proximidad de referencias a memoria cambia, necesitando que algunas partes de la memoria virtual se traigan a la memoria principal desde el disco, mientras que otras ya ejecutadas, se pueden volver a depositar en el disco (archivos de paginación).

La memoria virtual ha llegado a ser un componente esencial de la mayoría de los sistemas operativos actuales. Y como en un instante dado, en la memoria sólo se tienen unos pocos fragmentos de un proceso dado, se pueden mantener más procesos en la memoria. Es más, se ahorra tiempo, porque los fragmentos que no se usan no se cargan ni se descargan de la memoria. Sin embargo, el sistema operativo debe saber cómo gestionar este esquema.

La memoria virtual también simplifica la carga del programa para su ejecución, llamada reubicación, este procedimiento permite que el mismo programa se ejecute en cualquier posición de la memoria física.

En un estado estable, prácticamente toda la memoria principal estará ocupada con fragmentos de procesos, por lo que el procesador y el S.O tendrán acceso directo a la mayor cantidad de procesos posibles, y cuando el S.O traiga a la memoria un fragmento, deberá expulsar otro. Si expulsa un fragmento justo antes de ser usado, tendrá que traer de nuevo el fragmento de manera casi inmediata. Demasiados intercambios de fragmentos conducen a lo que se conoce como hiperpaginación: donde el procesador consume más tiempo intercambiando fragmentos que ejecutando instrucciones de usuario. Para evitarlo el sistema operativo intenta adivinar, en función de la historia reciente, qué fragmentos se usarán con menor probabilidad en un futuro próximo (véase algoritmos de reemplazo de páginas).

Los argumentos anteriores se basan en el principio de cercanía de referencias o principio de localidad que afirma que las referencias a los datos y el programa dentro de un proceso tienden a agruparse. Por lo tanto, es válida la suposición de que, durante cortos períodos de tiempo, se necesitarán sólo unos pocos fragmentos de un proceso.

Una manera de confirmar el principio de cercanía es considerar el rendimiento de un proceso en un entorno de memoria virtual.

El principio de cercanía sugiere que los esquemas de memoria virtual pueden funcionar. Para que la memoria virtual sea práctica y efectiva, se necesitan dos ingredientes. Primero, tiene que existir un soporte de hardware y, en segundo lugar, el S.O debe incluir un software para gestionar el movimiento de páginas o segmentos entre memoria secundaria y memoria principal.

Justo después de obtener la dirección física, y antes de consultar el dato en memoria principal, se busca en memoria-cache. Si está entre los datos recientemente usados, la búsqueda tendrá éxito, pero si falla, la memoria virtual consultará la memoria principal ó, en el peor de los casos, el disco (swapping).

La traducción de las direcciones virtuales a reales es implementada por una Unidad de Manejo de Memoria (MMU). El sistema operativo es el responsable de decidir qué partes de la memoria del programa es mantenida en memoria física. Además mantiene las tablas de traducción de direcciones (si se usa paginación la tabla se denomina tabla de paginación), que proveen las relaciones entre direcciones virtuales y físicas, para uso de la MMU. Finalmente, cuando una excepción de memoria virtual ocurre, el sistema operativo es responsable de ubicar un área de memoria física para guardar la información faltante, trayendo la información desde el disco, actualizando las tablas de traducción y finalmente continuando la ejecución del programa que dio la excepción de memoria virtual desde la instrucción que causó el fallo.

En la mayoría de las computadoras, las tablas de traducción de direcciones de memoria se encuentran en memoria física. Esto implica que una referencia a una dirección virtual de memoria necesitará una o dos referencias para encontrar la entrada en la tabla de traducción, y una más para completar el acceso a esa dirección.

Para acelerar el desempeño de este sistema, la mayoría de las Unidades Centrales de Proceso ( CPU) incluyen una MMU en el mismo chip, y mantienen una tabla de las traducciones de direcciones virtuales a reales usadas recientemente, llamada Translation Lookaside Buffer (TLB). El uso de este buffer hace que no se requieran referencias de memoria adicionales, por lo que se ahorra tiempo al traducir.

En algunos procesadores, esto es realizado enteramente por el hardware. En otros, se necesita de la asistencia del sistema operativo: se levanta una excepción, y en ella el sistema operativo reemplaza una de las entradas del TLB con una entrada de la tabla de traducción, y la instrucción que hizo la referencia original a memoria es reejecutada.

El hardware que tiene soporte para memoria virtual, la mayoría de la veces también permite protección de memoria. La MMU puede tener la habilidad de variar su forma de operación de acuerdo al tipo de referencia a memoria (para leer, escribir, o ejecutar), así como el modo en que se encontraba el CPU en el momento de hacer la referencia a memoria. Esto permite al sistema operativo proteger su propio código y datos (como las tablas de traducción usadas para memoria virtual) de corromperse por una aplicación, y de proteger a las aplicaciones que podrían causar problemas entre sí.

La memoria virtual usualmente (pero no necesariamente) es implementada usando paginación. En paginación, los bits menos significativos de la dirección de memoria virtual son preservados y usados directamente como los bits de orden menos significativos de la dirección de memoria física. Los bits más significativos son usados como una clave en una o más tablas de traducción de direcciones (llamadas tablas de paginación), para encontrar la parte restante de la dirección física buscada.

# data[].attributes.attachment_link.title
Memoria virtual - Wikipedia, la enciclopedia libre

# data[].attributes.attachment_link.description
En informática, la memoria virtual es una técnica de gestión de la memoria que se encarga de que el sistema operativo disponga, tanto para el software de usuario como para sí mismo, de mayor cantidad de memoria que esté disponible físicamente.

# data[].attributes.body
Una memoria caché es una capa de almacenamiento de datos de alta velocidad que almacena un subconjunto de datos,

normalmente transitorios, de modo que las solicitudes futuras de dichos datos se atienden con mayor rapidez que si se debe acceder a los datos desde la ubicación de almacenamiento principal.

# data[].attributes.attachment_link.title
Qué es la memoria Cache y cómo funciona

# data[].attributes.body
La memoria virtual nos sirve para proporcionar la simulación de un espacio de memoria mucho mayor que la memoria física de una máquina. Esta "ilusión" permite que los programas se ejecuten sin tener en cuenta el tamaño exacto de la memoria física.