Tema 4 - Memoria Virtual

Descargar como ppt, pdf o txt
Descargar como ppt, pdf o txt
Está en la página 1de 31

virtual introducción

Contenido
aspectos
generales

introducción

paginación

segmentación

conclusiones

introducción
virtual introducción
Contenido
aspectos
Técnica que permite la ejecución de un
generales proceso aunque no esté totalmente en
introducción
memoria. El resto del proceso se
encontrará en memoria secundaria
paginación

segmentación
Ventajas:
conclusiones
 Un programa ya no está restringido por la
cantidad de memoria física disponible
 Se aumenta la utilización de la CPU, al
aumentar el grado de multiprogramación
 Se requiere menos E/S para cargar o
intercambiar los procesos

Desventajas:
 Puede reducirse el rendimiento del sistema si
no se emplea con cuidado
virtual introducción
Contenido
aspectos
El mecanismo más elemental de
generales memoria virtual es el de recubrimientos
introducción
(overlays)
paginación Se encuentran varias implementaciones
segmentación
de memoria virtual:
conclusiones  paginación por demanda
 segmentación por demanda
Se mantienen en memoria principal
aquellas páginas o segmentos que sean
necesarios en cada momento
El conjunto de páginas o segmentos que
se mantienen para cada proceso
constituyen su conjunto residente
virtual paginación por demanda
Contenido
aspectos
generales

introducción

paginación

segmentación

conclusiones

paginación por demanda


virtual paginación por demanda
introducción
Contenido
aspectos Se combinan las técnicas de:
generales
 paginación simple
introducción marco
paginación
 intercambios (swapping)
paginación 0

segmentación
1 página 0
página 0 0 1 2
conclusiones
página 1 1 4 3 página 2
página 2 2 3 4 página 1
página 3 3 7 5
tabla de 6
memoria
páginas
lógica 7 página 3
memoria
física
virtual paginación por demanda
introducción
Contenido
aspectos Se combinan las técnicas de:
traducción de direcciones
generales
 paginación simple
introducción marco
paginación intercambios
Dirección virtual (swapping)
Dirección física
paginación 0
p d m d 1 página 0
segmentación Acceso a
página 0 0 1 2 memoria
conclusiones
página 1 1 4 3 página 2
2 página 1
página Tabla
2 de páginas 3 4
página 3 3 7 5
tabla de Memoria
CPU memoria 6
páginas principal
lógica p m 7 página 3
memoria
física
virtual paginación por demanda
tabla de páginas
Contenido
aspectos Además del número de marco,
generales
cada entrada de la tabla de
introducción páginas posee:
paginación
 un bit de validez que indica si la
segmentación
página está cargada actualmente en
conclusiones memoria

 un bit de modificación que indica si la


página se ha modificado o no en
memoria (página sucia o limpia)

 un bit de referencia que indica si la


página ha sido referenciada en el
último intervalo de tiempo
virtual paginación por demanda
fallo de página
fallo de
Contenido página
aspectos Cuando se accede a una página
Tabla de páginas
generales
que no Validez
Marco está en memoria central, se
introducción
genera una interrupción por Memoria
fallo
referencia
paginación
CPU de
p
página,
m 0 cuyo objeto es cargarla
1
Sistema secundaria
segmentación trap Operativo
en memoria. página
conclusiones

reiniciar
instrucción

actualizar traer
tabla de página
páginas
memoria
principal
virtual paginación por demanda
reemplazo de página
algoritmo
Contenido de reemplazo
acceso a tablaSidelapáginas
aspectos memoria está totalmente
generales
si (bit_de_validez ocupada= 1) es necesario extraer una
introducción
acceder página
a memoriade memoria (víctima) para
sinopaginación
dejar el espacio necesario para la
si no existe marco libre
segmentación
nueva página
seleccionar página víctima a sustituir
conclusiones
actualizar tabla de páginas
si (bit_de_modificación = 1)
Si el bit de modificación es 0 (la
escribir página en memoria auxiliar
página es limpia) no será necesario
finsi
finsi escribir la página en memoria
secundaria
transferir nueva página a memoria principal
actualizar tablas
finsi
virtual paginación por demanda
rendimiento
Contenido
aspectos
La tasa de fallos es la probabilidad de que
generales se produzca un fallo de página:
introducción
p = nº de fallos / nº total de referencias
paginación 0p1
segmentación
 Si p=0 no se produce ningún fallo
conclusiones
 Si p=1 cada referencia es un fallo de página

El tiempo de acceso efectivo es:

TAE = (1-p) * TAM + [p * (1+pm) * TTP]

 TAM = Tiempo de Acceso a Memoria


 TTP = Tiempo de Transferencia de Página desde
disco
 pm = Probabilidad de que la página haya sido
modificada
virtual paginación por demanda
algoritmos de reemplazo
Contenido
aspectos
generales Se pretende utilizar aquel que
introducción produzca la mínima tasa de fallos
paginación de página
segmentación

conclusiones
Existen diferentes algoritmos,
entre ellos:
 Algoritmo FIFO
 Algoritmo óptimo
 Algoritmo LRU
 Algoritmo de segunda oportunidad
virtual paginación por demanda
algoritmos de reemplazo | serie de referencias
Contenido
aspectos
generales Representa la secuencia de páginas
introducción que han sido accedidas
paginación  Cada dirección lógica emitida por el
segmentación procesador se reduce a su número de
conclusiones
página asociado
 Si hay varias referencias consecutivas
a una misma página, se eliminan las
repeticiones
 Ejemplo:
• Tamaño de página = 1024
• Referencias: 2000, 15, 48, 1500, 3000
• Serie de referencias: 1, 0, 1, 2
virtual paginación por demanda
algoritmos de reemplazo | FIFO
Anomalía
Contenido de Belady
aspectos
Se producen
generales
Se más
elimina la página
fallos quealhace
de página más
aumentar
el númerotiempo
introducción de marcos que fue cargada en memoria
paginación
1 2 3 4 2 1 5 6 2 1 2 3 7 6 3 2
1 2 03 14 1 2 5 1 12 3 64 5 6
segmentación0 1
1 42 52 25 1 9 fallos
conclusiones1 22 13 1 3 2de página 2
2 33 24 2 4 3 3
4 5 7
1 2 3 4 1 2 5 1 2 3 4 5
0 1 1 5 4
Inconvenientes: 10 fallos
1 2 2 1 5 de página
2  3Una página que 2se referencie mucho y sea
antigua se sustituirá
3 4 3
 Se puede producir la anomalía de Belady
virtual paginación por demanda
algoritmos de reemplazo | óptimo
Contenido
aspectos
generales
Se reemplaza la página que no se usará
durante un mayor periodo de tiempo
introducción

paginación 1 2 3 4 2 1 5 6 2 1 2 3 7 6 3 2
segmentación
0 1 1 1
1 2 2 2 2 2
conclusiones
2 3 3 3
3 4 6 6
4 5 7

Algoritmo no realizable. Tiene


importancia como comparativa
No presenta la anomalía de Belady
virtual paginación por demanda
algoritmos de reemplazo | LRU
Contenido
aspectos
generales
Se elimina la página que hace más
tiempo que no se ha utilizado
introducción

paginación
Aproximación al algoritmo óptimo que
utiliza el pasado reciente como
segmentación
aproximación de lo que sucederá en el
conclusiones
futuro cercano
1 2 3 4 2 1 5 6 2 1 2 3 7 6 3 2
0 1 1 1
1 2 2 2 2 2
2 3 6 6
3 4 3 3
4 5 7
virtual paginación por demanda
algoritmos de reemplazo | 2ª oportunidad
Contenido
aspectos
generales
Se escoge una página según un criterio y
1 2 3 se4 2examina
1 5 6 2su1bit 2 de3 7referencia:
6 3 2
introducción
0 1 1 bit está
 Si el 6 a 1, se la da6una segunda
1
paginación
2 2
oportunidad2 2 2
2
segmentación 3 • Se borra su bit de1referencia (se pone a 0)
3
conclusiones 4 • Se elige la siguiente página,3 aplicando3de nuevo la misma regla
4  Si el bit
5 está 0, es sustituída 7
Se puede implementar mediante una
cola circular (algoritmo Página del Bitreloj)
de referencia
1
6 0
1
2 1
0
1
3 0
1
4 0
1
5 0
1
virtual paginación por demanda
asignación de marcos
Contenido
aspectos Se debe resolver el problema de cómo se
generales
reparten los marcos entre todos los
introducción procesos
paginación Existe un mínimo número de marcos que
deben asignarse a un proceso, que está
segmentación definido por la arquitectura del repertorio
conclusiones de instrucciones
Asignación equitativa: si hay m marcos y
n procesos se asignan m/n marcos a
cada uno
Asignación proporcional: se asigna
memoria a cada proceso según su
tamaño
Asignación por prioridad: asignación
proporcional basada en las prioridades
de los procesos
virtual paginación por demanda
ámbito del reemplazo
Contenido
aspectos
generales Reemplazo global:
introducción  Un proceso elige del conjunto de
paginación marcos total
segmentación  Puede elegir marcos de otro proceso
conclusiones  El número de marcos asignado a un
proceso es variable
Reemplazo local:
 Un proceso sólo selecciona marcos de
los que tiene asignados
 El número de marcos asignado es fijo
Se puede producir hiperpaginación
virtual paginación por demanda
hiperpaginación (thrashing)
Contenido
aspectos
generales
Alto índice de actividad en el tráfico de
información entre memoria central y
introducción
memoria auxiliar
paginación

segmentación
Se produce cuando un proceso emplea
conclusiones activamente un número determinado de
páginas y tiene asignado un número
menor de marcos.

Se producen fallos de página frecuentes.

La hiperpaginación reduce el rendimiento


del sistema
virtual paginación por demanda
hiperpaginación (thrashing)
Contenido
aspectos
generales
Si se emplea estrategia de
introducción
asignación global de marcos:
paginación  no existe restricción en el número de
segmentación marcos asignado a un proceso
conclusiones
 un programa puede tomar bastantes
marcos de otros procesos
 estos procesos producirán muchos
fallos de página (hiperpaginación)
 Solución: reducir el grado de
multiprogramación
virtual paginación por demanda
hiperpaginación (thrashing)
Contenido
aspectos
generales
Si se emplea estrategia de
introducción
asignación local de marcos:
 los procesos tienen asignados un
paginación
número fijo de marcos
segmentación
 un proceso puede necesitar más
conclusiones marcos de los asignados provocando
fallos de página frecuentes
 puede ralentizar al paginador
 otros procesos que no sufren de
hiperpaginación tardarán más en
cargar sus páginas
 Solución: asignar a cada proceso los
marcos que necesite
virtual paginación por demanda
modelización de la utilización de memoria
Contenido
aspectos
generales
No se sabe a priori cuántos marcos
introducción
necesitará un proceso, por lo que
se intenta modelizar la utilización
paginación
de la memoria:
segmentación

conclusiones
 controlar la frecuencia de fallos de
página

 modelo del conjunto de trabajo


virtual paginación por demanda
control de la frecuencia de fallos
Contenido
aspectos
generales
Se establecen límites superior e
introducción
inferior para la tasa de fallos
permitida
paginación

segmentación
Si se excede el límite superior, se
asignan más marcos al proceso
conclusiones
Si cae por debajo del límite
inferior, se liberan marcos
Un proceso puede llegar a
suspenderse si se queda con muy
pocos marcos, al haberlos cedido a
otros procesos
virtual paginación por demanda
modelo del conjunto de trabajo
Contenido
aspectos
generales
Se basa en el principio de localidad:
introducción
a medida que progresa la ejecución
de un programa, las referencias a
paginación
memoria evolucionan de una
segmentación
localidad a otra
conclusiones
Al conjunto de páginas que se
utilizan en cada momento se le
denomina conjunto de trabajo
Estas páginas no son conocidas a
priori
El modelo del conjunto de trabajo
intenta estimarlas a partir del
pasado reciente
virtual paginación por demanda
modelo del conjunto de trabajo
Contenido
aspectos El conjunto de trabajo es el conjunto de
generales
página de las últimas n referencias a
introducción memoria (ventana del conjunto de
paginación trabajo)
segmentación 26157777516234123444343444132344434443
conclusiones n=10 t n=10 t
1 2
CT1={1,2,5,6,7}
CT2={3,4}
Si TCTi es el tamaño de cada conjunto de
trabajo, el número total de marcos
demandados es D=(TCTi)
Si M es el número de marcos de la
memoria, si D>M se produce
hiperpaginación
virtual paginación por demanda
implementación de la tabla de páginas
Contenido
Dirección virtual Dirección física
p
aspectos
p Tabla de página multinivel
generales
1 2 d m d
 Cuando las tablas de páginas son muy
introducción grandes, se pueden usar 2 o más niveles de
paginación
paginación
Tabla
 La tabla de páginas estará paginada
de páginas
segmentación
 Se realizan más accesos a memoria
conclusiones
Tabla de páginas
Tabla invertida Memoria
p1  Cuando el de
espacio virtual es muchoprincipal
mayor
páginas
que el físico la tabla de páginas puede ocupar
mucha memoria
 La tabla se indexa por número de marco en
lugar de ppor
2
m
número de página
 La traducción es mucho más difícil: hay que
buscar una combinación (identificador de
proceso, número de página) coincidente
virtual paginación por demanda
implementación de la tabla de páginas
Contenido
aspectos
generales Tabla de páginas en memoria:
introducción  El MMU sabe la posición de memoria
paginación donde está la tabla de páginas del
segmentación
proceso: registro base de la tabla de
páginas (PTBR) y registro de longitud
conclusiones
de la tabla de páginas (PTLR)
 Obtiene el marco asociado
 Construye la dirección física
 Accede a memoria física
 Se realizan dos accesos a memoria
principal
virtual paginación por demanda
implementación de la tabla de páginas
Contenido
aspectos
generales Tablas en registros dedicados:
introducción  Para que la búsqueda sea más rápida,
paginación todas las tablas están en una memoria
segmentación
caché
conclusiones
 Tiene alto coste
 Se realiza un acceso a caché y otro a
memoria principal
virtual paginación por demanda
implementación de la tabla de páginas
Contenido
aspectos
generales Buffers de traducción anticipada
introducción (TLBs: Translation Look-aside
paginación Buffers):
segmentación  Las tablas se contienen parcialmente
conclusiones en caché (los descriptores más
recientemente utilizados)
 Si no se encuentra en caché, se busca
en la memoria principal
 Si hay acierto en la caché, se realiza
un acceso a caché y otro a principal.
Si no hay acierto, se accede una vez a
caché y dos veces a memoria principal
virtual segmentación por demanda
Contenido
aspectos
generales

introducción

paginación

segmentación

conclusiones

segmentación por demanda


virtual segmentación por demanda
Contenido
aspectos
generales
En memoria principal se encuentran los
segmentación
segmentos en uso
introducción
dirección lógica

paginación
La tablas de segmentos d incorpora además
CPU
de los registros base y límite, los bits de
segmentación
validez, referencia tabla de y modificación
segmentos Memoria
Límite Base
conclusiones principal
Si se accede a un segmento que está
fuera de memoria se produce una
interrupción por fallo de segmento
La asignación se produce sobre zonas
libres de tamaño suficiente:
d < límite
SI
d + base
dirección
física

 si no hubiera espacio
NO libre, se compacta
error de protección
 si no fuera suficiente, se utilizan técnicas
similares a las de paginación (FIFO, LRU,…)

También podría gustarte