Δικτύωση

Γνώση Υπολογιστών >> Δικτύωση >  >> Ασφάλεια Δικτύων

Τι είναι μια αποκλειστική κλειδαριά;

Μια αποκλειστική κλειδαριά, επίσης γνωστή ως κλειδαριά εγγραφής, είναι ένας τύπος κλειδαριάς στον ταυτόχρονη προγραμματισμό που επιτρέπει μόνο ένα Νήμα ή διαδικασία για πρόσβαση σε έναν κοινό πόρο ανά πάσα στιγμή. Οποιοδήποτε άλλο νήμα ή διαδικασία που προσπαθεί να αποκτήσει μια αποκλειστική κλειδαριά στον ίδιο πόρο θα μπλοκαριστεί μέχρι να απελευθερωθεί η κλειδαριά.

Εδώ είναι μια κατανομή:

* Αποκλειστικότητα: Το καθοριστικό χαρακτηριστικό. Μόνο μία οντότητα μπορεί να κρατήσει την κλειδαριά κάθε φορά.

* Αποκλεισμός: Τα νήματα που προσπαθούν να αποκτήσουν την κλειδαριά όταν είναι ήδη κρατιζόμενοι είναι μπλοκαρισμένα (κοιμούνται) και δεν θα προχωρήσουν μέχρι να γίνει διαθέσιμη η κλειδαριά.

* Χρήση περιπτώσεων: Οι αποκλειστικές κλειδαριές είναι απαραίτητες όταν οι εργασίες σε έναν κοινό πόρο πρέπει να είναι ατομικές (αδιάλειπτες) για τη διατήρηση της συνέπειας των δεδομένων. Αυτό είναι κρίσιμο σε σενάρια όπως η ενημέρωση μιας εγγραφής βάσης δεδομένων, η τροποποίηση ενός αρχείου ή η πρόσβαση σε μια θέση κοινής μνήμης. Εάν τα πολλαπλά νήματα τροποποίησαν ταυτόχρονα τα ίδια δεδομένα χωρίς αποκλειστικό κλείδωμα, τα δεδομένα που προκύπτουν θα ήταν απρόβλεπτα και πιθανώς αλλοιωμένα.

Αντίθετα με κοινόχρηστες κλειδαριές:

Οι αποκλειστικές κλειδαριές είναι διαφορετικές από τις κοινόχρηστες κλειδαριές (διαβάστε κλειδαριές). Οι κοινόχρηστες κλειδαριές επιτρέπουν σε πολλαπλά σπειρώματα * να διαβάσουν ταυτόχρονα έναν κοινόχρηστο πόρο, αλλά εμποδίζουν κάθε νήμα να γράφει στον πόρο μέχρι να απελευθερωθούν όλες οι κοινόχρηστες κλειδαριές.

Εφαρμογή:

Οι αποκλειστικές κλειδαριές υλοποιούνται χρησιμοποιώντας διάφορα πρωταρχικά πρωταρχικά συγχρονισμού ανάλογα με τη γλώσσα προγραμματισμού και το περιβάλλον. Παραδείγματα περιλαμβάνουν:

* mutexes (αμοιβαίος αποκλεισμός): Μια κοινή εφαρμογή σε πολλά λειτουργικά συστήματα και γλώσσες προγραμματισμού.

* Σημειογραφικά: Μπορεί να χρησιμοποιηθεί για την εφαρμογή αποκλειστικών κλειδαριών, αν και προσφέρουν γενικότερες δυνατότητες συγχρονισμού.

* Οθόνες: Κατασκευές υψηλότερου επιπέδου που ενσωματώνουν τους κοινούς πόρους και τους μηχανισμούς συγχρονισμού.

Παράδειγμα (εννοιολογική):

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

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα