U1 y U2 Flashcards
Que es la unidad de manejo de memoria o MMU
es un componente de hardware que se encarga de gestionar los accesos a la memoria por parte del procesador o CPU
En una arquitectura de 64 bits, cuantos se reservan para direccionamiento
los 48 menos significativos
que son
Kernel
User stack
Memory mapping
Free store
text/data/bss?
Son regiones de la memoria virtual de linux
como se aloja un proceso linux en la memoria virtual
Un proceso esta compuesto de muchas partes las cuales se alojan cada una en una region de la memoria virtual
que es el User stack
Region de la memoria virtual empleada para la ejecución de funciones. Su tamaño varía dinámicamente en el transcurso del programa,
sigue el esquema LIFO
Que es el Memory mapping
Una región de memoria intermedia que contiene el código y los datos de las bibliotecas compartidas con otros procesos (por ejemplo, la biblioteca estándar del lenguaje).
Que es el Free store
El área de memoria libre (free store), cuyo tamaño varía en tiempo de ejecución como resultado del uso de expresiones new y delete.
Que es el text/data/bss
El segmento .text contiene instrucciones ejecutables. Le siguen el segmento .data (conteniendo variables estáticas inicializadas) y el segmento .bss (variables estáticas sin inicializar).
Que es la paginacion
Tecnica que permite gestionar la memoria fisica dividiendola en bloques estaticos y contiguos de igual tamaño
Que es el registro %rsp
Register stack pointer guarda la direccion de memoria del datos mas reciente de la pila(cabecera de l pila, para añadir o quitar datos se modifica este puntero
errores comunes en la gestion del user stack
stack overflow
sobrescribir posiciones inexistentes en arrays
Diferencia Clase y Struct en C++
La clase es private por defecto mientras que struct es public, struct se suele usar para guardar datos simples e iguales
diferencia i& y &i y int* p = &i
la primera es un alias, sirve para recibir por referencia los paramtros
la segunda apunta a la direccion en memoria de esa variable
la tercera es un puntero que almacena la direccion en memoria de esa variablr
¿Qué es un destructor en C++ y cómo se denota?
Un destructor es una función miembro especial de una clase, única, que se denota con el mismo nombre de la clase precedido por una tilde (~), sin argumentos ni valor de retorno.
¿Cuál es la función principal de los destructores en C++?
Liberar los recursos adquiridos por el objeto durante su tiempo de vida, como memoria dinámica, archivos, y locks, de manera automática al finalizar su tiempo de vida.