Vous avez des améliorations (ou des corrections) à proposer pour ce document :
je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Gestion de la mémoire : Quelques fonctions de gestion de la mémoire
#include <sys/mman.h>
Projection en mémoire d'un ensemble d'octet à partir d'un fichier.
void *mmap( void *start, size_t length, int prot, int flags, int fd, off_t offset );
start correspond à l'adresse de projection souhaitée. L'adresse mémoire virtuelle réelle de projection est retournée par la fonction. Elle n'est jamais nulle.
prot peut être constitué de PROT_EXEC, PROT_READ et PROT_WRITE. Bien entendu, il ne doit pas être incompatible avec les droits du fichier.
flags représente le type de projection : MAP_SHARED ou MAP_PRIVATE
Dominique Liard - 2004 .. 2019
<numéro>
Notes:
Pour ce qui est du type de projection. MAP_SHARED permet de partéger la page de mémoire entre différents processus. Par contre MAP_PRIVATE garantit que chaque processus (en cas de fork) aura son propre exemplaire (pour peu qu'il y ai des écritures dans la page de code mémoire). On parle dans ce cas de "copie à l'écriture".
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :