2010-07-20 4 views
1

J'essaye de pirater un ancien noyau unix. Je veux juste implémenter le MMU et le TLB en utilisant un logiciel. Quelqu'un peut-il me dire quelles sont les meilleures structures de données et les algorithmes à utiliser dans la construction d'un. J'ai vu beaucoup de gens utiliser des arbres de splay parce que c'est facile à implémenter. Y a-t-il une meilleure structure de données? Quelle est la manière la plus efficace de traduire l'adresse virtuelle en adresse physique dans un logiciel? Assumez son architecture x86 et sa traduction en tant que traduction de table de page de base.Construction d'un MMU et d'un TLB basés sur le logiciel

Répondre

0

Vous parlez d'efficacité. Est-ce le but que vous êtes en train d'atteindre? Si vous n'êtes pas limité à un objectif particulier, essayez simplement de le faire fonctionner. Je ferais une table de page de niveau simple si vous le pouvez, directement ou entièrement associative. Il semble que vous ayez dépassé ce stade.

Le plus efficace dépend des compromis taille-vitesse et du type de localité que vous attendez. Avez-vous des profils d'applications critiques ou est-ce juste pour essayer certaines implémentations? Les tables de pages inversées sont utilisées sur certaines architectures plus récentes. Je considérerais cela comme une indication que quelqu'un qui passe beaucoup de temps à travailler sur ce sujet pense que c'est un bon moyen d'y aller.

Questions connexes