Hallo,
ich habe eine Aufgabe, bei der ich nicht weiter komme. Vielleicht kann mir jemand helfen.
Aufgabe 4:
In einem Geschäft wurde ein System zur Ermittlung der Besucher installiert. An beiden Eingängen ist ein Sensor angebracht, der die kommenden Besucher zählt. Die Ergebnisse werden von beiden Sensoren in regelmäßigen Abständen in einen gemeinsamen Puffer geschrieben. Der Puffer hat die Form einer FIFO Queue und kann 30 Elemente speichern. Eine Verarbeitungsstation holt in unregelmäßigen Abständen die Daten (elementweise) ab und verarbeitet diese. Es stehen die Operationen einfuegenDaten() zum Einfügen eines Elements in den Puffer und holeDaten(), die das erste Element des Puffers zurückliefert, zur Verfügung.
Der Puffer kann zu einem Zeitpunkt entweder von der Verarbeitungsstation gelesen oder von genau einem Sensor beschrieben werden.
a) Implementieren Sie mithilfe von Semaphoren die Funktionen lesen() und schreiben(int wert). Ein Sensor soll durch schreiben(int wert) Daten in den Puffer schreiben, und die Verarbeitungsstation soll mit lesen() diese abholen können.
b) Erläutern Sie kurz Ihre Lösung in Bezug auf die verwendeten Semaphoren und ihre Bedeutung.
c) Welche Probleme bezüglich der gesammelten Daten können durch ungünstiges Verhalten von den Sensoren und der Verarbeitungsstation entstehen? Wie könnte man diese Probleme lösen?
Ich soll die beiden Methoden lesen() und schreiben(int wert). Man könnte das ganze in c++ programmieren.
Wie sieht der Lösungsansatz für so eine Aufgabe aus. Kann mir jemand helfen?
Viele Grüße
Jan Rockenfeller
ich habe eine Aufgabe, bei der ich nicht weiter komme. Vielleicht kann mir jemand helfen.
Aufgabe 4:
In einem Geschäft wurde ein System zur Ermittlung der Besucher installiert. An beiden Eingängen ist ein Sensor angebracht, der die kommenden Besucher zählt. Die Ergebnisse werden von beiden Sensoren in regelmäßigen Abständen in einen gemeinsamen Puffer geschrieben. Der Puffer hat die Form einer FIFO Queue und kann 30 Elemente speichern. Eine Verarbeitungsstation holt in unregelmäßigen Abständen die Daten (elementweise) ab und verarbeitet diese. Es stehen die Operationen einfuegenDaten() zum Einfügen eines Elements in den Puffer und holeDaten(), die das erste Element des Puffers zurückliefert, zur Verfügung.
Der Puffer kann zu einem Zeitpunkt entweder von der Verarbeitungsstation gelesen oder von genau einem Sensor beschrieben werden.
a) Implementieren Sie mithilfe von Semaphoren die Funktionen lesen() und schreiben(int wert). Ein Sensor soll durch schreiben(int wert) Daten in den Puffer schreiben, und die Verarbeitungsstation soll mit lesen() diese abholen können.
b) Erläutern Sie kurz Ihre Lösung in Bezug auf die verwendeten Semaphoren und ihre Bedeutung.
c) Welche Probleme bezüglich der gesammelten Daten können durch ungünstiges Verhalten von den Sensoren und der Verarbeitungsstation entstehen? Wie könnte man diese Probleme lösen?
Ich soll die beiden Methoden lesen() und schreiben(int wert). Man könnte das ganze in c++ programmieren.
Wie sieht der Lösungsansatz für so eine Aufgabe aus. Kann mir jemand helfen?
Viele Grüße
Jan Rockenfeller