U1 y U2 Flashcards

1
Q

Que es la unidad de manejo de memoria o MMU

A

es un componente de hardware que se encarga de gestionar los accesos a la memoria por parte del procesador o CPU

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

En una arquitectura de 64 bits, cuantos se reservan para direccionamiento

A

los 48 menos significativos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

que son
Kernel
User stack
Memory mapping
Free store
text/data/bss?

A

Son regiones de la memoria virtual de linux

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

como se aloja un proceso linux en la memoria virtual

A

Un proceso esta compuesto de muchas partes las cuales se alojan cada una en una region de la memoria virtual

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

que es el User stack

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Que es el Memory mapping

A

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).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Que es el Free store

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Que es el text/data/bss

A

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).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Que es la paginacion

A

Tecnica que permite gestionar la memoria fisica dividiendola en bloques estaticos y contiguos de igual tamaño

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Que es el registro %rsp

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

errores comunes en la gestion del user stack

A

stack overflow
sobrescribir posiciones inexistentes en arrays

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Diferencia Clase y Struct en C++

A

La clase es private por defecto mientras que struct es public, struct se suele usar para guardar datos simples e iguales

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

diferencia i& y &i y int* p = &i

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

¿Qué es un destructor en C++ y cómo se denota?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

¿Cuál es la función principal de los destructores en C++?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

¿Qué es la técnica RAII en C++

A

asegura que la adquisición y liberación de recursos se maneje de forma segura mediante constructores y destructores.

17
Q

¿Qué ocurre si un destructor lanza una excepción durante un desenredo de pila?

A

Se invoca la función std::terminate, causando la terminación anómala del programa, ya que los destructores no deben emitir excepciones.

18
Q

¿Qué garantías se deben considerar al manejar excepciones en C++?

A

Garantía básica (invariantes y ausencia de fugas de recursos), garantía fuerte (operación exitosa o estado previo sin cambios), y garantía nothrow (no emisión de excepciones).

19
Q

¿Qué soluciones propone el documento para manejar recursos de forma segura ante excepciones?

A

Implementar un bloque de limpieza try-catch o utilizar la técnica RAII con objetos cuyos destructores manejen la liberación de recursos automáticamente.

20
Q

¿Cuáles son los modos principales para abrir un archivo en C++?

A

Los modos principales son ios::in para lectura, ios::out para escritura, ios::app para añadir al final y ios::binary para archivos binarios.

21
Q

Pregunta: ¿Cómo se lee de un archivo de texto en C++?

A

Se utiliza el método get para leer caracteres individualmente o getline para leer líneas completas.

22
Q

¿Qué diferencia hay entre archivos de texto y binarios en su manipulación?

A

Los archivos de texto se leen y escriben como caracteres legibles, mientras que los binarios se manejan como bytes, lo que requiere operaciones específicas de lectura y escritura binaria.

23
Q

¿Cuál es el propósito de usar reinterpret_cast al trabajar con archivos binarios?

A

reinterpret_cast se utiliza para convertir punteros o referencias a un tipo de datos a otro, permitiendo la escritura y lectura directa de estructuras complejas en archivos binarios.

24
Q

¿Cómo se gestiona el final de un archivo durante la lectura en C++?

A

Se utiliza el método eof() del objeto archivo para verificar si se ha alcanzado el final del archivo durante la lectura, permitiendo terminar adecuadamente las operaciones de lectura sin errores.

25
Q
A