Ηλεκτρονική βοήθεια ESET

Αναζήτηση Ελληνικά
Επιλέξτε το θέμα

Αδιέξοδο

Ένα αδιέξοδο είναι μια κατάσταση όπου κάθε διεργασία υπολογιστή αναμένει έναν πόρο που έχει αντιστοιχιστεί σε μια άλλη διεργασία. Σε αυτήν την περίπτωση, δεν εκτελείται καμία από τις διεργασίες, επειδή ο απαιτούμενος πόρος δεσμεύεται από μια άλλη διεργασία η οποία αναμένει επίσης την αποδέσμευση ενός άλλου πόρου. Είναι σημαντικό ένα αδιέξοδο να προλαμβάνεται προτού προκύψει. Η εμφάνιση ενός αδιεξόδου μπορεί να ανιχνευτεί από τον προγραμματισμό εργασιών πόρων, ο οποίος βοηθά το λειτουργικό σύστημα να παρακολουθεί όλους τους πόρους που έχουν κατανεμηθεί σε διαφορετικές διεργασίες. Το αδιέξοδο μπορεί να προκύψει εάν ισχύουν ταυτόχρονα οι τέσσερις ακόλουθες συνθήκες:

Καμία προληπτική ενέργεια - Ένας πόρος μπορεί να αποδεσμευτεί μόνον οικειοθελώς από τη διεργασία που τον δεσμεύει, αφού η διεργασία ολοκληρώσει την εργασία της.

Αμοιβαία εξαίρεση – Ένας ειδικός τύπος δυαδικού σηματοφορέα που χρησιμοποιείται για τον έλεγχο πρόσβασης στον κοινόχρηστο πόρο. Επιτρέπει στις τρέχουσες εργασίες υψηλότερης προτεραιότητας να παραμένουν μπλοκαρισμένες για το μικρότερο δυνατό χρονικό διάστημα.

Δέσμευση και αναμονή – Σε αυτήν την κατάσταση, οι διεργασίες πρέπει να διακόψουν τη δέσμευση μεμονωμένων ή πολλαπλών πόρων όταν αναμένουν ταυτόχρονα έναν ή περισσότερους άλλους πόρους.

Κυκλική αναμονή – Επιβάλλει μια συνολική σειρά όλων των τύπων πόρων. Η κυκλική αναμονή απαιτεί επίσης κάθε διεργασία να αιτείται πόρους με αύξοντα αριθμό σειράς.

 

Υπάρχουν τρεις τρόποι χειρισμού ενός αδιεξόδου:

Μην αφήνετε το σύστημα σε κατάσταση αδιεξόδου.

Αφήστε να προκύψει το αδιέξοδο και, στη συνέχεια, εκτελέστε διαδικασία προτίμησης για να το χειριστείτε όταν συμβεί.

Εάν προκύψει αδιέξοδο, επανεκκινήστε το σύστημα.