Domov Razvoj Kaj je algoritem Dekkerja? - definicija iz tehopedije

Kaj je algoritem Dekkerja? - definicija iz tehopedije

Kazalo:

Anonim

Opredelitev - Kaj pomeni Dekkerjev algoritem?

Dekkerjev algoritem je prvi znani algoritem, ki rešuje problem medsebojne izključitve v sočasnem programiranju. Zaslužen je za Th. J. Dekker, nizozemski matematik, ki je algoritem ustvaril za drug kontekst. Dekkerjev algoritem se uporablja v čakalnih vrstah procesov in omogoča dvema različnima nitma, da si brez konflikta izmenjujeta isti vir za enkratno uporabo z uporabo skupnega pomnilnika za komunikacijo.

Tehopedija razlaga Dekkerjev algoritem

Dekkerjev algoritem bo dovolil le enemu procesu uporabo vira, če ga dva procesa poskušata uporabljati hkrati. Vrhunec algoritma je, kako rešuje to težavo. Konflikt uspe preprečiti z medsebojno izključitvijo, kar pomeni, da samo en postopek lahko hkrati uporablja vir in bo počakal, če ga uporablja drug postopek. To dosežemo z uporabo dveh "zastav" in "žetona". Oznake označujejo, ali želi postopek vstopiti v kritični odsek (CS) ali ne; vrednost 1 pomeni TRUE, da želi postopek vnesti CS, medtem ko 0 ali FALSE pomeni obratno. Žeton, ki ima lahko tudi vrednost 1 ali 0, označuje prednost, kadar imata oba postopka zastave na TRUE.


Ta algoritem lahko uspešno uveljavi medsebojno izključitev, vendar bo nenehno preverjal, ali je na voljo kritični odsek in zato izgublja pomemben čas procesorja. Ustvari težavo, znano kot sinhronizacija z zaklepanjem, pri kateri se lahko vsaka nit izvaja le v strogi sinhronizaciji. Prav tako je nerazširljivo, saj podpira samo dva procesa za medsebojno izključitev.

Kaj je algoritem Dekkerja? - definicija iz tehopedije