Domanda

Sto cercando di hackerare un vecchio kernel UNIX.Voglio solo implementare la MMU e il TLB utilizzando il software.Qualcuno può dirmi quali sono le migliori strutture di dati e algoritmi da utilizzare nella costruzione di uno.Ho visto molte persone che utilizzano alberi di splitazione perché è facile da implementare LRU.C'è una migliore struttura dei dati?Qual è il modo più efficiente per tradurre virtuali all'indirizzo fisico in software.assume la sua architettura x86 e la traduzione come qualsiasi traduzione di base tabella di pagina.

È stato utile?

Soluzione

Si menziona l'efficienza.È che l'obiettivo sei ingegneristico verso?Se non sei vincolato a un particolare obiettivo, prova a farlo funzionare.Farei una tabella di pagina a livello singolo se puoi, direttamente o completamente associativo.Sembra che tu abbia superato questo.

La più efficiente dipenderà da compromessi di velocità e che tipo di località ti aspetti.Avete delle app critiche profilata o è questo semplicemente scherzando per provare alcune implementazioni?Le tabelle di pagina invertite sono utilizzate su alcune architetture più recenti.Lo prenderei come indicazione che qualcuno che trascorre molto tempo a lavorare su questo pensano che sia un buon modo per andare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top