operating-system - meaning - paging telecom
Tablas de páginas multinivel-paginación jerárquica (2)
Como la tabla de páginas debe caber en una página, el tamaño de la tabla de páginas es de 2048 bytes y cada entrada es de 4 bytes, por lo que una tabla contiene 2048/4 = 512 entradas. Para direccionar 512 entradas requiere log2 (512) = 9 bits. El número total de bits disponibles para codificar la entrada para cada nivel de página es 64-log2 (2048) = 53 bits (el número de bits de espacio de dirección menos los bits de desplazamiento de página). Por lo tanto, el número total de niveles requeridos es 53/9 = 6 (redondeado hacia arriba).
El tamaño predeterminado de la tabla de páginas x86-64 es de 4096 bytes, cada tabla de página debe caber en una página y la entrada de la tabla de páginas es de 8 bytes. Las CPU actuales solo implementan 48 bits de espacio de direcciones virtuales. ¿Cuántos niveles de tabla de páginas se requieren?
Ejemplo de pregunta de un sistema operativo pasado, ¿cómo calculo este tipo de pregunta?
Una computadora tiene un espacio de direcciones virtuales de 64 bits y páginas de 2048 bytes. Una entrada de tabla de página toma 4 bytes. Se utiliza una tabla de páginas de varios niveles porque cada tabla debe estar contenida dentro de una página. ¿Cuántos niveles se requieren?
¿Cómo podría calcular esto?
- Dirección lógica bit = 64,
- El número de páginas será = 2 ^ 64/2048 = 2 ^ 64/2 ^ 11 = 2 ^ 53
- Las páginas que tenemos de entrada son de la tabla de la página = 4 bytes,
- El número de entrada en 1 página será = 2048/4 => 512,
- bit Para representar una entrada = Log (512) = 9bit,
- y el bit para la página es = 53 bits
- Por lo tanto, Número de nivel = 53/9 => Tabla de páginas de 6 niveles