Saltar al contenido principal

La memoria principal

La memoria principal se usa para almacenar la información que la CPU necesita de manera inmediata.

Entre esta información se guardan las instrucciones del programa y los datos que usa este programa. Esta es casi tan rápida como la CPU.

La información de esta memoria desaparece cuando se apaga el equipo, es decir, es volátil.

Memoria RAM

Generalmente a esta memoria también se la denomina memoria RAM. En realidad, la memoria RAM es la tecnología que se utiliza para implementar la memoria principal. Debido a la cantidad de tiempo que se lleva utilizando dicha tecnología, acabó por denominarse también memoria RAM.

Cuando se ejecuta un programa, el sistema operativo carga el código del programa y los datos necesarios en memoria principal. Durante la ejecución de un programa, en esta memoria se almacenan los datos que son manipulados por el programa.

Gestión de memoria

Los sistemas operativos modernos utilizan una técnica de gestión de memoria denominada memoria virtual. Esta técnica consiste en proporcionarle a cada programa la ilusión de tener su propia memoria exclusiva, independiente de la memoria física. Por lo tanto, cada programa cuenta con su propio espacio de direcciones de memoria virtuales. Esto significa que cada programa piensa que tiene un rango completo de acceso a todas las direcciones de memoria, por ejemplo de 0x00000000 a 0xFFFFFFFF en un sistema de 32 bits.

Cada dirección de memoria se identifica con un número hexadecimal. El sistema operativo es el encargado de transformar estas direcciones virtuales en direcciones de memoria físicas.

Este mecanismo permite aislar los diferentes procesos, evitando que un programa pueda acceder a datos de otro.

Cada dirección de memoria corresponde a una localización específica donde se almacena un dato o instrucción. La CPU utiliza estas direcciones para localizar y acceder a los datos e instrucciones necesarias.

Dirección de memoriaDato almacenado
0x00000000Instrucción 1
0x00000001Instrucción 2
0x00000002Instrucción 3
0x00000003Instrucción 4
...
0x0000A000Dato del programa 1
0x0000A001Dato del programa 2
0x0000A002Dato del programa 3
...
0xFFFFFFFF

Durante un ciclo de la CPU, esta busca una instrucción en memoria principal, descodifica la instrucción y ejecuta dicha instrucción. El resultado de dicha instrucción también se almacena en memoria principal.