Universität Ulm - Sektion Angewandte Informationsverarbeitung
6. Übungsblatt (23.06.98 bis 30.02.98)
zur Vorlesung Systemnahe Software 2 (SS 98) 
 

8 Jahre später. Sie haben mit Bravour Ihr Studium beendet (Quotient Note / Laufzeit geht auch bei Ihnen gegen 0) und wollen endlich Ihr erstes Geld verdienen. Die Technisierung der Gesellschaft ist so weit fortgeschritten, daß es in Europa nur mehr Stellen als Informatiker gibt. Aufgrund Ihrer hervorragenden Leistungen in Blatt 5/1998 finden Sie auch sofort einen Job in der Rubrik: "Informatiker für die Pflege und Erweiterung veralteteter Programme gesucht". Win NT 06 hat zwar inzwischen UNIX System 27 abgelöst, aber ein paar verrückte Firmen arbeiten immer noch unter C und UNIX System V. Das ist Ihre Chance !

Die erste Aufgabe im neuen Laden: Sie müssen ein Programm vervollständigen, das ein von Micro$oft abgeworbener Informatiker anfing, aber nicht beenden wollte. Client / Server-Technologie unter Unix (Kein Problem für Sie!). Kommunikation via Pipes (Kein Problem für Sie!). Die Prozesse sind nicht verwandt (wie bitte?) und kommunizieren via FIFOs (man mknod), eine etwas andere Art von Pipes. "Was?? Das hatten wir aber in Soft nicht gemacht", sagen Sie Ihrem Boss. Der lächelt nur und sagt: "Na - dann holen wir das bis morgen nach, ja?!".

 

 

Aufgabe 1 (10 Punkte)

 

Sie finden ein unvollständiges C-Programm in Client/Server-Technologie als Shell-Archiv . Aufgabe des Programms ist es, daß zwei nicht-verwandte Prozesse über 2 FIFOs kommunizieren. Der Client liest von Stdin den Namen einer Datei und fordert den Inhalt der Datei vom Server an. Die Funktionen client.c und server.c sind vollständig implementiert, deren jeweiligen Hauptprogramme aber nicht. Ergänzen Sie die beiden Hauptprogramme fifo_srv.c und fifo_cli.c dahingehend, daß die ganze Sache läuft und Ihr Boss nicht gleich enttäuscht ist ...

 

 

Tip: Sie müssen nur die Module fifo_cli.c und fifo_srv.c verändern. Alles andere ist bereits fertig.