Tag: MMAP
Me gustaría reclamar páginas para la región de memoria asignada por mmap (MAP_SHARED | MAP_ANONYMOUS). Para este propósito, llamé a madvise (MADV_DONTNEED) para esta memoria compartida desde todos los procesos que pueden ver esta región compartida. Sin embargo, las páginas físicas de esta región compartida no se pueden liberar y . . . Read more
Estoy pensando en reimplantar la función malloc(3) (así como free(3), realloc(3) y calloc(3)) utilizando las llamadas al sistema mmap(2) y munmap(2) (ya que sbrk(2) está obsoleto en algunos sistemas operativos). Mi estrategia para asignar bloques de memoria en la página devuelta por mmap(2) sería almacenar metadatos justo antes del bloque . . . Read more
Si tengo un archivo que mapeé con mmap de esta manera: sfd = open("test.txt", O_RDONLY); filesize = lseek(sfd, 0, 10); src = mmap(NULL, filesize, PROT_READ, MAP_PRIVATE, sfd, 0); Entonces en este momento el tamaño del mapeo es de 0 bytes porque el tamaño de test.txt es 0. Entonces, ¿qué pasa . . . Read more
Necesito abrir un archivo que contiene información y mapear esos datos usando mmap. Los datos serán accedidos mediante la conversión de la llamada mmap con una estructura. El problema es que el archivo contiene información para llenar aproximadamente 3 estructuras debido a que los datos están repetidos. Por lo tanto, . . . Read more
He escrito algún código para probar la llamada al sistema mmap. Aquí quiero asignar el espacio de memoria virtual a STDOUT y, a través del puntero ptr que devuelve mmap, imprimir una cadena. int main() { void *ptr = mmap(NULL, 1024, PROT_WRITE | PROT_READ, MAP_PRIVATE, STDOUT_FILENO, 0); memcpy(ptr, "hello", 6); . . . Read more