Notwendige Bedingungen für Verklemmung

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Notwendige Bedingungen für Verklemmung
Moin,

ich hab gerade erfahren, dass in der Vorlesung an der Folie H7 eine Verbesserung vorgenommen wurde! Es sollen angeblich nicht mehr 4 notwendige Bedingungen für einen Deadlock sein, sondern nur 3 und eine hinreichende. Am Foliensatz wurde allerdings keine Verbesserung durchgeführt und der gute Tanenbaum redet auch nur von 4 notwendigen Bedingungen! Was stimmt denn nun?


Hi,
also ich habe die Änderung auch in meinem Skript und habe das so verstanden. Nur wenn die ersten drei Bedingungen erfüllt sind kann eine Verklemmung eintreten.-> notwendig. ‘Kann’ bedeutet, dass es aber immer noch Reihenfolgen der Betriebsmittelbelegungen gibt, die zu keiner Verklemmung führen. Ist aber zusätzlich ein Zyklus vorhanden, dann führt es 100% zu einer Verklemmung. Ein Zyklus alleine, ohne die 3 notwendigen Bedingungen kann harmlos sein, das ein Bertriebsmitteltyp ja mehere Instanzen haben kann.->hinreichend

macht das Sinn oder ist das völliger Mist, was ich mir dazu aufgeschrieben habe :vogel: ?


also, ich habe die änderung auch im skript, halte sie aber für falsch.
vidic: nach deiner argumentation müssten auch die ersten drei bedingungen hinreichend sein, daher halte ich sie auch für falsch

meiner meinung nach gibt es 4 notwendige bedingungen.
erklärung:
ich ziehe alles an dem beispiel “wenn es regnet, dann ist die straße nass” auf. (sollte ich da schon einen fehler machen, dann ist natürlich alles folgende mist) dabei ist “wenn es regnet” die hinreichende bedingung. notwendig ist es nicht, weil ich zum beispiel mein spülwasser auf die straße gekippt haben könnte und sie auch dadurch nass sein könnte.
wenn also ein zusammenhang “aus A folgt zwingend B” gilt, dann ist A darin eine hinreichende bedingung.

aus zyklischem warten folgt aber meiner meinung nach nicht zwingend ein deadlock. es könnte z.b. sein, dass der entzug von betriebsmitteln möglich ist, aber aus “höflichkeit” um 5 sekunden verzögert wird. dann warten die prozesse zwar zyklisch, aber es ist kein deadlock.
→ zyklisches warten ist keine hinreichende bedingung

vermutlich ist da irgendwo ein bock drin, aber wer weiss? juk, zur hilf!


Wenn die ersten drei Bedingungen erfüllt sind, dann schon. Also sind die ersten drei notwendig…

Irgendwo ist aber der Wurm drin.Hilfe :wand:


Also ich seh das eigentlich wie der lo_pez. Das einzige, was ich mir an dem Tag aufgeschrieben habe war, dass der Zyklus im Betriebsmittelgraph gerade keine hinreichende Bedingung für ein Verklemmung ist, es sei denn jedes Betriebsmittel hat nur eine Instanz! Selbst wenn es nur eine Instanz pro Betriebsmittel gibt, muss ja nicht unbedingt ein Deadlock entstehen, wenn die 3 andern Bedingung nicht erfüllt sind.Denn warten die im Zyklus, dass Freigeben von Betriebsmitteln ist aber erlaubt → keine Verklemmung mehr! Ist es kein exklusiver Zugriff-> kein Deadlock mehr, brauchen die alle nur eine Instanz → eh keine Verklemmung.
Ich bin also irgendwie immer noch für 4 notwendige Bedingungen!


hm… hab ich mich da vertan?

Also ich meine, dass der Zyklus in der Vorlesung als hinreichende Bedingung vorgestellt wurde.

Ein Zyklus im Betriebsmittelgraph ist notwendige Bedingung.

Und zyklisches Warten ist hinreichende Bedingung, aber damit zyklisches Warten möglich wird, müssen erst die 4 notwendigen Bedingungen am Start sein, so seh ich das.


Das verstehe ich jetzt nicht ganz:

[quote=hefepils]Und zyklisches Warten ist hinreichende Bedingung, aber damit zyklisches Warten möglich wird, müssen erst die 4 notwendigen Bedingungen am Start sein, so seh ich das.
[/quote]
Wenn zyklisches Warten hinreichend ist, bedeutet das doch, dass wenn zyklisches Warten auftritt ein Deadlock entstanden ist. Aber das ist doch nicht so, wenn die 3 anderen Bedingungen nicht erfüllt sind, also ist es nicht hinreichen!?


hm, ja, hast recht

ich habe unterschieden zwischen einem zyklus im Betriebsmittelgraphen und zyklischen warten.
Aber der Betriebsmittelgraph zeigt glaube ich die AKTUELLEN Anforderungen und Belegungen, von daher hab ich Mist geschrieben

Außerdem bin ich davon ausgegangen, dass, wenn man die Situation des zyklischen Wartens hat, bereits eine Verklemmung da ist, und der Entzug von Betriebsmitteln bei einem Prozess lediglich eine Auflösung der Verklemmung wäre…
Aber wenn der Entzug von Betriebsmitteln möglich ist, ist zyklisches Warten per Definition keine Verklemmung


Mhhh, ich find das immer noch nicht ganz logisch, aber das könnte daran liegen, dass ich vielleicht hinreichend falsch verstehe. Ich verstehe hinreichend so wie lo_pez es erklärt hat → Regen ist eine hinreichende Bedingung für eine nasse Straße, aber es ist keine notwendige. Seh ich das falsch? Warum dann zyklisches Warten nicht hinreichend ist, hab ich ja schon gesagt, nur zusammen mit den anderen 3 notwendigen Bedingungen kann an Deadlock entstehen. Nur zyklisches Warten ohne die andern 3 notw. Bedingungen führt definitiv nicht zum Deadlock. Hier könnte man natürlich agumentieren, dass wenn zyklisches Warten eingetreten ist, dass dann auch die anderen 3 notw. Bedingungen eingetreten sind. Ich fasse aber zyklisches Warten so auf, dass man z.B. kurz wartet, und dann z.B. ein Betriebsmittel wieder seine angeforderte Instanz frei gibt und der Deadlock wäre vermieden; wie gesagt, als Bsp., wenn die andern 3 notw. Bed. nicht erfüllt wären.


nö, ich glaube du verstehst das schon richtig mit dem hinreichend

ich war der meinung, das zyklisches warten ja eigentlich schon eine verklemmung ist

damit zyklisches warten möglich wird reicht ja aber, denke ich, schon ein zyklus im graph der möglichen anforderungen, und die tatsache, dass betriebsmittel nachgefordert werden können.

Wenn wir nun Betriebsmittel wieder entziehen können, kann ja trotzdem zyklisches Warten auftreten, es sei denn wir schauen wirklich danach, dass wir das durch Entzug der Betriebsmittel verhindern.

Und falls wir dann zyklisches Warten haben, und den Zyklus durch Entzug von Betriebsmitteln wieder auflösen, wäre das für mich eigentlich eher die auflösung einer bereits bestehenden Verklemmung.

Ist halt die Sache, ob man zyklisches Warten alleine als Verklemmung anerkennt, oder nicht.

boah, langsam wirds echt wirr :wink:
also: auswendiglernen und wenns gefragt wird einfach hinklatschen :smiley: :smiley: :smiley: