Ü8 H2: Deadlock

Benutzeravatar
der Interpeter
Mausschubser
Mausschubser
Beiträge: 73
Registriert: 30. Okt 2007 22:24

Ü8 H2: Deadlock

Beitrag von der Interpeter »

Gibt es da eine methodische Vorgehensweise mit der man rauskriegt ob es zu einem Deadlock kommen kann?
Im Script habe ich zumindest nicht das nötige Wissen gefunden um diese Aufgabe zu bearbeiten und mein Tutor konnte mir auch nicht direkt erklären wie man auf die Lösung kommen kann.

Habt ihr ein paar Tipps für mich? :?
I never comment my sourcecode. What's HARD to write must be HARD to read!

mw1039
Computerversteher
Computerversteher
Beiträge: 346
Registriert: 12. Apr 2011 12:18

Re: Ü8 H2: Deadlock

Beitrag von mw1039 »

Eine Moeglichkeit ist, alle denkbaren Ablaeufe durchzuspielen. Dazu kann man vorher den Zustandsraum reduzieren, indem man z.B. Semaphore rausnimmt, die die anderen Prozesse nicht interessieren. Klingt doof, wird aber teilweise wirklich gemacht. Frueher wurde in FGdI3 noch Promela und SPIN behandelt: http://en.wikipedia.org/wiki/SPIN_model_checker Aber ich glaube da faehrt man hier zu schweres Geraet auf.

Ansonsten kann man sich auch auf Ablaufvarianten konzentrieren, bei denen ein Kontextwechsel auf einen anderen Prozess stattfindet, sobald der zuvor laufende Prozess ein Betriebsmittel bekommen (und noch nicht wieder freigegeben) hat, das auch ein anderer braucht. Aber prinzipiell muss man, sofern man es nicht zufaellig sofort sieht, einige Varianten durchspielen.

onbes
Mausschubser
Mausschubser
Beiträge: 98
Registriert: 30. Jul 2011 18:43

Re: Ü8 H2: Deadlock

Beitrag von onbes »

Könnte hier bei der a nicht doch ein Problem auftauchen?
Meine Überlegung: Wenn T den letzten Befehl V(A) abgearbeitet hat, fängt es wieder oben bei P(E) an. D.h. wenn in T jetzt wieder der Befehl P(A) ausgeführt wird, ist S auch mittlerweile in seinem 2. Druchlauf und beim Befehl P(B) (hat aber vorher sich schon das A geschnappt) und T würde jetzt auch das A haben wollen.
Ein Zyklus wäre das zwar nicht, aber doch ein kleines Problemchen oder nicht?:D

bzw. ist in der Zeichnung in b das E als Betriebsmittel nicht "verwendet" worden, weil man n Deadlock hatte und es dann egal war für die Aufgabe?

Antworten

Zurück zu „Archiv“