Πόροι

Ένα σύνολο διεργασιών βρίσκεται σε αδιέξοδο (deadlock) αν κάθε διεργασία του συνόλου περιμένει ένα γεγονός που μόνο μια άλλη διεργασία του συνόλου μπορεί να προκαλέσει. (Tanenbaum)

Τα αδιέξοδα δημιουργούνται ως αποτέλεσμα της διαχείρισης των πόρων από τις διαδικασίες. Κάθε πόρος (resource) μπορεί να είναι προεκχωρήσιμος (preemptable) δηλαδή να αποδεσμευτεί από μια διεργασία που τον κατέχει χωρίς παρενέργιες ή μη προεκχωρήσιμος (nonpreemptable). Παραδείγματα της πρώτης κατηγορίας είναι ο δίσκος και η μνήμη. Παραδείγματα της δεύτερης κατηγορίας είναι ο εκτυπωτής και η μονάδα ταινίας. Τυπικά μια διεργασία χρησιμοποιεί έναν πόρο ως εξής:

  1. Ζητά τον πόρο από το λειτουργικό σύστημα (αίτηση χρήσης).
  2. Χρησιμοποιεί τον πόρο.
  3. Ενημερώνει το λειτουργικό σύστημα ότι δε χρειάζεται άλλο τον πόρο (αποδέσμευση).
Η διαδικασία της αίτησης και η αντιμετώπιση αιτήσεων που δεν μπορούν να καλυφθούν εξαρτόνται από το λειτουργικό σύστημα.