Left Up Grundbegriffe

Kommunikationsmechanismen

(auch IPC-Interprozesskommunikation)
Durch den seperate Schutzumgebung der Betriebsmittelumgebung, der von der Hardware-MMU erzwungen wird, ist eine Kommunikation nur noch über die diese vom Kern realisierten und kontrollierten Mechanismen möglich.

Es gibt auch Mechanismen, wie z.B. sockets, die auch über Rechnergrenzen hinweg kommunizieren, darauf bauen dann Netzwerke und Verteilte Systeme auf - ein Betriebssystem muss zumindest Basisdienste anbieten, auf denen die Middleware aufbaut. Es ist natürlich eine Designunterscheidung, wie hier die genaue Abgrenzung ist, und wie diese hier integriert sind.

(siehe auch Wikipedia)

Design Kategorien

Konkrete Mechanismen

Signale

Kommandos:
kill(1)

Operationen (POSIX):
sigaction(2) setzt einen Signalbehandler
sigprocmask(2) setzt eine Maske, um Signale zu blockieren.
Signale können nur vom Besitzer oder vom Supperuser gesendet werden.

Wichtige Signale:
siehe signal(7) SIGTERM : Bitte beende Dich
SIGKILL : Stirb Du Hund (Kann von Prozess nicht behandelt werden)
SIGINT : Ctrl-C von Tastatur
SIGSTOP : Bitte halte doch mal an (Kann von Prozess nicht behandelt werden)
SIGTSTP : Halte an (Ctrl Z)
SIGCONT : Weitermachen
...

pipe

pipe(2)

Named-Pipe

Verbindet Prozesse, die nicht verwandt sind.

Operationen:
mknod(2)

sockets

Endpunkt einer bidirektionelen Kommunikation:

Verschiedene Protokolle unter dem selben Interface: Systemvarianten:
UNIX/Linux : BSD-Sockets
siehe untere Beispielprogramme
Microsoft Winsock2

Beispielprogramme

Allgemeine Koordinierungmechanismen

Semaphor [WP]
Zäher, der vom Betriebssystem realisiert in der Prozessverwaltung wird.
Operationen: P(n): prüfen, V(n): freigeben
Wenn die Anforderungen n < Zustandswert ist, wird der aufrufende Aktivitätsträger in einer Warteschlange blockiert.
Charakteristik:
Mutex

System V IPC

Shared Memory

Semaphore

Message-Queues

Allgemeine Überblicksarbeiten

IPC-Vergleich WindowsNT mit UNIX
Arbeit, die die IPC-Mechanismen der beiden Konzepte vergleicht.

Informatik- und Netzwerkverein Ravensburg e.V Rudolf Weber