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
Q

Sea la llamada fork(), ¿cómo se puede solucionar el problema de las zonas del mapa de memoria con permisos de escritura?

A

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
Q

Respecto al mapa de memora y la Tabla de páginas,

¿qué pasa cuando se hace la llamada fork()?

A

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
Q

¿Cómo logramos Tablas de Páginas más pequeñas?

A

Empleando Tablas de Páginas invertidas o Tablas de Páginas multinivel

26
Q

¿Cómo se calcula los bits de desplazamiento en una dirección virtual?

A

BitsDesplazamiento = log2 TamPagina

27
Q

Explica brevemente un Tabla de Páginas Multinivel

A

En una TP multinivel el campo de numPaginaVirtual se divide en varias partes para representar los diferentes niveles

numEntradasNivel = 2bitsNivel

28
Q

Explica brevemente un Tabla de Páginas Invertida

A

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
Q

¿Qué es un TLB?

A

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
Q

¿Qué es un fallo de página?

A

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
Q

Campos de una entrada de la Tabla de páginas

A

Campo TP : [VisNucleo, NoCache, Protec, U, M, V, NPF]

32
Q

¿Qué es una Tabla de Páginas?

A

Estructura que establece la correspondecia entre direcciones virtuales y direcciones físicas

33
Q

¿Qué es una Página Virtual?

A

Divisiones de igual tamaño del espacio de direcciones virtuales del proceso

34
Q

¿Qué es un Marco de Página?

Tb denominados página física o marco

A

Divisiones de igual tamaño de la memoria física

35
Q

Dirección Virtual

A

Dirección generada por un proceso
[NumPagVirt, Desplazamiento]

36
Q

Dirección Física

A

Dirección usada para acceder a memoria principal
[NumPagFisica, Desplazamiento]

37
Q

¿Qué es la MMU?

A

La MMU es una unidad hw que se encarga de traducir de dir. virtuales a dir. físicas

38
Q

Esquemas de Administracióm de Memoria sin Memoria Virtual

A

Multiprogramación con particiones fijas y Multiprogramación con particiones variables.

39
Q

Desventajas de la Multiprog. con particiones fijas

A
  • 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
Q
A