Scroll to navigation

GETPAGESIZE(2) Linux-Programmierhandbuch GETPAGESIZE(2)

BEZEICHNUNG

getpagesize - gibt die Größe einer Speicherseite zurück

ÜBERSICHT

#include <unistd.h>
 
int getpagesize(void);
 

Mit Glibc erforderliche Makros (siehe feature_test_macros(7)):
 
getpagesize():
Seit Glibc 2.12:
_BSD_SOURCE ||
    !(_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600)
    

Vor Glibc 2.12: _BSD_SOURCE || _XOPEN_SOURCE >= 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
    

BESCHREIBUNG

Die Funktion getpagesize() gibt die Anzahl der Byte in einer Speicherseite zurück. »Seite« ist hier ein Block fester Größe, dessen Größe mmap(2) als Einheit für die Speicherzuordnung und die Dateiabbildung (file mapping) verwendet.

KONFORM ZU

SVr4, 4.4BSD, SUSv2. In SUSv2 wurde der Systemaufruf getpagesize() als VERALTET gekennzeichnet und fiel in POSIX.1-2001 weg; in HP-UX kommt er nicht vor.

ANMERKUNGEN

Portable Programme sollten sysconf(_SC_PAGESIZE) statt getpagesize() verwenden:

#include <unistd.h>
long sz = sysconf(_SC_PAGESIZE);

 
(Die Mehrzahl der Systeme erlaubt die Verwendung des Synonyms _SC_PAGE_SIZE für _SC_PAGESIZE.)
 
Die Verfügbarkeit des Systemaufrufs getpagesize() auf einem Linux-System ist architekturabhängig. Ist er verfügbar, gibt er das Kernel-Symbol PAGE_SIZE zurück. Dessen Wert hängt ab von der Architektur und dem Modell der Maschine. Generell werden Binärdateien verwendet, die von der Architektur abhängen, aber nicht vom Modell, um eine einzige binäre Distribution pro Architektur haben. Das bedeutet, dass ein Benutzerprogramm PAGE_SIZE nicht bei der Kompilierung aus einer Header-Datei bestimmen sollte, sondern den entsprechenden Systemaufruf verwenden. Das gilt zumindest für jene Architekturen (wie sun4), für die diese Abhängigkeit besteht. Hier scheitern Libc4, Libc5 und Glibc 2.0, weil ihre getpagesize() einen statisch abgeleiteten Wert zurück gibt und keine Systemaufrufe verwendet. Dies ist in Glibc 2.1 in Ordnung.

SIEHE AUCH

mmap(2), sysconf(3)

KOLOPHON

Diese Seite ist Teil der Veröffentlichung 3.42 des Projekts Linux- man-pages. Eine Beschreibung des Projekts und Informationen, wie Fehler gemeldet werden können, finden sich unter http://www.kernel.org/doc/man-pages/.
 

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Regine Bast <regine.bast@bigfoot.com> und Martin Eberhard Schauer <Martin.E.Schauer@gmx.de> erstellt.
 
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
 
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an <debian-l10n-german@lists.debian.org>.
16. November 2010 Linux