Sistemas operativos
Sistemas operativos
Tema 8: Memoria virtual
Memoria virtual
Memoria virtual
►
► Conjunto de tConjunto de téécnicas que permiten ejecutar procesos que cnicas que permiten ejecutar procesos que no se no se encuentran completamente cargados en memoria
encuentran completamente cargados en memoria.. ►
► Principio de cercanPrincipio de cercaníías:as: las referencias a memoria tienden a agruparse.las referencias a memoria tienden a agruparse.
EjecuciEjecucióón de instrucciones en secuencia, acceso a tablas, bucles, etc.n de instrucciones en secuencia, acceso a tablas, bucles, etc.
►
► Muchos programas contienen cMuchos programas contienen cóódigo para digo para opciones poco utilizadasopciones poco utilizadas, , que no hay por qu
que no hay por quéé tener siempre en memoria.tener siempre en memoria.
localidad(t1) Direccion es accedidas t t1
Memoria virtual
Memoria virtual
►
►
Las partes de un proceso que no se est
Las partes de un proceso que no se est
é
é
n utilizando en un
n utilizando en un
momento dado pueden guardarse
momento dado pueden guardarse
en almacenamiento
en almacenamiento
secundario
secundario
(t
(t
í
í
picamente, en un disco duro).
picamente, en un disco duro).
Se cargan y descargan partes segSe cargan y descargan partes segúún sea necesario.n sea necesario.
►
►
Cada proceso ocupa menos memoria
Cada proceso ocupa menos memoria
Æ
Æ
se puede
se puede
incrementar el
incrementar el
grado de multiprogramaci
grado de multiprogramaci
ó
ó
n
n
y el
y el
aprovechamiento de la CPU
aprovechamiento de la CPU
.
.
En teorEn teoríía, para ejecutar un proceso llega con tener en memoria a, para ejecutar un proceso llega con tener en memoria la la siguiente instrucci
siguiente instruccióónn y y los datoslos datos que que éésta vaya a utilizar.sta vaya a utilizar.
En la prEn la prááctica, se intenta ctica, se intenta aproximar la localidadaproximar la localidad del proceso.del proceso.
Conjunto residente:Conjunto residente: parte del espacio lparte del espacio lóógico de un proceso que se gico de un proceso que se encuentra en la memoria principal.
Memoria virtual
Memoria virtual
►
►
Los procesos no est
Los procesos no est
á
á
n limitados por el tama
n limitados por el tama
ñ
ñ
o de
o de
la memoria principal.
la memoria principal.
Antes, para ejecutar procesos muy grandes se recurr
Antes, para ejecutar procesos muy grandes se recurr
í
í
a a
a a
la programaci
la programaci
ó
ó
n de
n de
superposiciones (
superposiciones (
overlays
overlays
)
)
.
.
►
►Esta tEsta téécnica ha quedado relegada a sistemas empotrados y/o cnica ha quedado relegada a sistemas empotrados y/o de tiempo real.
de tiempo real.
►
►
Al no tener que cargar o intercambiar procesos
Al no tener que cargar o intercambiar procesos
enteros,
Inconvenientes
Inconvenientes
►
►
Complejidad elevada:
Complejidad elevada:
¿
¿
C
C
ó
ó
mo repartir la memoria entre los procesos?
mo repartir la memoria entre los procesos?
¿
¿
Cu
Cu
á
á
ntos procesos pueden residir en memoria
ntos procesos pueden residir en memoria
simult
simult
á
á
neamente?
neamente?
¿
¿
Qu
Qu
é
é
partes de los procesos cargar o
partes de los procesos cargar o
descargar?
descargar?
►
►
Rendimiento:
Rendimiento:
Esquemas de memoria virtual
Esquemas de memoria virtual
►
►
Se puede implementar memoria virtual con
Se puede implementar memoria virtual con
cualquier esquema de
cualquier esquema de
reubicaci
reubicaci
ó
ó
n din
n din
á
á
mica
mica
y
y
asignaci
asignaci
ó
ó
n no contigua
n no contigua
.
.
M
M
á
á
s f
s f
á
á
cil con esquemas que paginan la
cil con esquemas que paginan la
memoria.
memoria.
Los algoritmos se complican con segmentos de
Los algoritmos se complican con segmentos de
tama
tama
ñ
ñ
o variable.
o variable.
►
►
El esquema m
El esquema m
á
á
s frecuente es la
s frecuente es la
paginaci
Paginaci
Paginaci
ó
ó
n bajo
n bajo
demanda
Paginaci
Paginaci
ó
ó
n bajo demanda
n bajo demanda
►
►
Paginaci
Paginaci
ó
ó
n +
n +
paginador
paginador
perezoso
perezoso
.
.
No se carga una p
No se carga una p
á
á
gina en memoria hasta que una
gina en memoria hasta que una
instrucci
instrucci
ó
ó
n necesita acceder a ella.
n necesita acceder a ella.
A B C D E Proceso A B D E Disco C MP A C Memoria virtual paginada
Soporte
Soporte
hardware
hardware
►
►
La traducci
La traducci
ó
ó
n de direcciones l
n de direcciones l
ó
ó
gicas sigue el
gicas sigue el
mismo esquema
mismo esquema
que la
que la
paginaci
paginaci
ó
ó
n
n
…
…
…
…
s
s
ó
ó
lo que puede haber
lo que puede haber
m
m
á
á
s bits en el campo p
s bits en el campo p
de la direcci
de la direcci
ó
ó
n l
n l
ó
ó
gica.
gica.
►
►
Las p
Las p
á
á
ginas en memoria y las que est
ginas en memoria y las que est
á
á
n en
n en
disco se distinguen
disco se distinguen
con el
con el
bit
bit
de validez
de validez
:
:
1
1
Æ
Æ
p
p
á
á
gina v
gina v
á
á
lida y cargada en memoria.
lida y cargada en memoria.
Soporte
Soporte
hardware
hardware
►
► Al encontrar V=0, el SO comprueba si se trata de un Al encontrar V=0, el SO comprueba si se trata de un acceso invacceso inváálidolido o o un
un fallo de pfallo de pááginagina en la rutina de atencien la rutina de atencióón a la TRAP.n a la TRAP. ►
► A menudo, las entradas con V=0 contienen la direcciA menudo, las entradas con V=0 contienen la direccióón de disco donde n de disco donde se almacena la p
se almacena la páágina correspondiente.gina correspondiente. A B C D E Proceso A B D E Disco C MP A C Tabla de páginas -0 -0 -0 -0 -0 3 1 -0 1 1
Tama
Tama
ñ
ñ
o de la tabla de p
o de la tabla de p
á
á
ginas
ginas
►
►
Con memoria virtual, la tabla de p
Con memoria virtual, la tabla de p
á
á
ginas puede volverse
ginas puede volverse
extremadamente grande
extremadamente grande
.
.
Ejemplo:Ejemplo: memoria virtual de 64GB, pmemoria virtual de 64GB, pááginas de 4KB y 4 ginas de 4KB y 4
bytes
bytes
por por entradaentrada ÆÆ tablas de 64tablas de 64MB (en memoria real) por proceso.MB (en memoria real) por proceso.
►
►
Posibles soluciones:
Posibles soluciones:
PaginaciPaginacióón n multinivelmultinivel::
►
► SSóólo tiene que estar siempre en memoria la tabla de plo tiene que estar siempre en memoria la tabla de pááginas externa.ginas externa. ►
► Las tablas de pLas tablas de pááginas internas pueden alojarse en disco mientras no se ginas internas pueden alojarse en disco mientras no se
utilizan.
utilizan.
SegmentaciSegmentacióón paginada:n paginada:
►
► SSóólo tiene que estar siempre en memoria la tabla de segmentos.lo tiene que estar siempre en memoria la tabla de segmentos. ►
► Las tablas de pLas tablas de pááginas de cada segmento pueden alojarse en disco ginas de cada segmento pueden alojarse en disco
mientras no se utilizan.
mientras no se utilizan.
Tabla de pTabla de pááginas invertida:ginas invertida:
►
► El SO debe mantener tablas con informaciEl SO debe mantener tablas con informacióón sobre las pn sobre las pááginas que no ginas que no
est
El fallo de p
El fallo de p
á
á
gina
gina
►
►
Ante un fallo de p
Ante un fallo de p
á
á
gina, hay que
gina, hay que
localizar la p
localizar la p
á
á
gina
gina
solicitada en el disco,
solicitada en el disco,
cargarla
cargarla
en memoria y
en memoria y
reiniciar la
reiniciar la
instrucci
instrucci
ó
ó
n
n
.
.
Es un proceso de duraciEs un proceso de duracióón potencialmente muy larga y variable, n potencialmente muy larga y variable, principalmente por las operaciones de E/S.
principalmente por las operaciones de E/S.
►
►
El repertorio de instrucciones puede plantear ciertos
El repertorio de instrucciones puede plantear ciertos
desaf
desaf
í
í
os, por la dificultad de deshacer los efectos de una
os, por la dificultad de deshacer los efectos de una
instrucci
instrucci
ó
ó
n parcialmente ejecutada.
n parcialmente ejecutada.
MOV (R1)+,DIR:MOV (R1)+,DIR: copiar en DIR el contenido de la posicicopiar en DIR el contenido de la posicióón de n de memoria apuntada por R1, e incrementar R1.
memoria apuntada por R1, e incrementar R1. ►
► Si ocurre un fallo de pSi ocurre un fallo de páágina al intentar acceder a DIR, hay que gina al intentar acceder a DIR, hay que
devolver R1 a su valor anterior.
Rendimiento
Rendimiento
►
►
t
t
acac:
:
tiempo de acceso sin memoria virtual (en paginaci
tiempo de acceso sin memoria virtual (en paginaci
ó
ó
n,
n,
doble del tiempo de acceso a una palabra de la memoria).
doble del tiempo de acceso a una palabra de la memoria).
►
►
p:
p:
probabilidad de fallo de p
probabilidad de fallo de p
á
á
gina.
gina.
►
►
t
t
fpfp:
:
tiempo medio de atenci
tiempo medio de atenci
ó
ó
n a un fallo de p
n a un fallo de p
á
á
gina.
gina.
►
►
Tiempo de acceso efectivo medio:
Tiempo de acceso efectivo medio:
►
►
Para
Para
t
t
acac=1
=1
μ
μ
s y
s y
t
t
fpfp=10ms, una degradaci
=10ms, una degradaci
ó
ó
n
n
inferior al 10% requiere
inferior al 10% requiere
p<10
p<10
--55.
.
Un fallo de pUn fallo de páágina cada 100000 referencias.gina cada 100000 referencias.
Soporte
Soporte
software
software
►
►
En la rutina de atenci
En la rutina de atenci
ó
ó
n al fallo de p
n al fallo de p
á
á
gina
gina
interviene una cantidad de
interviene una cantidad de
software
software
considerable:
considerable:
Reemplazo:
Reemplazo:
si no hay marcos libres cuando se produce
si no hay marcos libres cuando se produce
un fallo de p
un fallo de p
á
á
gina, hay que desalojar alguna de las que
gina, hay que desalojar alguna de las que
residen en memoria principal.
residen en memoria principal.
Gesti
Gesti
ó
ó
n del conjunto residente:
n del conjunto residente:
decidir cu
decidir cu
á
á
ntos marcos
ntos marcos
se asignan a cada proceso.
se asignan a cada proceso.
Control de carga:
Control de carga:
decidir cu
decidir cu
á
á
ntos procesos se pueden
ntos procesos se pueden
mantener en memoria simult
Reemplazo
Reemplazo
Reemplazo
►
►
Se trata de seleccionar una
Se trata de seleccionar una
p
p
á
á
gina v
gina v
í
í
ctima
ctima
para
para
descargar de la memoria, de entre un conjunto de
descargar de la memoria, de entre un conjunto de
candidatas.
candidatas.
Pueden ser p
Pueden ser p
á
á
ginas del mismo proceso (
ginas del mismo proceso (
reemplazo
reemplazo
local
local
) o de cualquiera (
) o de cualquiera (
reemplazo global
reemplazo global
).
).
►
►
Los distintos algoritmos se eval
Los distintos algoritmos se eval
ú
ú
an sobre
an sobre
cadenas
cadenas
de referencias
de referencias
, fijando el n
, fijando el n
ú
ú
mero de marcos
mero de marcos
disponibles.
disponibles.
Intuitivamente, a mayor n
Intuitivamente, a mayor n
ú
ú
mero de marcos, menor
mero de marcos, menor
n
Algoritmo FIFO
Algoritmo FIFO
►
►
FIFO
FIFO
(
(
First
First
In,
In,
First
First
Out)
Out)
:
:
se reemplaza la p
se reemplaza la p
á
á
gina que lleva
gina que lleva
m
m
á
á
s tiempo en memoria.
s tiempo en memoria.
Ejemplo: Ejemplo: con 3 marcos disponibles,con 3 marcos disponibles, la cadena de referencias la cadena de referencias (5,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,5,0,1) produce 15 fallos de (5,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,5,0,1) produce 15 fallos de p páágina.gina. 1 2 2 2 2 2 3 3 3 3 3 0 0 0 1 1 1 1 -M2 0 0 1 1 1 1 1 2 2 2 2 2 3 3 3 0 0 0 0 -M1 5 5 5 0 0 0 0 0 0 0 4 4 4 2 2 2 2 5 5 5 M0 1 0 5 1 0 2 1 2 3 0 3 2 4 0 3 0 2 1 0 5
Algoritmo FIFO
Algoritmo FIFO
►
►
Ventaja:
Ventaja:
muy f
muy f
á
á
cil de implementar.
cil de implementar.
►
►
Inconvenientes:
Inconvenientes:
El instante de carga
El instante de carga
no es una medida de uso
no es una medida de uso
:
:
la p
la p
á
á
gina sacrificada podr
gina sacrificada podr
í
í
a volver a necesitarse
a volver a necesitarse
pronto.
pronto.
Anomal
Anomal
í
í
a de
a de
Belady
Belady
:
:
existen cadenas de
existen cadenas de
referencias tales que con
referencias tales que con
m
m
marcos se producen
marcos se producen
menos fallos de p
La anomal
La anomal
í
í
a de
a de
Belady
Belady
►
►
Con 3 marcos, la cadena
Con 3 marcos, la cadena
(1,2,3,4,1,2,5,1,2,3,4,5)
(1,2,3,4,1,2,5,1,2,3,4,5)
produce 9 fallos de p
produce 9 fallos de p
á
á
gina.
gina.
►
►
Con 4 marcos, en cambio,
Con 4 marcos, en cambio,
produce 10.
produce 10.
►
►
Los algoritmos que no
Los algoritmos que no
exhiben este
exhiben este
comportamiento se
comportamiento se
denominan
denominan
algoritmos de
algoritmos de
pila
pila
.
.
4 4 2 2 2 2 2 1 1 3 -M2 3 3 3 1 1 1 1 1 2 2 2 -M1 5 5 5 5 5 5 4 4 4 1 1 1 M0 5 4 3 2 1 5 2 1 4 3 2 1 2 2 2 2 3 3 3 3 3 3 -M2 3 3 3 4 4 4 4 4 4 -M3 5 1 1 1 1 2 2 2 2 2 2 -M1 4 4 5 5 5 5 1 1 1 1 1 1 M0 5 4 3 2 1 5 2 1 4 3 2 1Algoritmo
Algoritmo
ó
ó
ptimo
ptimo
►
►
Idealmente, se deber
Idealmente, se deber
í
í
a reemplazar la p
a reemplazar la p
á
á
gina que tardar
gina que tardar
á
á
m
m
á
á
s tiempo en
s tiempo en
referenciarse
referenciarse
.
.
El objetivo es El objetivo es retardar el fallo de pretardar el fallo de pááginagina todo cuanto sea posible.todo cuanto sea posible.
En el mismo ejemplo de antes se producen 9 fallos de pEn el mismo ejemplo de antes se producen 9 fallos de páágina.gina.
1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 1 1 1 -M2 0 0 0 0 0 0 0 0 0 0 4 4 4 0 0 0 0 0 0 -M1 5 5 5 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 M0 1 0 5 1 0 2 1 2 3 0 3 2 4 0 3 0 2 1 0 5
Algoritmo
Algoritmo
ó
ó
ptimo
ptimo
►
►
El algoritmo
El algoritmo
ó
ó
ptimo garantiza
ptimo garantiza
la tasa de fallos de
la tasa de fallos de
p
p
á
á
gina m
gina m
á
á
s baja posible
s baja posible
para un n
para un n
ú
ú
mero de
mero de
marcos dado.
marcos dado.
►
►
Sin embargo, es
Sin embargo, es
dif
dif
í
í
cilmente
cilmente
implementable
implementable
,
,
porque requiere conocer cadenas de referencias
porque requiere conocer cadenas de referencias
futuras.
futuras.
►
►
Se utiliza como
Se utiliza como
patr
patr
ó
ó
n
n
para la evaluaci
para la evaluaci
ó
ó
n de otros
n de otros
algoritmos.
Algoritmo LRU
Algoritmo LRU
►
►
LRU
LRU
(
(
Least
Least
Recently
Recently
Used
Used
)
)
:
:
se reemplaza la p
se reemplaza la p
á
á
gina que
gina que
lleva m
lleva m
á
á
s tiempo sin
s tiempo sin
referenciarse
referenciarse
.
.
Por el principio de cercanPor el principio de cercaníías, se toma el pasado reciente como una as, se toma el pasado reciente como una aproximaci
aproximacióónn del futuro inmediato.del futuro inmediato.
En el ejemplo se producen 12 fallos de pEn el ejemplo se producen 12 fallos de páágina.gina.
5 5 5 2 2 2 2 2 2 2 2 2 3 3 3 1 1 1 -M2 0 0 0 0 0 3 3 3 3 3 3 0 0 0 0 0 0 0 0 -M1 1 1 1 1 1 1 1 0 0 0 4 4 4 2 2 2 2 5 5 5 M0 1 0 5 1 0 2 1 2 3 0 3 2 4 0 3 0 2 1 0 5
Algoritmo LRU
Algoritmo LRU
►
►
LRU es un algoritmo de pila, que suele dar una
LRU es un algoritmo de pila, que suele dar una
buena aproximaci
buena aproximaci
ó
ó
n
n
del algoritmo
del algoritmo
ó
ó
ptimo.
ptimo.
►
►
Inconveniente: implementaciones costosas.
Inconveniente: implementaciones costosas.
Contador
Contador
de referencias a p
de referencias a p
á
á
gina:
gina:
►►En cada referencia, el valor del contador se copia en la entradaEn cada referencia, el valor del contador se copia en la entrada correspondiente de la tabla de p
correspondiente de la tabla de pááginas.ginas. ►
►Se reemplaza siempre la pSe reemplaza siempre la páágina cuya entrada en la tabla tiene gina cuya entrada en la tabla tiene el valor m
el valor máás peques pequeñño.o. ►
►El desbordamiento provoca transitorios de rendimiento muy El desbordamiento provoca transitorios de rendimiento muy pobre
pobre ÆÆ aumentar el naumentar el núúmero de bits del contador.mero de bits del contador.
Pila
Pila
de referencias:
de referencias:
►
►En cada referencia se extrae la pEn cada referencia se extrae la páágina correspondiente de la gina correspondiente de la pila y se pone en la cima.
pila y se pone en la cima.
►
Algoritmo de la 2
Algoritmo de la 2
ª
ª
oportunidad
oportunidad
►
►
Aproximaci
Aproximaci
ó
ó
n de LRU por medio de 1 solo
n de LRU por medio de 1 solo
bit
bit
.
.
Cada vez que se referencia una p
Cada vez que se referencia una p
á
á
gina, se pone R=1 en
gina, se pone R=1 en
la entrada correspondiente de la tabla de p
la entrada correspondiente de la tabla de p
á
á
ginas.
ginas.
►
►
2
2
ª
ª
oportunidad = FIFO +
oportunidad = FIFO +
bit
bit
R.
R.
Al recorrer la cola, se examina el
Al recorrer la cola, se examina el
bit
bit
R:
R:
►
►Si Si R=0R=0, se reemplaza la p, se reemplaza la páágina.gina. ►
►Si Si R=1R=1, se pone R=0 y se pasa la p, se pone R=0 y se pasa la páágina al final de la cola.gina al final de la cola.
►
►
Si R=1 en todas las p
Si R=1 en todas las p
á
á
ginas, el algoritmo de la 2
ginas, el algoritmo de la 2
ª
ª
oportunidad degenera en FIFO.
oportunidad degenera en FIFO.
A
A
ú
ú
n as
n as
í
í
, el rendimiento suele ser considerablemente
, el rendimiento suele ser considerablemente
mejor.
Dirty
Dirty
bit
bit
►
►
Se puede a
Se puede a
ñ
ñ
adir un
adir un
bit
bit
M
M
(
(
dirty
dirty
bit
bit
)
)
, que se activa cuando
, que se activa cuando
se modifica el contenido de la p
se modifica el contenido de la p
á
á
gina correspondiente.
gina correspondiente.
Para valores iguales del Para valores iguales del bitbit R, es mejor sacrificar una pR, es mejor sacrificar una páágina con gina con M=0 porque
M=0 porque no hay que escribirla en discono hay que escribirla en disco..
►
►
Algoritmo de la 2
Algoritmo de la 2
ª
ª
oportunidad mejorado:
oportunidad mejorado:
1.
1. Con FIFO como base, se selecciona para reemplazo la primera Con FIFO como base, se selecciona para reemplazo la primera p
páágina que tenga R=0 y M=0.gina que tenga R=0 y M=0. 2.
2. Si no existe tal pSi no existe tal páágina, se busca la primera pgina, se busca la primera páágina con R=0 y gina con R=0 y M=1.
M=1.
•
• Durante la bDurante la búúsqueda, se pone R=0 en todas las entradas que se squeda, se pone R=0 en todas las entradas que se recorren y se env
recorren y se envíían al final de la cola.an al final de la cola.
3.
Gesti
Gesti
ó
ó
n del conjunto
n del conjunto
residente y control de carga
Gesti
Gesti
ó
ó
n del conjunto residente y
n del conjunto residente y
control de carga
control de carga
►
►
¿
¿
Cu
Cu
á
á
ntos marcos asignar a un proceso?
ntos marcos asignar a un proceso?
El
El
m
m
í
í
nimo
nimo
lo determina el repertorio de instrucciones.
lo determina el repertorio de instrucciones.
►
►E.gE.g. ADD /DIR1,/DIR2,/DIR3 puede necesitar 4 marcos:. ADD /DIR1,/DIR2,/DIR3 puede necesitar 4 marcos: 1 para la propia instrucci
1 para la propia instruccióón, 1 para cada sumando y 1 para el n, 1 para cada sumando y 1 para el resultado.
resultado.
El
El
m
m
á
á
ximo
ximo
lo fija el tama
lo fija el tama
ñ
ñ
o de la memoria principal.
o de la memoria principal.
Pol
Pol
í
í
ticas de asignaci
ticas de asignaci
ó
ó
n:
n:
►
►Fija:Fija: la asignacila asignacióón se decide en el momento de la carga.n se decide en el momento de la carga.
Requiere reemplazo local.Requiere reemplazo local.
►
►Variable:Variable: la asignacila asignacióón se decide dinn se decide dináámicamente.micamente.
Reemplazo local o global.Reemplazo local o global.
►
►
¿
¿
Cu
Cu
á
á
ntos procesos mantener simult
ntos procesos mantener simult
á
á
neamente en
neamente en
memoria?
Hiperpaginaci
Hiperpaginaci
ó
ó
n
n
(
(
thrashing
thrashing
)
)
►
► Si un proceso no dispone de marcos suficientes para su localidadSi un proceso no dispone de marcos suficientes para su localidad, pasa , pasa m
máás tiempo en fallo de ps tiempo en fallo de páágina que ejecutgina que ejecutáándose ndose ÆÆ hiperpaginacihiperpaginacióónn.. ►
► Con Con asignaciasignacióón fijan fija, la hiperpaginaci, la hiperpaginacióón afecta a n afecta a procesos aisladosprocesos aislados.. ►
► Con Con asignaciasignacióón variable y reemplazo globaln variable y reemplazo global, se produce , se produce a nivel de a nivel de sistema
sistema cuando la suma de las localidades de todos los procesos no cuando la suma de las localidades de todos los procesos no cabe en la memoria.
cabe en la memoria.
En ese caso, la utilizaciEn ese caso, la utilizacióón de la CPU cae drn de la CPU cae dráásticamente.sticamente.
Hay que suspender procesos, descargando su conjunto residente.Hay que suspender procesos, descargando su conjunto residente.
hiperpaginación
Grado de multiprogramación
Modelo del conjunto de trabajo
Modelo del conjunto de trabajo
►
►
Se define el
Se define el
conjunto de trabajo
conjunto de trabajo
(
(
working
working
set
set
, WS)
, WS)
de un proceso como el conjunto de p
de un proceso como el conjunto de p
á
á
ginas en sus
ginas en sus
ú
ú
ltimas
ltimas
Δ
Δ
referencias a memoria.
referencias a memoria.
WS una
WS una
aproximaci
aproximaci
ó
ó
n de la localidad
n de la localidad
del proceso.
del proceso.
Se puede
Se puede
aproximar
aproximar
con
con
interrupciones peri
interrupciones peri
ó
ó
dicas, a
dicas, a
partir de los bits R de la tabla de p
partir de los bits R de la tabla de p
á
á
ginas.
ginas.
WS={0,1,2,3,4} 5 5 6 6 5 5 1 1 1 6 6 1 5 3 2 3 4 3 1 0 2 Δ Δ WS={5,6}