Multi-niveau de la page des tables hiérarchiques de pagination
Exemple question d'un ancien système d'exploitation final, comment dois-je calculer ce genre de question?
Un ordinateur 64 bits espace d'adressage virtuel et 2048 octets pages. Une entrée de table de page prend 4 octets. Un multi-niveau de la table des pages est utilisé parce que chaque tableau doit être contenu dans une page. Combien de niveaux sont nécessaires?
Comment la calculer?
OriginalL'auteur Bobby S | 2011-04-05
Vous devez vous connecter pour publier un commentaire.
Depuis la page table doit s'intégrer dans une page, la taille de la table est de 2048 octets, et chaque entrée est de 4 octets donc une table contient 2048/4=512 entrées. À l'adresse 512 entrées il exige log2(512)=9 bits. Le nombre total de bits disponibles pour encoder l'entrée pour chaque niveau de la page est de 64-log2(2048)=53 bits (le nombre de bits de l'adresse de l'espace de moins la page décalage de bits). Ainsi, le nombre total de niveaux requis est 53/9=6 (arrondi au supérieur).
Le x86-64 page par défaut de la taille de la table est de 4096 octets, chaque page de la table doit s'intégrer dans une page et une page d'entrée de la table est de 8 octets. Les Processeurs actuels seulement de mettre en œuvre les 48 bits de l'espace d'adressage virtuel. Combien de page de la table sont nécessaires?
Depuis le 2048 est exprimée en octets, ne devrait-elle pas être converti bits, ce qui en ferait 50/9 = 6 arrondis?
Non, parce que vous avez ce qu'il faut savoir combien de bits sont nécessaires pour répondre à 2048 octets et pas bits.
J'ai peut-être répondu en 2014, mais un grand MERCI!!
OriginalL'auteur bsantos
OriginalL'auteur Jay Singh