Está en la página 1de 1

La llamada al sistema mmap.

Llamada al sistema mmap1 se corresponde con la llamada al sistema 90 y la nueva versión 192. Esta
primitiva proyecta el contenido de un archivo en memoria, más concretamente, en el espacio de
direcciones del proceso que la genera. Presenta la siguiente sintaxis:

#include
#include

void *mmap (void *start, size_t length, int prot, int flags, int fd, off_t offset);

start: Dirección para alojar la proyección. Si NULL el sistema elige.


length: Cantidad del fichero a mapear.
prot: Describe la protección de memoria deseada:
PROT_EXEC = se permite ejecución
PROT_READ = se permite leer.
PROT_WRITE = se permite escribir.
PROT_NONE = las páginas no pueden ser accedidas.
Estas opciones se pueden combinar separándolas por “|”.
flags: modificadores de acceso: - MAP_FIXED No seleccionar una dirección diferente a la
especificada. fd2: descriptor del archivo a usar. Previamente debe haber sido abierto.
Offset: desplazamiento del comienzo del mapeo en el archivo.

Hay que observar que ha de existir una coherencia entre el modo de apertura del fichero que se desea
modificar y el modo de mapeo del mismo. Es decir, que si se desean realizar lecturas y escrituras sobre
el archivo, esto habrá que especificarlo tanto en la llamada open como en la mmap.

1
Mapa de memoria
2
Numero entero que hace referencia a un archivo

También podría gustarte