Zuhause Entwicklung Was ist Dekkers Algorithmus? - Definition aus techopedia

Was ist Dekkers Algorithmus? - Definition aus techopedia

Inhaltsverzeichnis:

Anonim

Definition - Was bedeutet Dekkers Algorithmus?

Der Dekker-Algorithmus ist der erste bekannte Algorithmus, der das Problem des gegenseitigen Ausschlusses bei der gleichzeitigen Programmierung löst. Es wird Th gutgeschrieben. J. Dekker, ein niederländischer Mathematiker, der den Algorithmus für einen anderen Kontext entwickelte. Der Dekker-Algorithmus wird in der Prozesswarteschlange verwendet und ermöglicht es zwei verschiedenen Threads, dieselbe Ressource für den einmaligen Gebrauch ohne Konflikte gemeinsam zu nutzen, indem der gemeinsame Speicher für die Kommunikation verwendet wird.

Techopedia erklärt den Dekker-Algorithmus

Mit dem Dekker-Algorithmus kann nur ein einzelner Prozess eine Ressource verwenden, wenn zwei Prozesse gleichzeitig versuchen, sie zu verwenden. Das Highlight des Algorithmus ist, wie es dieses Problem löst. Es ist erfolgreich, den Konflikt zu verhindern, indem der gegenseitige Ausschluss erzwungen wird. Dies bedeutet, dass jeweils nur ein Prozess die Ressource verwenden kann und wartet, ob ein anderer Prozess sie verwendet. Dies wird durch die Verwendung von zwei "Flags" und einem "Token" erreicht. Die Flags geben an, ob ein Prozess in den kritischen Bereich (CS) eintreten möchte oder nicht. Ein Wert von 1 bedeutet WAHR, dass der Prozess die CS eingeben möchte, während 0 oder FALSCH das Gegenteil bedeuten. Das Token, das auch den Wert 1 oder 0 haben kann, gibt die Priorität an, wenn für beide Prozesse die Flags auf TRUE gesetzt sind.


Dieser Algorithmus kann den gegenseitigen Ausschluss erfolgreich erzwingen, prüft jedoch ständig, ob der kritische Abschnitt verfügbar ist, und verschwendet daher erhebliche Prozessorzeit. Es entsteht das als Lockstep-Synchronisation bekannte Problem, bei dem jeder Thread möglicherweise nur in strikter Synchronisation ausgeführt wird. Es ist auch nicht erweiterbar, da es nur maximal zwei Prozesse zum gegenseitigen Ausschluss unterstützt.

Was ist Dekkers Algorithmus? - Definition aus techopedia