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.