Erzeuger-Verbraucher-Problem

Neue Frage »

Auf diesen Beitrag antworten »
Chris2293 Erzeuger-Verbraucher-Problem

Meine Frage:
Das Erzeuger-Verbraucher-Problem ist eine abstrakt formulierte Problemdarstellung der Prozessorsynchronisation in Betriebssystemenen, welche eine Regelung der Zugriffreihenfolge durch elementerzeugende (schreibende ) und elementverbrauchende (lesende) Prozesse darstellt. Folgende Aufgabe ist zu bearbeiten. Gegeben sei das bekannte Erzeuger-Verbraucher-Problem mit dem Puffer W ( Kapazität n Elemente ). Um wechselseitigen Ausschluss zu erreichen, sei folgender Lösungsversuch mit dem Semaphor wa gegeben(Pseudocode)

01 Deklaration ;
02 wa(1) ;
03
04 Erzeuger E;
05 while (true) {
06 produziere Element;
07 wa.P();
08 schreibe Element nach W;
09 wa.V()
10 }
11
12 Verbraucher V;
13 while (true) {
14 wa.P();
15 entnehme Element aus W falls Element
vorhanden, sonst warte ;
16 wa.V();
17 verarbeite Element;
18 }
19
20

a) Laufen beide Prozesse verklemmungsfrei? Welche Probleme können auftreten?
b) Geben Sie eine verbesserte Version an, in der keine Probleme mehr auftreten, indem Sie
zwei weitere Semaphore geeignet deklarieren und Aufrufe von P() und V() einfügen.

Meine Ideen:
Hallo erstmal, ich bin zur Zeit Student und habe als Teilgebiet meines Studiums die Grundlagen der Informatik ( wirklich nur Grundlagen! ).
Jetzt habe ich folgende Aufgabe in meiner Aufgabensammlung, die ich nicht lösen kann. Wirklich eigene Ideen dazu habe ich leider auch nicht. Bei meinem Erstversuch bin ich schon durchgefallen und in ein paar Wochen steht der Zweitversuch an. Bitte um Hilfe!!
 
Auf diesen Beitrag antworten »
ed209

a.) Ich bin mit der Syntax die Ihr da benutzt nicht vertraut. Kannst du erläutern was "wa.P();" und "wa.V();" genau bedeuten?

b.) Wie habt ihr "verklemmungsfrei" definiert?
Auf diesen Beitrag antworten »
Chris2293

Hey also das kann ich leider auch nicht genau sagen. Wir arbeiten eigentlich mit Java und diese Aufgabe stand so zur Übung auf den Laufwerk des Dozenten. Ich frag mal einen Kommilitonen und schreibe dann nochmal!
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »