Vous êtes sur la page 1sur 22

3.4.

8 El algoritmo de reemplazo de pginas:


conjunto de trabajo
El conjunto de pginas que utiliza un
proceso en un momento dado se conoce
como su conjunto de trabajo
Si todo el conjunto de trabajo est en
memoria, el proceso se ejecutar sin
producir muchos fallos hasta que avance
a otra fase de ejecucin
Si la memoria disponible es demasiado
pequea como para contener todo el
conjunto de trabajo completo, el proceso
producir muchos fallos de pgina y se
ejecutar lentamente, ya que para ejecutar
una instruccin se requieren unos cuantos
nanosegundos y para leer una pgina del
disco se requieren en general 10
milisegundos
Por lo tanto, muchos sistemas de
paginacin tratan de llevar la cuenta del
conjunto de trabajo
de cada proceso y se aseguran que est
en memoria antes de permitir que el
proceso se ejecute. Este
mtodo se conoce como modelo del
conjunto de trabajo
Al proceso de cargar las pginas antes de
permitir que se ejecuten los procesos
tambin se le conoce como
prepaginacin

La prepaginacin consiste en cargar estas
pginas antes de reanudar el proceso.
Para implementar el modelo del conjunto
de trabajo, es necesario que el sistema
operativo lleve la cuenta de cules
pginas estn en el conjunto de trabajo.
Tener esta informacin tambin nos
conduce de inmediato a un posible
algoritmo de reemplazo de pginas:
cuando ocurra un fallo de
pgina, hay que buscar una pgina que no
se encuentre en el conjunto de trabajo y
desalojarla.

En la figura 3-20 vemos una porcin de
una tabla de pginas para cierta mquina.
Ya que slo las pginas que estn
en memoria se consideran como
candidatos para el desalojo, este
algoritmo ignora las pginas que
no estn en la memoria. Cada entrada
contiene (al menos) dos elementos clave
de informacin: el tiempo (aproximado)
que se utiliz la pgina por ltima vez y el
bit R (referenciada). El rectngulo vaco
de color blanco simboliza los dems
campos que no necesita este algoritmo,
como el nmero
de marco de pgina, los bits de proteccin
y el bit M (modificado).

3.4.9 El algoritmo de reemplazo de
pginas WSClock
Al algoritmo bsico del conjunto de trabajo
es incmodo ya que exige explorar toda la
tabla de pginas
en cada fallo de pgina hasta localizar un
candidato adecuado. Un algoritmo
mejorado, basado
en el algoritmo de reloj pero que tambin
utiliza la informacin del conjunto de
trabajo, se
conoce como WSClock
La estructura de datos necesaria es una
lista circular de marcos de pgina, como
en el algoritmo
de reloj, mostrada en la figura 3-21(a). Al
principio, esta lista est vaca.
Cada entrada contiene el campo Tiempo
de ltimo uso del algoritmo bsico del
conjunto
de trabajo, as como el bit R (mostrado) y
el bit M (no mostrado).
Al igual que con el algoritmo de reloj, en
cada fallo de pgina se examina primero
la pgina a
la que apunta la manecilla. Si el bit R es 1,
la pgina se ha utilizado durante el pulso
actual, por lo
que no es candidata ideal para la
eliminacin. Despus el bit R se establece
en 0,

El estado despus de esta
secuencia de eventos se muestra en la
figura 3-21(b).
Ahora considere lo que ocurre si la pgina
a la que apunta la manecilla tiene R 0,
como se
muestra en la figura 3-21(c).
Si la edad es mayor que y la pgina est
limpia, significa que no se encuentra en el
conjunto de trabajo y existe una copia
vlida en el disco. El marco de pgina
simplemente se reclama y la nueva pgina
se coloca ah, como se muestra en la
figura 3-21(d). Por otro lado, si la pgina
est sucia no se puede reclamar de
inmediato, ya que no hay una copia vlida
presente en el disco.
Para reducir el trfico de disco se podra
establecer un lmite para permitir que se
escriban de vuelta un mximo de n
pginas. Una vez que se llega a este
lmite, no se planifican nuevas escrituras.
Qu ocurre si la manecilla llega otra vez
a su punto inicial? Hay dos casos a
considerar:
1. Se ha planificado por lo menos una
escritura.
2. No se han planificado escrituras.

En el primer caso, la manecilla slo sigue
movindose, buscando una pgina limpia.
Como se han
planificado una o ms escrituras, en algn
momento se completar alguna escritura y
su pgina se
marcar como limpia. La primera pgina
limpia que se encuentre se desaloja
En el segundo caso, todas las pginas
estn en el conjunto de trabajo, de otra
manera se hubiera planificado por lo
menos una escritura. Sin informacin
adicional, lo ms simple por hacer es
reclamar cualquier pgina limpia y usarla.
La ubicacin de una pgina limpia podra
rastrearse durante el barrido. Si no existen
pginas limpias, entonces se selecciona la
pgina actual como la vctima y se escribe
de vuelta al disco.

Vous aimerez peut-être aussi