Αλγόριθμος Dekkers

Συγγραφέας: Robert Simon
Ημερομηνία Δημιουργίας: 17 Ιούνιος 2021
Ημερομηνία Ενημέρωσης: 24 Ιούνιος 2024
Anonim
ΠΛΗ10 ΜΑΘΗΜΑ 2.7 - ΑΝΑΔΡΟΜΗ - ΕΦΑΡΜΟΓΗ 2 - Ο αλγόριθμος του Ευκλείδη για τον ΜΚΔ
Βίντεο: ΠΛΗ10 ΜΑΘΗΜΑ 2.7 - ΑΝΑΔΡΟΜΗ - ΕΦΑΡΜΟΓΗ 2 - Ο αλγόριθμος του Ευκλείδη για τον ΜΚΔ

Περιεχόμενο

Ορισμός - Τι σημαίνει ο αλγόριθμος Dekkers;

Ο αλγόριθμος του Dekker είναι ο πρώτος γνωστός αλγόριθμος που λύνει το πρόβλημα αμοιβαίου αποκλεισμού στον παράλληλο προγραμματισμό. Πιστεύεται στον Th. Ο J. Dekker, ένας ολλανδός μαθηματικός που δημιούργησε τον αλγόριθμο για έναν άλλο con. Ο αλγόριθμος Dekkers χρησιμοποιείται στην ουρά διαδικασιών και επιτρέπει σε δύο διαφορετικά θέματα να μοιράζονται τον ίδιο πόρο μιας χρήσης χωρίς σύγκρουση χρησιμοποιώντας κοινή μνήμη για επικοινωνία.


Εισαγωγή στη Microsoft Azure και το Microsoft Σε αυτό τον οδηγό θα μάθετε τι είναι το cloud computing και πώς η Microsoft Azure μπορεί να σας βοηθήσει να μεταφέρετε και να εκτελέσετε την επιχείρησή σας από το cloud.

Η Techopedia εξηγεί τον Αλγόριθμο Dekkers

Ο αλγόριθμος του Dekker θα επιτρέψει σε μια μόνο διαδικασία να χρησιμοποιήσει έναν πόρο εάν δύο διαδικασίες προσπαθούν να το χρησιμοποιήσουν ταυτόχρονα. Το επίκεντρο του αλγορίθμου είναι το πώς λύνει αυτό το πρόβλημα. Καταφέρνει να αποτρέψει τη σύγκρουση επιβάλλοντας τον αμοιβαίο αποκλεισμό, πράγμα που σημαίνει ότι μόνο μία διαδικασία μπορεί να χρησιμοποιήσει τον πόρο κάθε φορά και θα περιμένει αν χρησιμοποιείται κάποια άλλη διαδικασία. Αυτό επιτυγχάνεται με τη χρήση δύο "σημαιών" και ενός "συμβόλου". Οι σημαίες υποδεικνύουν εάν μια διαδικασία θέλει να εισέλθει στο κρίσιμο τμήμα (CS) ή όχι. μια τιμή 1 σημαίνει TRUE ότι η διαδικασία θέλει να εισέλθει στο CS, ενώ 0, ή FALSE, σημαίνει το αντίθετο. Το διακριτικό, το οποίο μπορεί επίσης να έχει τιμή 1 ή 0, δείχνει προτεραιότητα όταν και οι δύο διαδικασίες έχουν τις σημαίες τους ρυθμισμένες σε TRUE.

Αυτός ο αλγόριθμος μπορεί επιτυχώς να επιβάλει αμοιβαίο αποκλεισμό, αλλά θα ελέγχει διαρκώς κατά πόσον είναι διαθέσιμο το κρίσιμο τμήμα και κατά συνέπεια σπαταλάει σημαντικό χρόνο επεξεργαστή. Δημιουργεί το πρόβλημα γνωστό ως συγχρονισμό lockstep, στο οποίο κάθε νήμα μπορεί να εκτελείται μόνο με αυστηρό συγχρονισμό. Επίσης δεν είναι επεκτάσιμη, καθώς υποστηρίζει μόνο δύο διαδικασίες για αμοιβαίο αποκλεισμό.