Votre IP: 38.107.179.242 
  
 
Google
 
Accueil e-mail Linux
Linux
Perl
Perl
C
Langage C
Dico
Dictionnaire
Biblio liens
Bibliothèque de liens
Index articles
Index articles
 

Date création : 27-03-2008 20:23:44

Linux  Vous êtes dans : GNU/Linux Astuces / Pages man [Section2 - Appels système]


REMAP_FILE_PAGES

 

Index

  1. NOM
  2. SYNOPSIS
  3. DESCRIPTION
  4. VALEUR RENVOYÉE
  5. NOTES
  6. ERREURS
  7. CONFORMITÉ
  8. VOIR AUSSI
  9. TRADUCTION

 

NOMIndex

remap_file_pages - Créer une projection non linéaire d'un fichier.  

SYNOPSISIndex

#include <sys/mman.h>
int remap_file_pages(void *start, size_t size, int prot, ssize_t pgoff, int flags);  

DESCRIPTIONIndex

L'appel système remap_file_pages() est utilisé pour créer une projection non linéaire, c'est-à-dire une projection dans laquelle les pages du fichier sont projetées en mémoire dans un ordre non séquentiel. L'avantage d'utiliser remap_file_pages() au lieu de faire des appels répétés à mmap(2) est que la première approche n'impose pas au noyau de créer des structures de données VMA (Virtual Memory Area : zone mémoire virtuelle) supplémentaires.
Pour créer une projection non linéaire, nous allons effectuer les étapes suivantes :
1.
Utiliser mmap() pour créer une projection (qui est initialement linéaire). Cette projection doit être créée avec l'attribut MAP_SHARED.
2.
Utiliser un ou plusieurs appels à remap_file_pages() pour réorganiser la correspondance entre les pages de la projection et les pages du fichier. Il est possible d'accéder à la même page d'un fichier dans plusieurs endroits de la région projetée.

Les paramètres pgoff et size spécifient la région du fichier à reloger dans la projection : pgoff est un décalage de fichier (Ndt : file offset) dans l'unité de taille de page du système ; size est la longueur de la région en octets.
Le paramètre start sert à deux choses. Tout d'abord, il identifie la projection des pages que l'on souhaite réorganiser. Ainsi, start doit être une adresse tombant dans une région précédemment projetée par un appel à mmap(). Ensuite, start spécifie l'adresse à laquelle les pages du fichier identifiées par pgoff et size seront placées.
Les valeurs spécifiées dans start et size doivent être des multiples de la taille de page système. Si elles ne le sont pas, le noyau arrondit par défaut les deux valeurs au multiple de taille de page le plus proche.
Le paramètre prot doit être spécifié à 0.
Le paramètre flags a la même signification que pour mmap(), mais tous les attributs autres que MAP_NONBLOCK sont ignorés.  

VALEUR RENVOYÉEIndex

S'il réussit, remap_file_pages() renvoie 0. S'il échoue, -1 est renvoyé et errno est positionnée en conséquence.  

NOTESIndex

L'appel système remap_file_pages() est apparu dans Linux 2.5.46.  

ERREURSIndex

EINVAL
start ne fait pas référence à une projection valide créée avec l'attribut MAP_SHARED.
EINVAL
start, size, prot ou pgoff n'est pas valable.
 

CONFORMITÉIndex

L'appel système remap_file_pages() est spécifique à Linux.  

VOIR AUSSIIndex

getpagesize(2), mmap(2), mmap2(2), mprotect(2), mremap(2), msync(2)  

TRADUCTIONIndex

Cette page de manuel a été traduite et mise à jour par Alain Portal <aportal AT univ-montp2 DOT fr> entre 2004 et 2006.
La traduction de cette page de manuel est basée sur les traductions disponibles sur http://manpagesfr.free.fr/, mais est gérée par l'équipe francophone de traduction de Debian au travers de la liste de discussion debian-l10n-french.
Veuillez signaler toute erreur de traduction par un rapport de bogue sur le paquet manpages-fr.
Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « man -L C <section> <page_de_man> ».


Création : octobre 2007  © Tous droits réservés 2007 linux-perl-c
Valid HTML 4.01 TransitionalValid CSS