Sistemas operativos modernos
La forma de resolver este dilema es usar el TLB. Si éste puede contener todas las páginas que se usan mucho, la traducción puede ser tan rápida como con las tablas de páginas norma les. Sin embargo, cuando hay un fallo de TLB, tendrá que examinarse por software la tabla de páginas invertida. Una forma factible de efectuar esta búsqueda es tener una tabla de hash so bre la dirección virtual. Todas las páginas virtuales que estén en ese momento en la memoria y tengan el mismo valor de hash están enlazadas, como se muestra en la figura 4-15. Si la tabla de hash tiene tantas ranuras como la máquina tiene marcos de página físicos, las cadenas ten drán una longitud media de una sola entrada, lo cual acelerará en forma considerable la corres pondencia. Una vez hallado el número de marco, se colocará en el TLB el nuevo par (virtual, física). Tabla de páginas tradicional con una entrada por cada una de las 2^2 páginas 252-1 Una memoria física de 256 MB tiene 2’®marcos de página de 4 KB Tabla de hash 216-1 b------i r y ✓ — — 1 t --------1 ~i---- 1 Indizada por página virtual Indizada por hash sobre página virtual Página virtual Marco de página Figura 4-15. Comparación entre una tabla de páginas tradicional y una invertida. En la actualidad, las tablas de páginas invertidas se usan en algunas estaciones de trabajo IBM y Hewlett-Packard y se volverán más comunes a medida que se generalice el uso de má quinas de 64 bits. Se presentan otros enfoques para manejar memorias virtuales grandes en Huck y Hays (1993), Talluri y Hill (1994) y Talluri et al. (1995). 4.4 ALGORITMOS PARA REEMPLAZO DE PAGINAS Cuando se presenta un fallo de página, el sistema operativo tiene que escoger la página que de salojará de la memoria para hacer espacio para colocar la página que traerá del disco. Si la pá gina a desalojar fue modificada mientras estaba en la memoria, deberá rescribirse en el disco para actualizar la copia. En cambio, si la página no se ha modificado (por ejemplo, si contiene texto de programa), la copia en disco ya estará actualizada y no será necesario rescribirla. La nueva página simplemente sobrescribe la que se está desalojando. Aunque sería posible escoger una página al azar para desalojarla cuando haya un fallo de página, el desempeño del sistema mejora mucho si se escoge una página que no se usa mucho.
RkJQdWJsaXNoZXIy MjI4NDcx