Luis Fernando Rodriguez Boett
Cuando hablemos del manejo de memoria en las computadoras, debemos tener en cuenta estos dos componentes:
- CPU: Realiza todas aquellas actividades logica, matematicas y de control. En otras palabras, es el cerebro de nuestra computadora
- RAM: Es el lugar donde se almacena todos los datos que esten relacionado con nuestro programa, desde el codigo que se va a ejecutar hasta las variables a utilizar a lo largo de la ejecucion
Estos dos componentes se comunicarán entre si de manera constante. La RAM almacena la información a ejecutar y el CPU es quien lee esa información y la ejecuta
Segmentacion de la memoria
!Untitled
La RAM tiene una tarea mucho más especifica, que es la memoria de segmentacion. Nuestro sistema operativo lo que hace es gestionar los recursos en nuestra computadora, y cuando comienza nuestro programa a ejecutarse, el sistema operativo crea un espacio en la memoria para que pueda ejecutar dicho programa
Secciones en la Segmentacion de la memoria:
- Codigo ejecutable: Donde se almacenan las instrucciones del programa
- Literales no ejecutables: Las variables que no cambian en el transcurso de todo el programa, son almacenadas en esta seccion.
//Ejemplo 1 cout << "Hola mundo"; //Ejemplo 2 char dorime[6] = 'Dorime'; cout << dorime;
- Variables declaradas. En esta seccion se encuentran los datos estaticos. Aquí, las variables declaradas (tipo entero, caracter, cadena de texto fijos) van a reservar su espacio en esta seccion. Esto se debe a que nuestro compilador crea un espacio de memoria donde podemos almacenar variables fijas y con un tamaño definido
- Memoria Dinamica: Aca podemos encontrar la memoria Heap y la memoria en pila
- Heap: Se almacena toda la memoria dinamica y es controlado por el programador.
- memory Stack: Es gestionado por el compilador, el cual mantiene la informacion de memoria de donde se llamo la funcion y los datos que se van almacenando dentro del stack
Efrain Montealegre Raga
Gracias por el resumen!!