Algoritme de Dekkers

Autora: Robert Simon
Data De La Creació: 17 Juny 2021
Data D’Actualització: 24 Juny 2024
Anonim
Race Conditions and How to Prevent Them - A Look at Dekker’s Algorithm
Vídeo: Race Conditions and How to Prevent Them - A Look at Dekker’s Algorithm

Content

Definició: què significa l'algoritme de Dekkers?

L’algorisme de Dekker és el primer algorisme conegut que resol el problema d’exclusió mútua en una programació simultània. Està acreditat a Th. J. Dekker, matemàtic holandès que va crear l'algorisme per a un altre grup. L’algoritme Dekkers s’utilitza en la cua de processos i permet que dos fils diferents puguin compartir el mateix recurs d’un sol ús sense conflicte mitjançant la memòria compartida per a la comunicació.


Una introducció a Microsoft Azure i al Microsoft Cloud | Durant aquesta guia, podreu conèixer què és la informàtica en núvol i com Microsoft Azure us pot ajudar a migrar i executar el vostre negoci des del núvol.

Techopedia explica l'algoritme de Dekkers

L’algoritme de Dekker permetrà només un procés utilitzar un recurs si dos processos intenten fer-lo servir alhora. L’element més destacat de l’algoritme és la manera com resol aquest problema. Aconsegueix evitar el conflicte fent valer l’exclusió mútua, és a dir, que només un procés pot utilitzar el recurs alhora i s’esperarà si un altre procés l’utilitza. Això s’aconsegueix amb l’ús de dos “banderes” i un “token”. Els indicadors indiquen si un procés vol entrar o no a la secció crítica (CS); un valor d’1 significa TRUE que el procés vol entrar al CS, mentre que 0, o FALSE, significa el contrari. El testimoni, que també pot tenir un valor d'1 o 0, indica prioritat quan els dos processos tenen els seus indicadors a TRUE.

Aquest algorisme pot fer complir amb èxit l'exclusió mútua però comprovarà constantment si la secció crítica està disponible i, per tant, perd temps significatiu en el processador. Crea el problema conegut com a sincronització de bloqueig, en el qual cada fil només es pot executar en estricta sincronització. També és no expandible, ja que només admet un màxim de dos processos d'exclusió mútua.