Αμοιβαίος αποκλεισμός (υπολογιστές): Διαφορά μεταξύ των αναθεωρήσεων

Περιεχόμενο που διαγράφηκε Περιεχόμενο που προστέθηκε
μΧωρίς σύνοψη επεξεργασίας
Χωρίς σύνοψη επεξεργασίας
Γραμμή 1:
Στην [[Πληροφορική|επιστήμη των υπολογιστών]] με τον όρο '''αμοιβαίο αποκλεισμό''' ([[Αγγλικά]]: ''Mutual exclusion'') αναφερόμαστε στην διασφάλιση παράλληλων διεργασιών όταν φτάνουν σε μια ''κρίσιμη περιοχή'' όπου υπάρχει διαμοιρασμός πόρων (όπως μια κοινή θέση μνήμης). Η ιδέα είναι να υπάρξει κάποιος μηχανισμός ώστε όταν δύο παράλληλες διεργασίες θέλουν να χρησιμοποιήσουν ένα κοινό πόρο να μην υπάρχει σύγκρουση επεξεργασίας αλλά να διασφαλίζεται ένας αμοιβαίος αποκλεισμός. Το πρόβλημα αυτό μελετήθηκε από τον [[Έντσγκερ Ντάικστρα|Ντάικστρα]] σε ακαδημαϊκή δημοσίευση το 1965 με τίτλο ''Λύση στο πρόβλημα ελέγχου παράλληλων και ταυτόχρονων προγραμμάτων''. Θεωρείται ο πρώτος που ασχολήθηκε με ταυτόχρονους αλγόριθμους. <ref>{{cite journal|last=Dijkstra|first=E. W.|title=Solution of a problem in concurrent programming control|journal=Communications of the ACM|volume=8|issue=9|pages=569|doi=10.1145/365559.365617|year=1965}}</ref><ref name="Taubenfeld:2004">Taubenfeld, [http://www.cs.tau.ac.il/~afek/gadi.pdf The Black-White Bakery Algorithm]. In Proc. Distributed Computing, 18th international conference, DISC 2004. Vol 18, 56-70, 2004</ref> <ref>{{Citation | url=http://www.podc.org/influential/2002.html | title=PODC Influential Paper Award: 2002 | work=ACM Symposium on Principles of Distributed Computing | accessdate=2009-08-24}}</ref>
{{συγχώνευση|σημαφόρος (υπολογιστές)}}
Με τον όρο '''αμοιβαίος αποκλεισμός''' εννοείται το πρόβλημα της εξασφάλισης παρουσίας ακριβώς μιας διεργασίας στη [[κρίσιμη περιοχή]] ενός προγράμματος σε ένα υπολογιστικό σύστημα πολλαπλών διεργασιών που μοιράζονται πόρους.
 
Με τον αμοιβαίο αποκλεισμό μπορούν να επιλυθούν πολλά προβλήματα που προκύπτουν από την ταυτόχρονη προσπέλαση κοινών πόρων. Τέτοια ζητήματα εμφανίζονται κυρίως (αλλά όχι αποκλειστικά) στο χώρο των [[λειτουργικό σύστημα|λειτουργικών συστημάτων]] αλλά και των [[βάση δεδομένων|βάσεων δεδομένων]]. Οι [[σημαφόρος (υπολογιστές)|σημαφόροι]] αποτελούν μηχανισμό με τον οποίο μπορεί να επιτευχθεί αμοιβαίος αποκλεισμός μεταξύ δύο ή περισσοτέρων διεργασιών.
 
==Παραπομπές==
{{παραπομπές}}
 
[[Κατηγορία:Προγραμματισμός]]