Estaba revisando la documentación sobre MMAP aquí e intenté implementarlo usando esto
Tengo algunas dudas con respecto a su implementación.
¿MMAP proporciona una asignación de un archivo y devuelve un puntero de esa ubicación en la memoria física o regresa con una dirección de la tabla de asignación? ¿y también asigna y bloquea espacio para ese archivo?
Una vez que el archivo se almacena en esa ubicación en la memoria, ¿permanece allí hasta que se llama a munmap?
¿El archivo incluso se movió a la memoria o es solo una tabla de mapeo que sirve como una redirección y el archivo está realmente en la memoria virtual - (disco)?
Suponiendo que se mueva a la memoria, ¿pueden otros procesos acceder a ese espacio para leer datos si tienen una dirección?
mmap
, pero que está utilizando esRespuestas:
Contestando cosas en orden:
MAP_SHARED
bandera.Vale la pena señalar que mmap () no solo funciona en archivos, también puede hacer otras cosas con él, como:
fuente