Διαφορά κλειδιού: Το αδιέξοδο αναφέρεται στην κατάσταση κατά την οποία οι διαδικασίες είναι κολλημένες σε κυκλική αναμονή για τους πόρους. Από την άλλη πλευρά, η πείνα εμφανίζεται όταν μια διαδικασία περιμένει έναν πόρο επ 'αόριστον. Το αδιέξοδο συνεπάγεται πείνα, αλλά η πείνα δεν συνεπάγεται αδιέξοδο.
Ένα απλό παράδειγμα είναι ένα σύστημα με δύο μονάδες μαγνητοταινίας και δύο επεξεργασίες το καθένα καταλαμβάνει μία μονάδα ταινίας και περιμένει το άλλο ως την απαίτηση να προχωρήσει περαιτέρω.
Είναι σημαντικό να αναφέρουμε ότι η κατάσταση της αδράνειας occus εάν αυτές οι τέσσερις συνθήκες ισχύουν όλα ταυτόχρονα -
- Αμοιβαίο αποκλεισμό - ένας πόρος μπορεί να χρησιμοποιηθεί μόνο από μια διαδικασία κάθε φορά
- Κρατήστε και περιμένετε - μια διαδικασία που καταλαμβάνει τουλάχιστον έναν πόρο πρέπει να αποκτήσει έναν πρόσθετο πόρο ο οποίος καταλαμβάνεται από κάποια άλλη διαδικασία και ως εκ τούτου η διαδικασία αυτή περιμένει να κυκλοφορήσει ο πόρος αυτός
- Χωρίς προτίμημα - ο πόρος απελευθερώνεται μόνο από τη διαδικασία που το κατέλαβε, μετά την ολοκλήρωση της αποστολής του.
- Κυκλική αναμονή - όλες οι διαδικασίες στις ομάδες περιμένουν έναν πόρο ο οποίος κρατείται από άλλες διεργασίες, η οποία περιλαμβάνει ακόμη και την τελευταία διαδικασία στο σετ.
Αυτό συμβαίνει επειδή μια διαδικασία χειρότερης προτεραιότητας, η nevers, παίρνει τον πόρο λόγω μιας συνεχούς ροής διαδικασιών μεγαλύτερης προτεραιότητας από αυτήν και επομένως η διαδικασία μπορεί να πρέπει να περιμένει για πάντα. Η λύση για την αντιμετώπιση της πείνας είναι να διασφαλιστεί ότι ένας ανεξάρτητος διαχειριστής θα πρέπει να διαχειρίζεται την κατανομή των πόρων, διασφαλίζοντας ότι κάθε διαδικασία λαμβάνει τον πόρο σε κάποιο χρονικό σημείο. Πρέπει να αποφεύγονται τυχαίες και ανεξέλεγκτες επιλογές ή ανταγωνισμός για την αποφυγή της πείνας. Το αδιέξοδο συνεπάγεται λιμοκτονία, αλλά η λιμοκτονία δεν συνεπάγεται αδιέξοδο.
Επομένως, το αδιέξοδο και η λιμοκτονία διαφέρουν μεταξύ τους. Το αδιέξοδο συμβαίνει όταν καμία από τις διαδικασίες του συνόλου δεν είναι σε θέση να προχωρήσει λόγω της κατοχής των απαιτούμενων πόρων από κάποια άλλη διαδικασία. Από την άλλη πλευρά, η πείνα εμφανίζεται όταν μια διαδικασία περιμένει για αόριστο χρονικό διάστημα για να πάρει τον πόρο που χρειάζεται.
Σύγκριση μεταξύ αδιεξόδου και λιμοκτονίας:
Αδιέξοδο | Πείνα | |
Ορισμός | Το αδιέξοδο συμβαίνει όταν καμία από τις διαδικασίες του συνόλου δεν είναι σε θέση να προχωρήσει λόγω της κατοχής των απαιτούμενων πόρων από κάποια άλλη διαδικασία | Η λιμοκτονία εμφανίζεται όταν μια διαδικασία περιμένει για αόριστο χρονικό διάστημα για να πάρει τον πόρο που χρειάζεται. |
Αλλο όνομα | Κυκλική αναμονή | Έζησε κλειδαριά |
Δημιουργία συνθηκών | Αυτές οι τέσσερις συνθήκες προκύπτουν ταυτόχρονα - αμοιβαίος αποκλεισμός, κρατήστε και περιμένετε, χωρίς προτίμημα και κυκλικό πνεύμα | Ανεξέλεγκτη διαχείριση των πόρων Προτεραιότητες των διαδικασιών που επιβάλλονται αυστηρά Έλλειψη πόρων |
Τεχνικές αποφυγής / πρόληψης |
|
|
Πρόοδος | Καμία διαδικασία δεν μπορεί να σημειώσει πρόοδο | Εκτός από τη διαδικασία θύματος, άλλες διαδικασίες μπορούν να προχωρήσουν ή να προχωρήσουν |
Κατάληξη | Απαιτεί εξωτερική παρέμβαση | Μπορεί ή δεν μπορεί να απαιτεί εξωτερική παρέμβαση |