Interprozesskommunikation
von D.S.
von D.S.
-
- 1 / 11
-
Cartes-fiches
Wie können Prozesse synchronisiert werden?
(2 Nennungen)
- Signale
- Semaphore
Nenne einen Vor- und einen Nachteil von Signalen?
Vorteil:
- sehr einfach anzuwenden (wenn PID bekannt ist)
Nachteil:
- Signal enthält selbst keine Informationen und man weiß nicht, von wem das Signal kommt.
Wo liegen Semaphore im Speicher?
Semaphore sind systemweit definiert, vergleichbar mit lokalen Variablen.
Wodurch sind Semaphore vor unerlaubtem Zugriff geschützt?
- Semaphor-Key muss bekannt sein um Zugriff zu erhalten.
Was ist der Unterschied zwischen einer Pipe (egal, ob "High-Level", "Unnamed" oder "Named") und einer Datei?
Datei : Daten werden hintereinander in der Datei gespeichert, also kann beliebig zugegriffen werden. (gut für große Datenmengen)
Pipes : Daten werden nach dem FIFO-Prinzip verarbeitet. Alle Daten werden zum lesenden Prozess durchgeschoben. (gut für kleine Datenmengen)
Nenne einen sehr großen Vorteil von Pipes.
Synchronisation ist schon integriert.
Worin liegt der Fortschritt von den Pipes zu den Message Queues?
Mehrere Prozesse können über eine Message Queue gezielt miteinander kommunizieren.
Was ist der Unterschied zwischen einer "Named Pipe" und einer "Unnamed Pipe"?
Named Pipe : Funktioniert zwischen beliebigen Prozessen.
Unnamed Pipe : Funktioniert nur zwischen Eltern- und Kindprozess.
Wozu dient eine "High-Level Pipe"?
In einer High-Level Pipe kann ein anderer Prozess gestartet werden.
Dann kann man den stdin-Kanal oder stdout-Kanal des aufgerufenen Programms mit der Pipe verbinden.
Mit welchem Kommando können eigene "Semaphore", "Shared Memory" oder "Message Queues" angezeigt werden?
ipcs
Was ist der größte Vorteil des Shared Memory?
Liegt im Hauptspeicher und ist deshalb sehr schnell.