Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger

 << zurück
Linux-UNIX-Programmierung von Jürgen Wolf
Das umfassende Handbuch – 2., aktualisierte und erweiterte Auflage 2006
Buch: Linux-UNIX-Programmierung

Linux-UNIX-Programmierung
1216 S., mit CD, 49,90 Euro
Rheinwerk Computing
ISBN 3-89842-749-8
gp Kapitel A Funktionsreferenz
  gp B.1 ANSI C
  gp B.2 ANSI C99
  gp B.3 Elementare E/A-Funktionen
  gp B.4 Fortgeschrittene Ein-/Ausgabe-Funktionen
  gp B.5 Verzeichnisse
  gp B.6 Attribute von Dateien und Verzeichnissen
  gp B.7 Links
  gp B.8 Prozess und Prozessverwaltungsfunktionen
  gp B.9 Signale – Das neue Signalkonzept
  gp B.10 Interprozesskommunikationen
  gp B.11 Sys-V-Interprozesskommnunikationen
  gp B.12 Threadprogrammierung
  gp B.13 Netzwerkprogrammierung
  gp B.14 MySQL C-API
  gp B.15 PostgreSQL C-API
  gp B.16 Weitere Funktionsreferenzen auf der Buch-CD


Rheinwerk Computing

B.11 Sys-V-Interprozesskommnunikationen  downtop

Die drei Interprozesskommunikations-Techniken (Semaphor, Message Queue und Shared Memory) von System V nutzen zwar unterschiedliche Konzepte, verwenden allerdings alle drei dieselben systemweiten Ressourcen, welche von mehreren Prozessen gemeinsam genutzt werden können. Somit ist hiermit eine Kommunikation zwischen nichtverwandten Prozessen möglich. Mehr zu den allgemeinen Gemeinsamkeiten entnehmen Sie bitte aus dem entsprechenden Kapitel zur Sys-V-Interprozesskommunikation.


Rheinwerk Computing

B.11.1 Message Queue  downtop

Eine Message Queue setzt sich aus den folgenden drei Teilen zusammen:

gp  Message-Typ (long)
gp  Größe in Bytes des Message (size_t)
gp  der eigentlichen Message (Message-String)

Zur Verwendung der Funktionen einer Message Queue werden die Headerdateien <sys/types.h>, <sys/ipc.h> und <sys/msg.h> benötigt.


Tabelle B.57    Funktionen für Message Queues

Syntax Bedeutung
int msgget( key_t key, int msgflg); Message Queue öffnen oder erzeugen
int msgsnd( int msqid, struct msgbuf *msgp, size_t msgsz, int msgflg); Nachrichten senden
ssize_t msgrcv( int msqid, struct msgbuf *msgp, size_t msgsz, long msgtyp, int msgflg); Nachrichten empfangen
int msgctl( int msqid, int cmd, struct msqid_ds *buf); Status einer Message Queue ändern oder abfragen


Rheinwerk Computing

B.11.2 Semaphor  downtop

Das Semaphor ist eine Variable vom Typ unsigned short, welche beim Eintritt in einen kritischen Codeausschnitt dekrementiert und beim Verlassen wieder inkrementiert wird. Zur Verwendung der Funktionen der Semaphore werden die Headerdateien <sys/types.h>, <sys/ipc.h> und <sys/sem.h> benötigt.


Tabelle B.58    Funktionen für Semaphore

Syntax Bedeutung
int semget( key_t key, int nsems, int semflg); Semaphor öffnen oder erzeugen
int semctl( int semid, int semnum, int cmd, ...); Status einer Semaphor-Menge abfragen/setzen oder löschen
int semop( int semid, struct sembuf *sops, unsigned nsops); Ausführen von Operationen auf Semaphor-Menge


Rheinwerk Computing

B.11.3 Shared Memory  toptop

Beim Shared Memory verwenden mehrere Prozesse einen bestimmten Speicherbereich gemeinsam. Somit ist ein aufwendiges Kopieren zwischen den Prozessen nicht mehr nötig, da jeder Prozess über denselben Inhalt verfügen kann, der sich in diesem Speicherbereich befindet. Wichtig dabei ist, dass niemals zwei Prozesse gleichzeitig in diesen Speicherbereich schreiben. Diese Synchronisation lässt sich am einfachsten mit dem Client/Server-Prinzip realisieren. Zur Verwendung der Funktionen von Shared Memory werden die Headerdateien <sys/types.h>, <sys/ipc.h> und <sys/shm.h> benötigt.


Tabelle B.59    Funktionen für Shared Memories

Syntax Bedeutung
int shmget( key_t key, int size, int shmflg); Shared Memory öffnen oder erzeugen
int shmctl( int shmid, int cmd, struct shmid_ds *buf); Status eines Shared Memorys abfragen/setzen oder löschen
void *shmat( int shmid, const void *shmaddr, int shmflg); Shared Memory Segment an einen Prozess binden
int shmdt(const void *shmaddr); Shared Memory Segment von einem Prozess lösen

 << zurück
  
  Zum Rheinwerk-Shop
Neuauflage: Linux-UNIX-Programmierung
Neuauflage:
Linux-UNIX-
Programmierung

bestellen
 Ihre Meinung?
Wie hat Ihnen das Openbook gefallen?
Ihre Meinung

 Buchtipps
Zum Rheinwerk-Shop: Linux-Server






 Linux-Server


Zum Rheinwerk-Shop: Das Komplettpaket LPIC-1 & LPIC-2






 Das Komplettpaket
 LPIC-1 & LPIC-2


Zum Rheinwerk-Shop: Linux-Hochverfügbarkeit






 Linux-
 Hochverfügbarkeit


Zum Rheinwerk-Shop: Shell-Programmierung






 Shell-
 Programmierung


Zum Rheinwerk-Shop: Linux Handbuch






 Linux Handbuch


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
Info





Copyright © Rheinwerk Verlag GmbH 2006
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das Openbook denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern