Tema 5 : Administración de memoria Flashcards
Describe la segmentación
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
¿Qué es un segmento?
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
Dirección generada por un proceso en Memoria Virtual con Segmentación paginada
Dir [NumSegmento, Desplazamiento]
Ventajas y desventajas de Memoria Virtual con Segmentación Pura
Ventaja:
- Facilita protección y compartición de objetos de forma individual
Desventaja:
- Fragmentación externa
¿Qué es la Tabla de Segmentos?
Estructura (tabla) que hace corresponder las direcciones bidimensionales con direcciones físicas
Dirección generada por un proceso en Memoria Virtual con Segmentación Paginada
Dir [numSegmento, desplazamSegment]
DesplazamSegment[NumPagVirt, DesplazamPagina]
Características de la Segmentación paginada
Cada proceso tiene una Tabla de Segmentos y cada segmento tiene una Tabla de Páginas
Políticas de asignación y reemplazo de páginas
Dado que todos los procs. comparten los marcos ¿Cómo se los reparten?
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
¿Qué es la Hiperpaginación?
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
Soluciones a la Hiperpaginación
- Ampliar la memoria
- El SO detecta esta situación y suspende temporalmente procesos
Consecuencias de tener un Tam. Página pequeño
- Menos fragmentación interna
- TP más grande
- Más fallos de página
Consecuencias de tener un Tam. Página grande
- Más fragmentación interna
- TP más pequeña
- Menos fallos de página
¿Qué hacer ante un fallo de página?
Políticas de lectura de páginas
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
¿Qué hacemos con las escrituras de las páginas sucias?
Políticas de escritura de páginas
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
¿Qué hace un algoritmo de reemplazo de páginas?
Elige el marco físico a reemplazar de mem. cuando se produce un fallo de página y no quedan marcos libres.
Nombra los algortimos de reemplazo de páginas
- NRU [Not Recently Used]
- FIFO
- De segunda oportunidad
- De reloj
- LRU con contador 64bits [hw]
- LRU con matriz NxN [hw]
- LRU maduración [sw]
Explica el algoritmo de reemplazo de páginas NRU
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)
Ventaja y desventaja de usar el algoritmo de reemplazo de páginas FIFO
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
Explica el algoritmo de reemplazo de páginas de Segunda Oportunidad
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
Explica el algoritmo de reemplazo de páginas del Reloj
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
Explica el algoritmo de reemplazo de páginas LRU con maduración (sw)
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
Explica el algoritmo de reemplazo de páginas LRU con Matriz NxN (hw)
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).
¿Qué es el mapa de memoria virtual de un proceso?
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.
Regiones del mapa de memoria de un proceso
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 …