Frage

Ich versuche, einen alten Unix-Kernel zu hacken.Ich möchte die MMU und TLB einfach mit der Software implementieren.Kann mir jemand sagen, was die besten Datenstrukturen und Algorithmen im Gebäude verwenden können.Ich sah viele Leute mit splay-Bäumen, weil es einfach ist, LRU zu implementieren.Gibt es eine bessere Datenstruktur?Was ist der effizienteste Weg, um virtuelle auf physische Adresse in software zu übersetzen

War es hilfreich?

Lösung

Sie erwähnen Effizienz.Ist das das Ziel, in dem Sie in die Technik kommen?Wenn Sie nicht zu einem bestimmten Ziel eingeschränkt sind, versuchen Sie einfach, es zu arbeiten.Ich würde eine Single-Level-Seitentabelle machen, wenn Sie entweder direkt oder vollständig assoziativ sind.Es hört sich an, als ob Sie dies an uns vorbei sind.

Das effizienteste ist, abhängig von den Kompromissen von Größengeschwindigkeit und auf welche Art von Ort, den Sie erwarten.Haben Sie kritische Apps profiliert oder ist dies nur, um einige Implementierungen auszuprobieren?Invertierte Seitentische werden auf einigen neueren Architekturen verwendet.Ich würde das als Hinweis darauf nehmen, dass jemand viel Zeit damit verbringt, daran zu arbeiten, dass es ein guter Weg ist, um zu gehen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top