1 projekt1: prozesse unter unix aufgabenstellung 2: interprozessnachrichtentausch

24
Ich bau nicht mit Ihr.

Upload: aldrik-zacherl

Post on 06-Apr-2015

105 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Projekt1: Prozesse unter Unix Aufgabenstellung 2: Interprozessnachrichtentausch

1

Projekt1: Prozesse unter UnixProjekt1: Prozesse unter Unix

Aufgabenstellung 2: InterprozessnachrichtentauschAufgabenstellung 2: Interprozessnachrichtentausch

Page 2: 1 Projekt1: Prozesse unter Unix Aufgabenstellung 2: Interprozessnachrichtentausch

2

InterprozessnachrichtentauschInterprozessnachrichtentausch

Kommunikation zwischen Vater- u. SohnprozessKommunikation zwischen Vater- u. Sohnprozess Message Queues Message Queues

Page 3: 1 Projekt1: Prozesse unter Unix Aufgabenstellung 2: Interprozessnachrichtentausch

3

Interprozess NachrichtentauschInterprozess Nachrichtentausch Kommunikation zwischen Vater- und Sohnprozess mithilfe einer MQKommunikation zwischen Vater- und Sohnprozess mithilfe einer MQ

Sohnprozess: Sohnprozess: meldet Anwesenheit (Ausgabe der eigenen PID, Vater-PID)meldet Anwesenheit (Ausgabe der eigenen PID, Vater-PID) Stringeingabe vom BenutzerStringeingabe vom Benutzer Senden des Strings an den VaterprozessSenden des Strings an den Vaterprozess

Vaterprozess:Vaterprozess: Ausgabe der eigenen PID und der ID der MQAusgabe der eigenen PID und der ID der MQ gibt String (vom Sohn erhalten) am Bildschirm ausgibt String (vom Sohn erhalten) am Bildschirm aus Meldung:Meldung:

• Sohnprozess ist beendet (Ausgabe des Wait-Return Wertes)Sohnprozess ist beendet (Ausgabe des Wait-Return Wertes)• Rückgabe der MQ mit ID von msgctl ()Rückgabe der MQ mit ID von msgctl ()

Alle Bildschirmausgaben müssen durch "Parent: " und "Child: " Alle Bildschirmausgaben müssen durch "Parent: " und "Child: " gekennzeichnet werden.gekennzeichnet werden.

Page 4: 1 Projekt1: Prozesse unter Unix Aufgabenstellung 2: Interprozessnachrichtentausch

4

BeispielausgabeBeispielausgabe

$ bsp3$ bsp3

[Parent] my PID: 26517[Parent] my PID: 26517

[Parent] my parent‘s PID: 26571[Parent] my parent‘s PID: 26571

[Parent] message queue 4784129 erzeugt[Parent] message queue 4784129 erzeugt

[Child] Hi I‘m just born :)[Child] Hi I‘m just born :)

[Child] my PID: 26518[Child] my PID: 26518

[Child] my parents‘s PID: 26517[Child] my parents‘s PID: 26517

[Child] type something: this is a great practical![Child] type something: this is a great practical!

[Child] you typed: this is a great practical![Child] you typed: this is a great practical!

[Parent] received message: this is a great practical![Parent] received message: this is a great practical!

[Parent] Child terminated with waitID 26518 and Status 0[Parent] Child terminated with waitID 26518 and Status 0

[Parent] message queue 4784129 has been released. msgctlID was 0[Parent] message queue 4784129 has been released. msgctlID was 0