Pregunta

Estoy leyendo el libro "sistema operativo moderno". Y yo estoy confundido acerca de la "Tamaño de página".

En el libro, el autor dice:

  

La dirección virtual de 16 bits de entrada es   dividido en un número de página de 4 bits y   12 bits compensado. Con 4 bits para el   número de página, que puede tener 16 páginas, y   con 12 bits para el desplazamiento, podemos   frente a los 4096 bytes dentro de una   página.

¿Por qué 4096 bytes? Con 12 bits, podemos hacer frente a 4096 entradas dentro de una página, correcta. Pero, una entrada es una dirección (en este caso, el tamaño de dirección de = 16 bits). Así que creo que podemos hacer frente a 4096 (entrada) * 16 (bit) = 4096 (entrada) * 2 (bytes) = 8 KB, pero ¿por qué el libro dice que poder tratar (4096 bytes)?

Gracias de antemano! :)

¿Fue útil?

Solución

Esto es suponiendo byte-dirigida memoria (que casi todas las máquinas de hecho en los últimos 30 años usos), por lo que cada dirección se refiere a un byte, no una entrada o la dirección o cualquier otro valor más grande. Para mantener un valor de 16 bits, tendrá dos direcciones consecutivas (dos bytes).

Hace más de 30 años, solía ser máquinas que eran abordados palabra, que trabajaban como usted conjetura. Pero este tipo de máquinas tuvieron un momento difícil tratar con datos orientados a bytes (como caracteres ASCII), y así han caído en desuso. Hoy en día, las cosas como direccionamiento de byte, de 8 bits y bytes enteros complemento a dos se asumieron prácticamente sólo.

Otros consejos

Los 12 bits están un desplazamiento dentro de una página. Los está descentrado en bytes, no aborda. 2 ^ 12 es 4.096.

Lo que se está calculando es el tamaño de la página, es decir, el tamaño de una página en la tabla de páginas en la memoria. Como se utiliza 12 bits para el desplazamiento, cada trama en la memoria física es 2 ^ 12 = 4096K. Sin embargo, cada página de la tabla de páginas ocupa 2 ^ 12 entradas x 2 bytes = 8K en la memoria.

bien por lo que tiene 16 bits de direcciones virtuales permiten ver lo que significa .Es significa que tiene 2 ** 16 = 65536 bytes.

número de página 4 bits que significa que hay 16 páginas como 2 ^ 4 = 16 Ahora Nombre las páginas como Página 1, página 2 ... página 16.

Ahora nos queda 12bits Veamos cuántos dirección de 12 bits pueden representar 2 ** 12 = 4096 bytes

65536 bytes podría también lograrse mediante su división en 16 páginas que contienen 4096 bytes cada uno como 4,096 * 16 = 65536

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top