GETPAGESIZE
Section : Manuel du programmeur Linux (
2)
Mise à jour de la version anglaise : 26 juillet 2007
Index
Menu principal
NOM
getpagesize - Obtenir la taille des pages mémoire du système
SYNOPSIS
#include <unistd.h>
int getpagesize(void);
Exigences de macros de test de fonctionnalités pour la glibc (voir
feature_test_macros(7)) :
getpagesize() :
_BSD_SOURCE || _XOPEN_SOURCE >= 500
DESCRIPTION
La fonction
getpagesize()
renvoie le nombre d'octets dans une page.
Une « page » est ce que l'on considère
quand on dit dans la description de
mmap(2)
que les fichiers sont projetés en unités de la taille d'une page.
La taille d'une page du type de celle utilisée par
mmap(2)
est obtenue en utilisant
#include <unistd.h>
long sz = sysconf(_SC_PAGESIZE);
(la plupart des systèmes autorisant le synonyme
_SC_PAGE_SIZE
pour
_SC_PAGESIZE),
ou
#include <unistd.h>
int sz = getpagesize();
CONFORMITÉ
SVr4, BSD 4.4, SUSv2.
Dans SUSv2, l'appel
getpagesize()
est indiqué comme historique, et dans POSIX.1-2001, il a été abandonné.
HP-UX n'offre pas cet appel.
Les applications portables devraient utiliser
sysconf(_SC_PAGESIZE)
à la place de cet appel.
NOTES
Que la routine
getpagesize()
sous Linux invoque un appel système ou non dépend de l'architecture.
Si c'est le cas, elle renvoie la valeur du symbole
PAGE_SIZE
du noyau,
qui dépend de l'architecture et du modèle de machine.
Généralement, on utilise des exécutables binaires qui dépendent
de l'architecture mais pas du modèle de machine afin d'avoir
un seul fichier binaire de distribution par architecture.
Ceci signifie qu'un programme utilisateur ne doit pas
rechercher la valeur de
PAGE_SIZE
dans les fichiers d'entête lors de la compilation,
mais invoquer véritablement un appel système, au moins pour les
architectures où cette dépendance existe (comme sun4).
En ce sens, libc4, libc5 et glibc 2.0 font erreur car leur version de
getpagesize()
renvoie une valeur calculée statiquement,
et n'invoque pas d'appel système.
Tout est arrangé depuis la glibc 2.1.
VOIR AUSSI
mmap(2),
sysconf(3)
TRADUCTION
Ce document est une traduction réalisée par Christophe Blaess
<http://www.blaess.fr/christophe/> le 11 octobre 1996
et révisée le 23 juin 2008.
L'équipe de traduction a fait le maximum pour réaliser une adaptation
française de qualité. La version anglaise la plus à jour de ce document est
toujours consultable via la commande : « LANG=C man 2 getpagesize ».
N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute
erreur dans cette page de manuel.
Index
- NOM
-
- SYNOPSIS
-
- DESCRIPTION
-
- CONFORMITÉ
-
- NOTES
-
- VOIR AUSSI
-
- TRADUCTION
-
Dernière mise à jour : 23 juin 2008