Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

187
Vistas
Duplicación de memoria para un búfer de anillo en Linux

Uso un mmap anónimo para asignar una gran cantidad de memoria. Hay varias páginas contiguas en esto que me gustaría convertir en un búfer de anillo, usando la duplicación de memoria virtual.

Este ejemplo en Wikipedia muestra lo que quiero decir con duplicación de memoria virtual.

Digamos que los primeros 14 bloques a continuación son las páginas de mi trozo gigante. Me gustaría mapear virtualmente las páginas 6 y 7 a otras dos ubicaciones consecutivas.

 [0][1][2][3][4][5][6][7][8][9][10][11][12][13].......[6][7][6][7]

Mike Ash da un resumen de lo que quiero hacer, pero usando API específicas de mach.

¿Cómo se puede hacer esto en Linux?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Esto no es posible de lograr con mapeos anónimos. Sin embargo, puede usar memfd_create(2) o crear un archivo temporal en tmpfs (para que nunca se almacene en el disco, excepto "intercambiando") y hacer asignaciones compartidas en ese descriptor de archivo, uno al lado del otro.

remap_file_pages(2) es solo un truco de rendimiento y no es más poderoso que las clásicas llamadas mmap/mremap, y tampoco puede operar en mapeos anónimos.

Relacionado:¿Linux mremap sin liberar el mapeo anterior?

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda