Pregunta

Estoy tratando de hackear un antiguo kernel de Unix.Solo quiero implementar el MMU y TLB con software.¿Alguien puede decirme cuáles son las mejores estructuras de datos y algoritmos para usar en la construcción de uno?Vi a muchas personas usando árboles de sprame porque es fácil de implementar LRU.¿Hay alguna estructura de datos mejor?¿Cuál es la forma más eficiente de traducir la dirección virtual a la dirección física en el software? ASUME su arquitectura X86 y su traducción como cualquier traducción de tabla de página básica.

¿Fue útil?

Solución

Mencionas la eficiencia.¿Es esa la meta con la que estás ingeniería?Si no estás restringido a ningún objetivo en particular, solo intenta que funcione.Haría una tabla de páginas de un solo nivel si puede, ya sea directo o totalmente asociativo.Suena como si estuvieras más allá de esto.

Más eficiente dependerá de las compensaciones de la velocidad de tamaño y de qué tipo de localidad espera.¿Tienes alguna aplicación crítica perfilada o esto se está desempeñando para probar algunas implementaciones?Las tablas de página invertidas se utilizan en algunas arquitecturas más nuevas.Tomaría eso como una indicación de que alguien que gasta mucho tiempo trabajando en esto piensa que es una buena manera de ir.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top