Provided by:
manpages-fr-dev_3.32d0.2p4-1_all 
NOM
remap_file_pages - Creer une projection non lineaire d'un fichier
SYNOPSIS
#define _GNU_SOURCE /* Consultez feature_test_macros(7) */
#include <sys/mman.h>
int remap_file_pages(void *addr, size_t size, int prot,
ssize_t pgoff, int flags);
DESCRIPTION
L'appel systeme remap_file_pages() est utilise pour creer une
projection non lineaire, c'est-a-dire une projection dans laquelle les
pages du fichier sont projetees en memoire dans un ordre non
sequentiel. L'avantage d'utiliser remap_file_pages() au lieu de faire
des appels repetes a mmap(2) est que la premiere approche n'impose pas
au noyau de creer des structures de donnees VMA (Virtual Memory Area :
zone memoire virtuelle) supplementaires.
Pour creer une projection non lineaire, nous allons effectuer les
etapes suivantes :
1. Utiliser mmap(2) pour creer une projection (qui est initialement
lineaire). Cette projection doit etre creee avec l'attribut
MAP_SHARED.
2. Utiliser un ou plusieurs appels a remap_file_pages() pour
reorganiser la correspondance entre les pages de la projection et
les pages du fichier. Il est possible d'acceder a la meme page d'un
fichier dans plusieurs endroits de la region projetee.
Les parametres pgoff et size specifient la region du fichier a reloger
dans la projection : pgoff est un decalage de fichier (Ndt : file
offset) dans l'unite de taille de page du systeme ; size est la
longueur de la region en octets.
Le parametre addr sert a deux choses. Tout d'abord, il identifie la
projection des pages que l'on souhaite reorganiser. Ainsi, addr doit
etre une adresse tombant dans une region precedemment projetee par un
appel a mmap(2). Ensuite, addr specifie l'adresse a laquelle les pages
du fichier identifiees par pgoff et size seront placees.
Les valeurs specifiees dans addr et size doivent etre des multiples de
la taille de page systeme. Si elles ne le sont pas, le noyau arrondit
par d'efaut les deux valeurs au multiple de taille de page le plus
proche.
Le parametre prot doit etre specifie a 0.
Le parametre flags a la meme signification que pour mmap(2), mais tous
les attributs autres que MAP_NONBLOCK sont ignores.
VALEUR RENVOY'EE
S'il reussit, remap_file_pages() renvoie 0. S'il echoue, -1 est renvoye
et errno est positionnee en consequence.
ERREURS
EINVAL addr ne fait pas reference a une projection valide creee avec
l'attribut MAP_SHARED.
EINVAL addr, size, prot ou pgoff n'est pas valable.
VERSIONS
L'appel systeme remap_file_pages() est apparu dans Linux 2.5.46 ; la
glibc le gere depuis la version 2.3.3.
CONFORMIT'E
L'appel systeme remap_file_pages() est specifique a Linux.
VOIR AUSSI
getpagesize(2), mmap(2), mmap2(2), mprotect(2), mremap(2), msync(2)
COLOPHON
Cette page fait partie de la publication 3.32 du projet man-pages
Linux. Une description du projet et des instructions pour signaler des
anomalies peuvent etre trouvees a l'adresse
<URL:http://www.kernel.org/doc/man-pages/>.
TRADUCTION
Depuis 2010, cette traduction est maintenue a l'aide de l'outil po4a
<URL:http://po4a.alioth.debian.org/> par l'equipe de traduction
francophone au sein du projet perkamon
<URL:http://perkamon.alioth.debian.org/>.
Alain Portal <URL:http://manpagesfr.free.fr/> (2004-2006). Julien
Cristau et l'equipe francophone de traduction de Debian (2006-2009).
Veuillez signaler toute erreur de traduction en ecrivant a
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet manpages-fr.
Vous pouvez toujours avoir acces a la version anglaise de ce document
en utilisant la commande << man -L C <section> <page_de_man> >>.