Qu'est-ce que la page d'entrée de la table de la taille?
J'ai trouvé cet exemple.
Envisager un système avec une version 32 bits de l'adresse logique de l'espace. Si la page
taille dans un tel système est de 4 KO (2^12), puis une page de table peut consister en
jusqu'à 1 million d'entrées (2^32/2^12). En supposant que
chaque entrée se compose de 4 octets, chaque processus peut prendre jusqu'à 4 MO d'espace d'adresse physique de la page table seul.
Quel est le sens de chaque entrée se compose de 4 octets et pourquoi chaque processus peut prendre jusqu'à 4 MO d'espace d'adresse physique de la page table?
Double Possible de Page de Calcul la Taille de la Table
OriginalL'auteur Pankaj Mahato | 2014-04-11
Vous devez vous connecter pour publier un commentaire.
Une page de table est une table de conversions du virtuel au physique d'adresses que le système d'exploitation utilise pour augmenter artificiellement la quantité totale de mémoire disponible dans un système.
La mémoire physique est l'bits situés à des adresses en mémoire (DRAM), la mémoire virtuelle est l'endroit où l'OS se trouve à des processus de leur dire où il est, pour faire des choses comme permettre 2^64 bits de l'adresse de l'espace, malgré le fait que les 2^34 bits est le plus de mémoire RAM utilisée normalement. (2^32 bits est de 4 gigaoctets, donc 2^34 est de 16 go.)
La plupart de page par défaut, dimensions de la table sont 4096 ko pour chaque processus, mais le nombre d'entrées de table de page peut augmenter si le processus a besoin de plus d'espace de processus. Page dimensions de la table peut également être réparti au départ de plus petites ou de plus grandes quantités ou de la mémoire, c'est juste que 4 ko est généralement la meilleure taille pour la plupart des processus.
Noter qu'une page de table est une table de page entrées. Les deux peuvent avoir des tailles différentes, mais les dimensions de la table sont le plus souvent 4096 ko ou 4 mo de page et la taille de la table est augmentée par l'ajout de plus d'entrées.
page size
au lieu depage table size
, droit?Peut-être, cela a été si longtemps, je ne sais pas, haha. J'ai été prendre un cours sur les systèmes d'exploitation à l'époque et je n'ai pas vraiment travaillé sur eux depuis.
OriginalL'auteur Matthew
1) Parce que 4 octets (32 bits) est exactement la bonne quantité d'espace pour contenir n'importe quelle adresse dans un espace d'adressage 32 bits.
2) Parce que 1 million d'entrées de 4 octets chacun fait 4MO.
OriginalL'auteur Mark Setchell
Quant à savoir pourquoi une PTE(page d'entrée de la table) est de 4 octets:
Plusieurs réponses disent que c'est parce que l'espace d'adressage de 32 bits et de la PTE besoins de 32 bits pour contenir l'adresse.
Mais un PTE ne contient pas l'adresse d'un octet, seul le physique, numéro de la page. Le reste des bits contiennent des drapeaux ou ne sont pas utilisés. Il n'a pas besoin d'être de 4 octets exactement.
OriginalL'auteur blackbeard
Votre premier doute est dans la ligne de Chaque entrée dans la Table des pages d'Entrée, également appelé PTE, se compose de 4 octets". Pour comprendre cela, nous allons discuter de ce qui ne la table des pages contiennent?", Réponse Pte. Donc,ce 4 octets est la taille de chaque PTE qui se composent d'adresse virtuelle, offset,( Et peut-être 1-2 autres champs si nécessaire ou souhaitée)
Donc, maintenant vous savez ce que la page table contient, vous pouvez facilement calculer l'espace de la mémoire, c'est: Total no. de Pte fois la taille d'une PTE.
Qui sera: 1m * 4 octets= 4 MO
Espérons que cela efface le doute. 🙂
OriginalL'auteur user3204053
Donc, l'entrée se réfère à la page d'entrée de la table (PTE). Les données stockées dans chaque entrée est l'adresse de mémoire physique (PFN). L'hypothèse sous-jacente ici est la mémoire physique utilise également un espace d'adressage 32 bits. Par conséquent, PTE sera d'au moins 4 octets (4 * 8 = 32 bits).
Dans un système 32 bits avec mémoire taille de la page de 4KO (2^2 * 2^10 B), le nombre maximum de pages qu'un processus peut avoir 2^(32-12) = 1M. Chaque processus pense il a accès à toute la mémoire physique. Afin de traduire tous les 1M adresses de mémoire virtuelle à des adresses de mémoire physique, un processus peut avoir besoin de stocker 1 M Pte, qui est de 4 mo.
OriginalL'auteur belindanju
La page d'entrée de la table est le nombre de bits requis pour obtenir de numéro d'image . par exemple, si vous avez une mémoire physique avec 2^32 images , alors vous auriez besoin de 32 bits pour la représenter. Ces 32 bits sont stockés dans la table des pages en 4 octets(32/8) .
Maintenant, puisque le nombre de pages, 1 million c'est à dire si la taille totale de la page table =
entrée de table de page*nombre de pages
=4b*1million
=4mo.
donc, 4mb serait nécessaire pour le magasin de stockage de la table dans la mémoire principale(la mémoire physique).
OriginalL'auteur thekkb007