Dekkers algoritmus

Szerző: Robert Simon
A Teremtés Dátuma: 17 Június 2021
Frissítés Dátuma: 24 Június 2024
Anonim
We’re building a dystopia just to make people click on ads | Zeynep Tufekci
Videó: We’re building a dystopia just to make people click on ads | Zeynep Tufekci

Tartalom

Meghatározás - Mit jelent a Dekkers algoritmus?

A Dekker algoritmusa az első ismert algoritmus, amely megoldja a kölcsönös kizárási problémát az egyidejű programozás során. Th-nak jóváírják. J. Dekker, egy holland matematikus, aki elkészítette az algoritmust egy másik elemre. A Dekkers algoritmust használják a folyamatsorba állításhoz, és lehetővé teszik, hogy két különböző szál szétválaszthassa ugyanazt az egyszeri felhasználású erőforrást konfliktusok nélkül, megosztott memória felhasználásával a kommunikációhoz.


Bevezetés a Microsoft Azure és a Microsoft Cloud | A jelen útmutató során megtanulja, mi szól a felhőalapú számítástechnikából, és hogyan segítheti a Microsoft Azure a felhőből történő migrációt és az üzleti vállalkozás futtatását.

A Techopedia magyarázza a Dekkers algoritmust

A Dekker algoritmusa csak egyetlen folyamatnak engedélyezi az erőforrás használatát, ha két folyamat egyszerre próbálja használni. Az algoritmus kiemelése az, hogyan oldja meg ezt a problémát. A kölcsönös kizárás kikényszerítésével sikerül megakadályozni a konfliktust, azaz egyszerre csak egy folyamat használhatja az erőforrást, és várni fog, ha egy másik folyamat használja. Ez két „zászló” és „token” használatával érhető el. A zászlók jelzik, hogy egy folyamat belép-e a kritikus szakaszba (CS), vagy sem; az 1 érték azt jelenti, hogy IGAZ, hogy a folyamat be akar lépni a CS-be, míg a 0 vagy hamis az ellenkezőjét jelenti. A token, amelynek értéke 1 vagy 0 is lehet, prioritást jelez, ha mindkét folyamat jelzői igazra vannak állítva.

Ez az algoritmus sikeresen végrehajthatja a kölcsönös kizárást, de folyamatosan tesztelni fogja, hogy rendelkezésre áll-e a kritikus szakasz, ezért pazarolja a processzor jelentős idejét. Ez létrehozza a lockstep szinkronizálás néven ismert problémát, amelyben minden szál csak szigorú szinkronizálás mellett hajtható végre. Nem bővíthető, mivel csak legfeljebb két folyamatot támogat a kölcsönös kizáráshoz.