Votre IP: 38.107.179.244 
  
 
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]


MINCORE

 

Index

  1. NOM
  2. SYNOPSIS
  3. DESCRIPTION
  4. VALEUR RENVOYÉE
  5. ERREURS
  6. BOGUES
  7. CONFORMITÉ
  8. HISTORIQUE
  9. DISPONIBILITÉ
  10. VOIR AUSSI
  11. TRADUCTION

 

NOMIndex

mincore - Savoir quelles pages se trouvent en mémoire physique  

SYNOPSISIndex

#include <unistd.h>
#include <sys/mman.h>
int mincore(void *start, size_t length, unsigned char *vec);  

DESCRIPTIONIndex

La fonction mincore() réclame un vecteur (une table) indiquant quelles pages d'un fichier se trouvent en mémoire physique et peuvent être lues sans accès disque. Le noyau fournira les données concernant les length octets à partir de l'adresse start. En retour, le noyau aura rempli la zone vec avec des octets dont le bit de poids faible indique si la page est en mémoire physique. (Les autres bits sont indéfinis, réservés pour une possible utilisation ultérieure.) Bien sûr, ce n'est qu'un instantané --- les pages qui ne sont pas verrouillées en mémoire peuvent aller et venir à tout moment, et le contenu de vec peut être déjà périmé au retour de l'appel.
Pour que mincore() réussisse, start doit être alignée sur une frontière de page. C'est la responsabilité de l'appelant d'arrondir l'adresse à la page la plus proche. Le paramètre length n'est pas nécessairement un multiple de la taille de page. Le vecteur vec doit être assez grand pour contenir (length+PAGE_SIZE-1)/PAGE_SIZE octets. On peut connaître la taille de page en invoquant getpagesize(2).
 

VALEUR RENVOYÉEIndex

Si elle réussit, la fonction mincore() renvoie zéro. En cas d'erreur, elle renvoie -1 et remplit errno avec la valeur d'erreur.  

ERREURSIndex

EAGAIN Le noyau manque temporairement de ressources.
EFAULT
vec pointe vers une adresse illégale.
EINVAL
start n'est pas un multiple de la taille de page.
ENOMEM
len est plus grand que (TASK_SIZE - start). Ceci peut se produire si len a une valeur négative, car cette valeur sera interprétée comme un entier non signé. Sous Linux 2.6.11 et précédents, cette condition renvoyait l'erreur EINVAL.
ENOMEM
La zone entre address et address + length contient de la mémoire autre qu'une projection de fichier.
 

BOGUESIndex

Jusqu'à présent (Linux 2.6.5), mincore() ne renvoie pas d'information correcte pour une projection MAP_PRIVATE.
 

CONFORMITÉIndex

mincore() n'est pas décrite par POSIX.1-2001, et n'est pas disponible sur toutes les variantes Unix.  

HISTORIQUEIndex

La fonction mincore() est apparue dans BSD 4.4.  

DISPONIBILITÉIndex

Depuis Linux 2.3.99pre1 et glibc 2.2.  

VOIR AUSSIIndex

getpagesize(2), mlock(2), mmap(2)  

TRADUCTIONIndex

Cette page de manuel a été traduite et mise à jour par Christophe Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis par Alain Portal <aportal AT univ-montp2 DOT fr> jusqu'en 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