Sobes.tech
Junior — Middle

Μπορείτε να εξηγήσετε τι είναι ο αμοιβαίος αποκλεισμός στα λειτουργικά συστήματα και πώς προκύπτει;

sobes.tech AI

Απάντηση από AI

Το αδιέξοδο (deadlock) είναι μια κατάσταση στο λειτουργικό σύστημα όπου δύο ή περισσότεροι διαδικασίες μπλοκάρουν αμοιβαία, περιμένοντας την απελευθέρωση πόρων που κατέχουν η μία την άλλη.

Εμφανίζεται όταν ταυτόχρονα πληρούνται τέσσερις συνθήκες:

  1. Αμοιβαία αποκλεισμός — ένας πόρος μπορεί να κατέχεται μόνο από μία διαδικασία κάθε φορά.
  2. Κράτηση και αναμονή — μια διαδικασία κρατάει έναν πόρο και περιμένει έναν άλλο.
  3. Αδυναμία αναγκαστικής απελευθέρωσης — μια διαδικασία δεν μπορεί να αναγκαστεί να απελευθερώσει έναν πόρο.
  4. Κυκλική αναμονή — υπάρχει ένας κύκλος διαδικασιών, καθεμία από τις οποίες περιμένει έναν πόρο που κατέχεται από την επόμενη στη σειρά.

Παράδειγμα: η διαδικασία A έχει καταλάβει τον πόρο 1 και περιμένει τον πόρο 2, ενώ η διαδικασία B έχει καταλάβει τον πόρο 2 και περιμένει τον πόρο 1 — και οι δύο είναι αόριστα μπλοκαρισμένοι.