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.74 des Projekts Linux-
man-pages. Eine Beschreibung des Projekts, Informationen, wie Fehler
gemeldet werden können sowie die aktuelle Version dieser Seite 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>.