Αδιέξοδα και μοντελοποίησή τους
Οι παρακάτω συνθήκες πρέπει να ικανοποιούνται για να δημιουργηθεί
αδιέξοδο:
- Αμοιβαίος αποκλεισμός
- Κάθε πόρος είναι δεσμευμένος ή διαθέσιμος.
- Δέσμευση και αναμονή
- Διεργασίες που δεσμεύουν πόρους μπορούν να
ζητούν και νέους.
- Μη προεκχώρηση
- Μόνο η διεργασία που έχει δεσμεύσει τους πόρους μπορεί
να τους αποδεσμεύσει.
- Κυκλική αναμονή
- Οι διαδικασίες που ζητούν πόρους πρέπει να σχηματίζουν
κύκλο.
Με βάση την τελευταία συνθήκη τα αδιέξοδα μοντελοποιούνται ως κατευθυνόμενοι
γράφοι με κόμβους τις διεργασίες και τους πόρους.
- Ακμή από διεργασία σε πόρο σημαίνει πως η διεργασία περιμένει να ελευθερωθεί
ο πόρος αυτός.
- Ακμή από πόρο σε διεργασία σημαίνει πως ο πόρος είναι δεσμευμένος από
την αντίστοιχη διεργασία.
Οι παρακάτω στρατηγικές μπορούν να χρησιμοποιηθούν για την αντιμετώπισή τους:
- Αγνόηση του προβλήματος
- Ανίχνευση και επανόρθωση
- Δυναμική αποφυγή με προσεκτική κατανομή των πόρων
- Πρόληψη με αναίρεση των παραπάνω αναγκαίων συνθηκών