Sistemas operativos modernos
algoritmo óptimo, por más esfuerzo que se invierta en buscar un mejor algoritmo lo más que se conseguirá será una mejora del 1 %. A fin de evitar confusiones, conviene aclarar que este registro de referencias a páginas sólo es válido para el programa que se acaba de medir y sólo si se procesan las mismas entradas. Por lo tanto, el algoritmo de reemplazo de páginas que se deduzca de la medición será especí fico para ese programa y esos datos de entrada. Aunque este método es úfil para evaluar algo ritmos de reemplazo de páginas, no sirve de mucho en sistemas prácficos. A confinuación estudiaremos algoritmos que sí son úfiles en sistemas reales. 4.4.2 El algoritmo de reemplazo de páginas no usadas recientemente Para que el sistema operativo pueda recabar estadísficas úfiles acerca de cuáles páginas se están usando y cuáles no, casi todas las computadoras con memoria virtual asocian a cada página dos bits de estado. R se enciende cada vez que se hace referencia a la página (para leer o escribir). M se enciende cada vez que se escribe en la página (es decir, se modifica). Los bits están incluidos en la entrada correspondiente de la tabla de páginas, como se muestra en la figura 4-13. Es importan te tener en cuenta que dichos bits deben actualizarse en cada referencia a la memoria, por lo que es indispensable que sea el hardware el que los encienda. Una vez que un bit haya sido encen dido, conservará el valor 1 hasta que el sistema operativo lo restablezca a Omediante software. Si el hardware no cuenta con estos bits, pueden simularse como sigue. Cuando se inicia un proceso, todas sus entradas en la tabla de páginas se marcan como no presentes en la memoria. Tan pronto como se haga referencia a una página, habrá un fallo de página. Entonces el sistema operativo encenderá el bit R (en sus tablas internas), modificará la entrada de la tabla de páginas de modo que apunte a la página correcta, con modo de SÓLO LECTURA, y reiniciará la instruc ción. Si después se escribe en la página, habrá otro fallo de página, lo que permitirá al sistema operativo encender el bit M y cambiar el modo de la página a LECTURA/ESCRITURA. Los bits R y M pueden servir para elaborar un algoritmo de reemplazo de páginas sencillo. Cuando se inicia un proceso, el sistema operativo establece a cero ambos bits para todas sus páginas. En forma periódica (por ejemplo, en cada interrupción de reloj), el bit R se establece a Opara distinguir las páginas que no se han solicitado últimamente. Cuando se presenta un fallo de página, el sistema operativo examina todas las páginas y las divide en cuatro categorías con base en los valores actuales de sus bits R y M: Clase 0: no solicitada, no modificada. Clase 1: no solicitada, modificada. Clase 2: solicitada, no modificada. Clase 3: solicitada, modificada. Aunque a primera vista parece imposible que alguna página pertenezca a la clase 1, esto ocu rre cuando una interrupción de reloj apaga el bit R de una página de la clase 3. Las interrup ciones de reloj no apagan el bit M porque esta información es necesaria para saber si la página debe rescribirse en disco o no. Apagar R pero no M da pie a una página de clase 1.
RkJQdWJsaXNoZXIy MjI4NDcx