OS y Memoria Virtual Flashcards

1
Q

¿Qué es un Sistema Operativo?

A

El Sistema Operativo es un software que administra el equipo y permite crear una abstracción del hardware. El OS posee servicios y rutinas para controlar los periféricos.

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

¿Cuál es el objetivo de la Memoria Virtual?

A

Crear una capa de abstracción entre la memoria física y el espacio de memoria direccionable que ve el procesador.

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

¿Qué es una page o página?

A

Es una de las partes en la que está dividida la memoria lógica.

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

¿Qué es la memoria lógica?

A

Es el mapa de memoria visto por los programas, procesos o tareas.

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

¿Qué es la memoria física?

A

Es el mapa de memoria que se encuentra físicamente en el hardware.

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

¿Qué es un frame o marco?

A

Es una de las zonas en las que se divide la memoria física.

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

¿A qué memoria se accede cuando arranca el procesador?

A

A la memoria física, así carga el sistema operativo y recién ahí se habilita la memoria virtual.

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

Todo marco alberga una página
¿Verdadero o Falso?

A

Verdadero

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

Toda página se encuentra albergada ¿Verdadero o Falso?

A

Falso, no todas las páginas van a estar albergadas en todo momento.

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

¿Qué es el swap file?

A

Es un archivo que guarda las imágenes de aquellas páginas de memoria virtual que no se encuentran actualmente en la memoria física. El swap file se encuentra en el disco rígido.

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

¿Adónde se guardan las páginas que no se encuentran en la memoria física?

A

Se guardan temporalmente en el disco.

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

¿Cómo se componen las direcciones de memoria?

A

Las direcciones de memoria están compuestas por el índice y el offset. El primero indica la página lógica y el segundo indica el address dentro de la misma.

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

¿Qué es el MMU?

A

El Memory Management Unit (MMU) es un hardware que convierte las direcciones virtuales en direcciones físicas. Esto lo logra con una tabla con tantos registros como páginas en la memoria virtual. Cada fila está compuesta por ciertos bits de estado, un registro que indica el marco que alberga la página (si está en la RAM) y bits de REEMP con información utilizada por la política de reemplazo.
Los bits de estado pueden ser:
- bit de validez: Indica si la página está albergada en un marco o no
- bit de dirty: Indica si la página fue modificada desde que se trajo a la memoria principal.
- bit de paginabilidad: Indica si la página puede ser desalojada de la memoria principal.

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

¿Qué es un page fault?

A

Es una excepción que ocurre cuando se quiere acceder a una página que no se encuentra asignada (tiene el bit de validez en 0). Esto invoca a la ISR Virtual Memory Manager (VMM) que decide cuál marco liberar y así hacer lugar para la página.

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

¿Qué es la VMM?

A

La Virtual Memory Manager es una ISR que se invoca cuando se quiere acceder a una página que no está albergada en la RAM (page fault).
Define cuál marco desocupar según cierta política de reemplazo para luego traer del disco la página solicitada.
La página desalojada debe ser actualizada en el swap file, que utiliza una política de write back para evitar escribir en el disco si no se modificó el contenido. Para esto se utiliza un bit de dirty.

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

¿Cuál es la diferencia entre el swap file y el archivo de paginado?

A

Ninguna, es lo mismo.

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

¿Todo espacio de memoria se puede paginar?

A

No, cada página tiene un bit de paginable que indica si ese espacio de memoria se puede remover de la memoria física. Por ejemplo, hay módulos del sistema operativo que deben estar siempre disponibles en la memoria física.

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

¿Qué significa que un espacio de memoria sea paginable?

A

Que pueden ser removidas de la memoria principal (RAM) y llevadas al swap file en el disco.

19
Q

¿Qué es el thrashing?

A

Es cuando el SO está constantemente intercambiando páginas entre la RAM y el disco tal que no puede realizar otras acciones.

20
Q

Mencione las diferencias entre paginado y caché.

A

Diferencias entre paginado y caché:
- En caché las decisiones deben ser rápidas mientras que en paginado no, por eso la política suele ser más sofisticada.
- En caché la política de reemplazo es por hardware mientras que en paginado es por software.
- En paginado no existe el write through ya que no tiene sentido estar modificando el disco cada vez que se modifica la RAM.

21
Q

¿Puede una página tener un tamaño distinto al resto?

A

No, todas las páginas tienen el mismo tamaño.

22
Q

Las páginas y los marcos deben tener el mismo tamaño.
¿Verdadero o Falso?

A

Verdadero

23
Q

¿Cuándo se ejecuta un write back en el swap file?

A

Cuando la página está siendo desalojada de un marco y fue modificada mientras estaba en la memoria física.

24
Q

¿Qué es el table fault?

A

Es cuando la cantidad de registros de la MMU no alcanzan para la cantidad de páginas a administrar. Genera una excepción que requerirá de tablas de paginado auxiliares en el disco rígido.

25
Q

¿A qué se refiere la segmentación?

A

La segmentación es un mecanismo que permite crear espacios de memoria lógica independientes entre sí, de tamaño variable. La MMU conoce su ubicación y tamaño y se encarga de traducir las direcciones tal que los programas puedan acceder de forma relativa al segmento en cuestión.

26
Q

¿En qué consiste el problema de los huecos en segmentación?

A

Inicialmente, los segmentos se crean uno a continuación del otro. Eventualmente, ciertos segmentos dejan de ser necesarios y se eliminan, generando espacios libres. Estos espacios no son contiguos y limita la creación de nuevos segmentos.
Para resolver esto, el SO implementa un proceso continuo que va desplazando segmentos para optimizar el uso.

27
Q

¿Cómo se resuelve el problema de los huecos en segmentación?

A

El SO implementa un proceso continuo que va reacomodando lo segmentos para que no queden espacios libres y discontinuos desaprovechados.

28
Q

¿Cómo se reserva un segmento?

A

El SO busca los espacios libres disponibles para alojar el segmento según dos posibles métodos:
- First Fit: Utiliza el primer segmento que se encuentre libre.
- Best Fit: Recorre la distribución y determina la ubicación óptima.
Se demostró que el First Fit el rendimiento es relativamente bueno y no se justifica el costro en procesamiento de Best Fit.

29
Q

¿Cómo se compone un selector?

A

Un selector es una estructura de 16 bits compuesta de:
- Index: Los 13 bits más significativos, que apuntan a un descriptor en la tabla de segmentos.
- GDT/LDT: 1 bit que indica si acceder a la tabla global GDT (Global Descriptor Table) o a la tabla local LDT (Local Descriptor Table) del proceso en ejecuación.
- Privilege level: Los 2 bit menos significativos que indican el nivel de privilegios con el cual se desea acceder a memoria.

30
Q

¿Como se compone un descriptor?

A

El descriptor es una estructura de 8 bytes que describe a un segmento, está compuesta de:
- BASE: Dirección del origen del segmento. Es de 32 bits y se encuentra distribuida de forma no contigua.
- LIMIT: Indica el tamaño del segmento. Es de 20 bits y se encuentra distribuido de forma no contigua.
- Granularidad (G): Bit que indica la unidad de medida del LIMIT, en cantidad de bytes (G = 0) o de páginas (G = 1).
- Default size (D): Bit que indica si el procesador es de 16 o 32 bits.
- 0: Bit reservado por Intel, debe valer cero por compatibilidad.
- Presencia: Bit que indica si el segmento se encuentra o no en memoria.
- Privilege level (DPL): 2 bits que indican el nivel de privilegios con el cual se puede acceder a este segmento de memoria.
- TYPE: 4 bits que indican si es un segmento de código o de datos.

31
Q

¿Por qué los componentes BASE y LIMIT de un dsecriptor no están distribuídos de forma contigua en el mismo?

A

Por cuestiones de compatibilidad con procesadores antiguos.

32
Q

¿Qué es el privilege fault?

A

Es una excepción que ocurre cuando se intenta a acceder a una posición de memoria sin el nivel de privilegio adecuado.

33
Q

¿Qué es un protection fault?

A

Es una excepción que ?? RESPONDANME EN EL GRUPO X FAVOR

34
Q

¿Qué es un segment fault?

A

Es una excepción que ocurre cuando se supera el límite de tamaño reservado para ese segmento y se intenta escribir en un espacio que no le corresponde.

35
Q

¿Cómo se controla que los segmentos no se solapen?

A

No se controla, la MMU sólo se asegura que un segmento no se salga de sus límites. Es responsabilidad del programador asegurarse que los segmentos no se solapen.

36
Q

¿Cómo se compone un address lógico cuando se usa segmentación?

A

El virtual address está compuesto por:
- Selector: Segmento de 16 bits que sirve para indexar un descriptor en la tabla de segmentos. Se shiftea 4 veces a la izquierda, resultando en un valor de 20 bits.
- Offset: Indica la posición de memoria dentro del segmento.

37
Q

¿Cómo se traduce un address lógico a un address físico?

A

Primero se extrae el Selector del address lógico y se lo usa para indexar al Descriptor en la tabla que corresponda (GDT o LDT).
Luego se extrae el BASE address del mismo y se chequea que no se supere el LIMIT para luego validar los permisos y privilegios.
Si no se levanta ninguna excepción, se suma al BASE el offset extraído del address lógico y se obtiene el adress físico.
En resumen:
Address físico = Base address (selector) + offset
SIEMPRE QUE CUMPLA LOS CHEQUEOS

38
Q

¿Cómo funciona la combinación entre segmentación y memoria virtual?

A

Básicamente los segmentos se crean para asignar nuevos espacios de memoria lógicos. O sea, aquello que se está segmentando es memoria virtual, no física.

39
Q

Identifique las opciones correctas:

En un sistema de memoria virtual sin segmentación (modelo teórico)…

a) el archivo de paginado (swapfile) contiene siempre una copia actualizada de las páginas que han sido descargadas desde los “marcos” de memoria física.
b) el archivo de paginado (swapfile) nunca contiene copias actualizadas de las páginas que están presentes en “marcos” de memoria física.
c) el archivo de paginado (swapfile) va creciendo a medida que el sistema va descargando páginas que son removidas de la memoria RAM cuando se aplica la polítice de reemplazo.
d) el archivo de paginado (swapfile) tiene un tamaño dado por la máxima cantidad de memoria virtual que el sistema puede direccionar.
e) el archivo de paginado (swapfile) contiene siempre una copia actualizada de las páginas que están presentes en “marcos” de memoria física.

A

a) y d) son correctas:

a) el archivo de paginado (swapfile) contiene siempre una copia actualizada de las páginas que han sido descargadas desde los “marcos” de memoria física.

d) el archivo de paginado (swapfile) tiene un tamaño dado por la máxima cantidad de memoria virtual que el sistema puede direccionar.

40
Q

Un sistema de memoria segmentada basado en iA32 (Pentium 4, Core i7 etc) …

a) no se relaciona con mecanismos de protección.
b) emplea descriptores de 128 bits de tamaño.
c) no se relaciona con mecanismos de privilegios de ejecución.
d) siempre indica en Bytes el tamaño de un segmento (en el descriptor).
e) puede indicar el tamaño de un segmento en páginas de tamaño fijo (4 KBY).
f) emplea selectores para referenciar un descriptor.
g) puede medir el tamaño de un segmento en páginas de tamaño arbitrario.

A

e) y f) son correctas.

Un sistema de memoria segmentada basado en iA32 (Pentium 4, Core i7 etc) …
e) puede indicar el tamaño de un segmento en páginas de tamaño fijo (4 KBY).
f) emplea selectores para referenciar un descriptor.

41
Q

Visto desde el nivel de “máquina de sistema operativo” (Operating System Machine, según Tannenbaum), el programador de aplicaciones tiene cierta visibilidad de las instrucciones del procesador (ISA) y de las llamadas del OS (system calls). Entonces, un programa aplicativo…

a) será derivado (trap) a una rutina especial del OS si intenta ejecutar algunas instrucciones específicas.
b) accede a todas las instrucciones del procesador y a numerosas llamadas del OS.
c) accede a la mayoría de las instrucciones del procesador y a numerosas llamadas del OS.
d) será cancelado en forma drástica si intenta ejecutar determinadas instrucciones.
e) accede a todas las instrucciones del procesador y a muy pocas llamadas del OS.
f) accede a muy pocas instrucciones del procesador y algunas llamadas del OS.

A
42
Q

Suponga un sistema operativo moderno (O/S), que toma el control de las operaciones de entrada salida (I/O). Indique si las siguientes afirmaciones son verdaderas o falsas.
a) Si un programa de usuario intenta hacer una operación de I/O fisicamente, se produce un “trap” similar a una interrupción de software, y el O/S toma alguna acción prevista.
b) Si un programa de usuario intenta hacer una operación de I/O debe hacerlo mediante un salto (JMP) a una rutina ubicada en un “anillo” que cuente con el privilegio adecuado. 3. Si un programa de usuario intenta hacer una operación de I/O debe hacerlo
necesariamente por una llamada a una API publicada por el OS.
4. Si un programa de usuario intenta hacer una operación de I/O debe hacerlo invocando al driver del dispositivo correspondiente.

A
43
Q

Indicar cuáles de las siguiente afirmaciones son verdaderas y cuáles falsas.

a) ¿Cuáles son los principales datos que definen un segmento de memoria? Algunos autores afirman que dicha información está contenida en una estructura llamada “selector”.
b) El descriptor de un segmento incluye, entre otros datos, información sobre protección y privilegios (kernel/user) que deben ser respetados para no generar “faults”.
c) Un sistema de archivos avanzado maneja aspectos de seguridad que incluyen permisos atribuibles a usuarios y grupos. En general, los permisos se combinan sumándose (OR), a excepción de un permiso de tipo “NO ACCESS”. ¿Cómo trabaja este último?
d) A diferencia de algunos diseños de caché, un sistema de memoria virtual nunca podría trabajar en modo “write through”. ¿Por qué?

A