Tema 5 : Administración de memoria Flashcards

1
Q

Describe la segmentación

A

Técnica de Memoria Virtual donde el espacio de dir. lógicas de un proceso se divide en un conjunto de segmentos, cada uno con su tamaño y pos. de memoria

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

¿Qué es un segmento?

A

Sucesión lineal de direcciones de memoria (desde 0 hasta un máx.).

Cada segmento tiene longitud distinta y variable (independientes unos de otros) y pueden tener protección diferente

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

Dirección generada por un proceso en Memoria Virtual con Segmentación paginada

A

Dir [NumSegmento, Desplazamiento]

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

Ventajas y desventajas de Memoria Virtual con Segmentación Pura

A

Ventaja:
- Facilita protección y compartición de objetos de forma individual

Desventaja:
- Fragmentación externa

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

¿Qué es la Tabla de Segmentos?

A

Estructura (tabla) que hace corresponder las direcciones bidimensionales con direcciones físicas

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

Dirección generada por un proceso en Memoria Virtual con Segmentación Paginada

A

Dir [numSegmento, desplazamSegment]

DesplazamSegment[NumPagVirt, DesplazamPagina]

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

Características de la Segmentación paginada

A

Cada proceso tiene una Tabla de Segmentos y cada segmento tiene una Tabla de Páginas

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

Políticas de asignación y reemplazo de páginas

Dado que todos los procs. comparten los marcos ¿Cómo se los reparten?

A

Asignación:
* Asignación estática : cada proceso tiene un num. fijo de marcos
* Asignación dinámica - los marcos se asignan según se comporte el proceso

Reemplazo:
* Reemplazo local : se escoge entre los marcos asociados a ese proceso
* Reemplazo global

Asignación estática con reemplazo global no es posible

La más interesante es asignación dinámica con reemplazo local

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

¿Qué es la Hiperpaginación?

A

Suceso que da a lugar cuando un proceso genera muchos fallos de página y se pasa más tiempo paginando que ejecutando

Paginar : esperar a que se resuelvan los fallos de página

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

Soluciones a la Hiperpaginación

A
  • Ampliar la memoria
  • El SO detecta esta situación y suspende temporalmente procesos
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Consecuencias de tener un Tam. Página pequeño

A
  • Menos fragmentación interna
  • TP más grande
  • Más fallos de página
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Consecuencias de tener un Tam. Página grande

A
  • Más fragmentación interna
  • TP más pequeña
  • Menos fallos de página
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

¿Qué hacer ante un fallo de página?

Políticas de lectura de páginas

A

Paginación por demanda : leer solo la página que produce el fallo
Paginación por adelantado : se lee la página que produjo el fallo y algunas más

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

¿Qué hacemos con las escrituras de las páginas sucias?

Políticas de escritura de páginas

A

Escritura por demanda : escritura a disco cuando se explusa de mem. una página modificada
Escritura por adelantado : escritura a disco cada X segundos y se va apagando el bit M

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

¿Qué hace un algoritmo de reemplazo de páginas?

A

Elige el marco físico a reemplazar de mem. cuando se produce un fallo de página y no quedan marcos libres.

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

Nombra los algortimos de reemplazo de páginas

A
  • NRU [Not Recently Used]
  • FIFO
  • De segunda oportunidad
  • De reloj
  • LRU con contador 64bits [hw]
  • LRU con matriz NxN [hw]
  • LRU maduración [sw]
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Explica el algoritmo de reemplazo de páginas NRU

A

Se basa en los bits R y M de la tabla de páginas
* Bit R : se establece periódicamente a 0
* Bit M : se pone a 1 cnd se usa la página

Se forman cuatro clases [R,M]
* clase 0 : 0 0
* clase 1 : 0 1
* clase 2 : 1 0
* clase 3 : 1 1

Se desaloja aquella página de la clase más baja (si empate -> aleatorio)

16
Q

Ventaja y desventaja de usar el algoritmo de reemplazo de páginas FIFO

A

Ventaja : fácil de implementar
Desventaja: no es muy bueno, ya que no tiene en cuenta el bit R (el uso) de las páginas

17
Q

Explica el algoritmo de reemplazo de páginas de Segunda Oportunidad

A

Se tiene en cuenta el bit R de las páginas

Se tiene una cola FIFO. Si el bit R de la primera página es 0 entonces se desaloja esa página. Si el bit R es 1 entonces esa página se lleva al final de la cola y su bit R se pone a 0

18
Q

Explica el algoritmo de reemplazo de páginas del Reloj

A

Se trata del algoritmo de segunda oportunidad pero cambiando la implementación para evitar tener que mover las páginas en la lista

Se tiene la lista (circular) y un apuntador a una página. Cuando hay un fallo de página se inspecciona la página apuntada:
* Bit R = 0 : se expulsa esa página
* Bit R = 1 : se limpia el bit R y se avanza la manecilla

19
Q

Explica el algoritmo de reemplazo de páginas LRU con maduración (sw)

A

Se trata de una simulación por sw del algoritmo LRU.

Cada página tiene un contador sw de N bits.
* Cada marca de reloj : para cada página, su contador se desplaza un bit a la dcha. y el valor del bit R de cada página se suma al bit más izq. de su contador

  • Fallo de página : se reemplaza la página con el contador más bajo (en binario)

N : número de marcos

20
Q

Explica el algoritmo de reemplazo de páginas LRU con Matriz NxN (hw)

A

Se tiene una matriz NxN (donde N es el número de marcos).

Referencia a un marco : se pone su fila a 1 y su columna a 0.
Fallo de página : se reemplaza el marco con menor número (en binario).

21
Q

¿Qué es el mapa de memoria virtual de un proceso?

A

Es la forma en la que se estructura la mem. virtual del proceso y lo que se mapea en cada rango de direcciones.

Se construye a partir del ejecutable cuando se crea el proceso. Debe controlar qué zonas de memoria están ocupadas y cuáles no.

22
Q

Regiones del mapa de memoria de un proceso

A

Regiones CON contenido inicial :
* Código
* Datos CON valor inicial

Regiones SIN contenido inicial :
* Pila
* Datos SIN valor inicial

Otras : Montón, Pilas de hilos, Ficheros proyectados …

23
Sea la llamada **fork()**, ¿cómo se puede solucionar el problema de las zonas del mapa de memoria con permisos de escritura?
**Solución A)** * Las regiones modificables no se comparten, se replican **Soulción B)** * Todas las regiones se comparten padre-hijo pero se **desactivan los bits w** (de permiso). El SO gestiona las excepciones y replica la página que falló
24
Respecto al mapa de memora y la Tabla de páginas, ¿qué pasa cuando se hace la llamada **fork()**?
El proceso hijo hereda del padre el mapa de memoria (compartido) y recibe una copia de la TP. El PID y BCP del hijo son diferentes a los del padre.
25
¿Cómo logramos Tablas de Páginas **más pequeñas**?
Empleando **Tablas de Páginas invertidas** o **Tablas de Páginas multinivel**
26
¿Cómo se calcula los bits de desplazamiento en una dirección virtual?
BitsDesplazamiento = log2 TamPagina
27
Explica brevemente un **Tabla de Páginas Multinivel**
En una TP multinivel el campo de **numPaginaVirtual** se **divide** en varias partes para representar los diferentes niveles numEntradasNivel = 2bitsNivel
28
Explica brevemente un **Tabla de Páginas Invertida**
Ahora se tiene **una única tabla para todos los procesos** y **una entrada por cada marco físico**. Se suele usar junto a una **Tabla Hash** y un **TLB** para mayor rendimiento. | Campos TPInv : [PID, NPV, NPF, Encadenamiento]
29
¿Qué es un TLB?
Hardware que traduce de direcciones virtuales a direcciones físicas sin necesidad de acceder a la TP (traducciones rápidas) Se trata de una caché totalmente asociativa dentro de la MMU con un número pequeño de entradas. | Campos TLB : [Valid, M, Protec, NPV, NPF]
30
¿Qué es un fallo de página?
**Interrupción** generada por el SO cuando no hay una asociación páginaVirtual / marco (la página del proceso no se halla en memoria). Este suceso lo detecta la MMU y el SO trata la excepción escogiendo un marco de página para traer la nueva página a ese marco escogido y actualiza la TP.
31
Campos de una entrada de la Tabla de páginas
Campo TP : [VisNucleo, NoCache, Protec, U, M, V, NPF]
32
¿Qué es una Tabla de Páginas?
Estructura que **establece la correspondecia** entre direcciones virtuales y direcciones físicas
33
¿Qué es una Página Virtual?
Divisiones de igual tamaño del espacio de direcciones virtuales del proceso
34
¿Qué es un Marco de Página? | Tb denominados **página física** o **marco**
Divisiones de igual tamaño de la memoria física
35
Dirección Virtual
Dirección generada por un proceso [NumPagVirt, Desplazamiento]
36
Dirección Física
Dirección usada para acceder a memoria principal [NumPagFisica, Desplazamiento]
37
¿Qué es la **MMU**?
La MMU es una unidad hw que se encarga de **traducir** de dir. virtuales a dir. físicas
38
Esquemas de Administracióm de Memoria sin Memoria Virtual
Multiprogramación con particiones fijas y Multiprogramación con particiones variables.
39
Desventajas de la Multiprog. con particiones fijas
* El numero de particiones **limita** el número de procesos activos * Procesos pequeños causan **fragmentación interna** * Se puede generar **fragmentación externa** | Frag. ext.: existe suficiente espacio para proc. pero en dif particiones
40