BEZEICHNUNG¶
shm_overview - Überblick über gemeinsame Speichernutzung
gemäß POSIX
BESCHREIBUNG¶
Die POSIX-API für gemeinsame Speichernutzung ermöglicht Prozessen den
Austausch von Informationen in einem gemeinsamen Speicherbereich.
In der API werden die folgenden Schnittstellen genutzt:
- shm_open(3)
- erstellt und öffnet ein neues Objekt oder öffnet
ein vorhandenes Objekt. Das ist analog zu open(2). Der Aufruf gibt
einen Dateideskriptor zurück, der für die Nutzung durch die im
Folgenden aufgelisteten Schnittstellen bestimmt ist.
- ftruncate(2)
- bestimmt die Größe des gemeinsamen
Speicherobjekts. (Ein neu erzeugtes gemeinsames Speicherobjekt hat eine
Ausdehnung von Null).
- mmap(2)
- bildet das gemeinsame Speicherobjekt in den virtuellen
Adressraum des aufrufenden Prozesses ab.
- munmap(2)
- löst das gemeinsame Speicherobjekt aus dem virtuellen
Adressraum des aufrufenden Prozesses heraus.
- shm_unlink(3)
- entfernt den Namen eines gemeinsamen Speicherobjekts.
- close(2)
- schließt den von shm_open(3) bereitgestellten
Dateideskriptor, wenn dieser nicht mehr benötigt wird.
- fstat(2)
- beschafft eine stat-Struktur, die das gemeinsame
Speicherobjekt beschreibt. Zu den von diesem Aufruf zurückgegebenen
Informationen gehören die Größe des Objekts (
st_size), Rechte ( st_mode), Besitzer ( st_uid) und
Gruppe ( st_gid).
- fchown(2)
- ändert den Besitzer eines gemeinsamen
Speicherobjekts.
- fchmod(2)
- ändert die Rechte eines gemeinsamen
Speicherobjekts.
Versionen¶
Gemeinsamer Speicher gemäß POSIX wird seit Linux 2.4 und Glibc 2.2
unterstützt.
Langlebigkeit (Persistenz)¶
Gemeinsame POSIX-Speicherobjekte sind im Kernel sehr langlebig: Ein gemeinsames
Speicherobjekt besteht fort, bis das System heruntergefahren wird oder bis
alle Prozesse das Objekt aus ihrem Adressraum entfernt haben und es mittels
shm_unlink(3) »zerstört« wurde.
Linken¶
Programme, die die POSIX-API für gemeinsame Speichernutzung verwenden,
müssen mit
cc -lrt übersetzt werden, damit sie gegen die
Echtzeit-Bibliothek
librt gelinkt werden.
Zugriff auf gemeinsame Speicherobjekte über das
Dateisystem¶
Unter Linux werden gemeinsame Speicherobjekte in einem virtuellen Dateisystem (
tmpfs) erzeugt, das üblicherweise unter
/dev/shm
eingehängt wird. Seit Kernel 2.6.19 unterstützt Linux die Verwendung
von Zugriffs-Kontrolllisten (access control list, ACL) zur Rechtevergabe
für die Objekte im virtuellen Dateisystem.
POSIX.1-2001.
ANMERKUNGEN¶
Normalerweise müssen Prozesse ihren Zugriff auf ein gemeinsames
Speicherobjekt synchronisieren, beispielsweise mit POSIX-Semaphoren.
Gemeinsam genutzter System-V-Speicher (
shmget(2),
shmop(2), etc.)
ist eine ältere API für gemeinsame Speichernutzung. Gemeinsamer
Speicher nach POSIX stellt eine einfachere und besser entworfene Schnittstelle
bereit. Auf der anderen Seite ist gemeinsamer Speicher nach POSIX nicht so
weit verbreitet (besonders auf älteren Systemen) als das
System-V-Verfahren.
SIEHE AUCH¶
fchmod(2),
fchown(2),
fstat(2),
ftruncate(2),
mmap(2),
mprotect(2),
munmap(2),
shmget(2),
shmop(2),
shm_open(3),
shm_unlink(3),
sem_overview(7)
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 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>.