Sistemas operativos modernos
Campo de comparación Número Página Marco de de segmento virtual página Protección Edad ¿La entrada se usa? 4 1 7 Leer/escribir 13 1 6 0 2 Sólo lectura 10 1 12 3 1 Leer/escribir 2 1 0 2 1 0 Sólo ejecutar 7 1 2 2 12 Sólo ejecutar 9 1 Figura 4-42. Versión simplificada del TLB de MULTICS. La existencia de dos tama ños de página hace que el TLB real sea más complicado. Las direcciones de las 16 páginas a las que se hizo referencia más recientemente se con servan en el TLB. Los programas cuyo conjunto de trabajo es menor que el tamaño del TLB alcanzarán un equilibrio en el que las direcciones de todo el conjunto de trabajo están en el TLB y, por tanto, operarán de manera eficiente. Si la página no está en el TLB, se hace refe rencia a las tablas de descriptores y de páginas para hallar la dirección del marco de página, y el TLB se actualizará para incluir esta página, desalojando la menos recientemente usada. El campo de edad lleva el control de cuál entrada es la menos recientemente usada. Se usa un TLB para poder comparar el número de segmento y de página de todas las entradas en paralelo. 4.8.3 Segmentación con paginación: Pentium de Intel En muchos sentidos, la memoria virtual del Pentium se parece a la de MULTICS, incluida la presencia tanto de segmentación como de paginación. Mientras que MULTICS tiene 256K seg mentos independientes, cada uno de hasta 64K palabras de 36 bits, el Pentium tiene segmentos independientes de 16K, cada uno de los cuales contiene hasta mil millones de palabras de 32 bits. Aunque hay menos segmentos, el tamaño mayor de los segmentos es mucho más impor tante, pues pocos programas necesitan más de 1000 segmentos, pero muchos programas nece sitan segmentos grandes. El corazón de la memoria virtual del Pentium consta de dos tablas, la tabla de descripto res locales (LDT; local descriptor table) y la tabla de descriptores globales (GDT; global descriptor table). Cada programa tiene su propia LDT, pero sólo hay una GDT, compartida por todos los programas de la computadora. La LDT describe los segmentos que son locales para cada programa e incluyen su código, datos, pila y demás, mientras que la GDT describe seg mentos de sistema, que incluyen al sistema operativo mismo. Para tener acceso a un segmento, un programa Pentium primero carga un selector para ese segmento en uno de los seis registros de segmento de la máquina. Durante la ejecución, el re gistro CS contiene el selector del segmento de código y el registro DS contiene el selector del
RkJQdWJsaXNoZXIy MjI4NDcx