Διαφορά ανάμεσα στο αδιέξοδο και την πείνα στο λειτουργικό σύστημα

Συγγραφέας: Laura McKinney
Ημερομηνία Δημιουργίας: 3 Απρίλιος 2021
Ημερομηνία Ενημέρωσης: 23 Απρίλιος 2024
Anonim
ΤΟ ΚΛΙΜΑ.ΤΟ ΜΕΛΛΟΝ ΤΩΡΑ
Βίντεο: ΤΟ ΚΛΙΜΑ.ΤΟ ΜΕΛΛΟΝ ΤΩΡΑ

Περιεχόμενο


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

  1. Συγκριτικό διάγραμμα
  2. Ορισμός
  3. Βασικές διαφορές
  4. συμπέρασμα

Συγκριτικό διάγραμμα

Βάση σύγκρισηςΑδιέξοδοΠείνα
ΒασικόςΤο αδιέξοδο είναι εκεί όπου δεν προχωράει καμία διαδικασία, και μπλοκάρεται.Η λιμοκτονία είναι όπου οι διαδικασίες χαμηλής προτεραιότητας αποκλείονται και η διαδικασία υψηλής προτεραιότητας προχωρά.
Προκύπτει κατάστασηΗ εμφάνιση του Αμοιβαίου αποκλεισμού, Κρατήστε και περιμένετε, Καμία προτίμησή και Η εγκύκλιος περιμένετε ταυτόχρονα.Επιβολή προτεραιοτήτων, ανεξέλεγκτη διαχείριση των πόρων.
Αλλο όνομαΚυκλική αναμονή.Lifelock.
ΠόροιΣε αδιέξοδο, οι αιτούμενοι πόροι αποκλείονται από τις άλλες διαδικασίες.Με την πείνα, οι αιτούμενοι πόροι χρησιμοποιούνται συνεχώς από διαδικασίες υψηλής προτεραιότητας.
ΠρόληψηΑποφύγετε τον αμοιβαίο αποκλεισμό, κρατήστε και περιμένετε, και περιμένετε κυκλικά και επιτρέψτε την προτίμησή σας. Γηράσκων.


Ορισμός του αδιεξόδου

Το αδιέξοδο είναι μια κατάσταση όπου οι διάφορες διεργασίες της CPU ανταγωνίζονται για τον περιορισμένο αριθμό πόρων που διατίθενται στο CPU. Εδώ, κάθε διαδικασία έχει έναν πόρο και περιμένει να αποκτήσει έναν πόρο που κρατείται από κάποια άλλη διαδικασία. Όλες οι διαδικασίες περιμένουν τους πόρους με κυκλικό τρόπο. Στην παρακάτω εικόνα μπορείτε να δείτε ότι η διαδικασία P1 έχει αποκτήσει τον πόρο R2 ο οποίος απαιτείται από τη διαδικασία P2 και η διαδικασία P1 ζητά για τον πόρο R1 ο οποίος διατηρείται και πάλι από το R2. Επομένως η διαδικασία Ρ1 και Ρ2 σχηματίζει ένα αδιέξοδο.

Το αδιέξοδο είναι ένα συνηθισμένο πρόβλημα στα πολυεπεξεργασμένα λειτουργικά συστήματα, στα κατανεμημένα συστήματα και επίσης στα παράλληλα συστήματα υπολογιστών. Υπάρχουν τέσσερις συνθήκες που πρέπει να συμβαίνουν ταυτόχρονα για να αυξηθεί η κατάσταση του αδιεξόδου, οι οποίες είναι Αμοιβαίο αποκλεισμό, Κρατήστε και περιμένει, Καμία προδοχή και Κυκλική αναμονή.


  • Αμοιβαίος αποκλεισμός: Μόνο μία διαδικασία τη φορά μπορεί να χρησιμοποιήσει έναν πόρο εάν άλλη διαδικασία ζητήσει τον ίδιο πόρο, πρέπει να περιμένει μέχρι να ξεκινήσει η διαδικασία χρησιμοποιώντας πόρους.
  • Κρατήστε και περιμένετε: Μια διαδικασία πρέπει να κρατά έναν πόρο και να περιμένει να αποκτήσει έναν άλλο πόρο που κρατείται από κάποια άλλη διαδικασία.
  • Δεν προτίμησε: Η διαδικασία που κατέχει τους πόρους δεν μπορεί να προληφθεί. Η διαδικασία που κατέχει τον πόρο πρέπει να απελευθερώσει τον πόρο οικειοθελώς όταν έχει ολοκληρώσει το έργο του.
  • Κυκλική αναμονή: Η διαδικασία πρέπει να περιμένει τους πόρους με κυκλικό τρόπο. Ας υποθέσουμε ότι έχουμε τρεις διαδικασίες {P0, P1, P2}. Το P0 πρέπει να περιμένει τον πόρο που κατέχει η P1. Η P1 πρέπει να περιμένει να αποκτήσει τον πόρο που κατέχει η διαδικασία P2, και το P2 πρέπει να περιμένει να αποκτήσει τη διαδικασία που κατέχει το P0.

Αν και υπάρχουν κάποιες εφαρμογές που μπορούν να ανιχνεύσουν τα προγράμματα που μπορεί να πάρουν αδιέξοδο. Αλλά το λειτουργικό σύστημα δεν είναι ποτέ υπεύθυνο για την αποτροπή των αδιεξόδων. Είναι ευθύνη των προγραμματιστών να σχεδιάζουν προγράμματα χωρίς ατέλειες. Αυτό μπορεί να γίνει αποφεύγοντας τις παραπάνω συνθήκες που είναι απαραίτητες για την εμφάνιση αδιεξόδου

Ορισμός της λιμοκτονίας

Η λιμοκτονία μπορεί να οριστεί ως όταν ένα αίτημα διεργασίας για έναν πόρο και ο πόρος αυτός χρησιμοποιείται συνεχώς από τις άλλες διαδικασίες, στη συνέχεια η διαδικασία που ζητάει αντιμετωπίζει πείνα. Στην πείνα, μια διαδικασία έτοιμη να εκτελέσει περιμένει την CPU να διαθέσει τον πόρο. Αλλά η διαδικασία πρέπει να περιμένει επ 'αόριστον, καθώς οι άλλες διαδικασίες εμποδίζουν συνεχώς τους ζητούμενους πόρους.

Το πρόβλημα της πείνας γενικά συμβαίνει στο αλγόριθμος προγραμματισμού προτεραιότητας. Στον αλγόριθμο προγραμματισμού προτεραιότητας, η διαδικασία με υψηλότερη προτεραιότητα κατανέμεται πάντα ο πόρος, αποτρέποντας τη διαδικασία χαμηλότερης προτεραιότητας από το να πάρει τον ζητούμενο πόρο.

Γηράσκων μπορεί να επιλύσει το πρόβλημα της λιμοκτονίας. Η γήρανση αυξάνει σταδιακά την προτεραιότητα της διαδικασίας που έχει περιμένει πολύ για τους πόρους. Η γήρανση εμποδίζει μια διαδικασία με χαμηλή προτεραιότητα να περιμένει επ 'αόριστον έναν πόρο.

  1. Σε ένα αδιέξοδο, καμία από τις διαδικασίες δεν προχωρά για εκτέλεση, κάθε διαδικασία μπλοκάρεται περιμένοντας τους πόρους που αποκτήθηκαν από την άλλη διαδικασία. Από την άλλη πλευρά, η πείνα είναι μια κατάσταση όπου οι διαδικασίες που έχουν υψηλότερη προτεραιότητα επιτρέπεται να αποκτήσουν τους πόρους συνεχώς εμποδίζοντας τις διαδικασίες χαμηλής προτεραιότητας να αποκτήσουν πόρους που οδηγούν σε αόριστο αποκλεισμό διαδικασιών χαμηλής προτεραιότητας.
  2. Το αδιέξοδο προκύπτει όταν υπάρχουν τέσσερις προϋποθέσεις Αμοιβαίο αποκλεισμό, Κράτηση και αναμονή, Χωρίς προτίμημα και Κυκλική αναμονή συμβαίνει ταυτόχρονα. Ωστόσο, η λιμοκτονία εμφανίζεται κατά τη διαδικασία προτεραιότητες έχουν επιβληθεί ενώ κατανέμεται πόροι ή υπάρχει ανεξέλεγκτη διαχείριση πόρων στο σύστημα.
  3. Το αδιέξοδο καλείται συχνά από το όνομα κυκλική αναμονή ενώ η λιμοκτονία ονομάζεται Έζησε κλειδαριά.
  4. Στο Deadlock οι πόροι εμποδίζονται από τη διαδικασία, ενώ, με πείνα, οι διαδικασίες χρησιμοποιούνται συνεχώς από τις διαδικασίες με υψηλές προτεραιότητες.
  5. Το αδιέξοδο μπορεί να αποφευχθεί με την αποφυγή των προϋποθέσεων όπως ο αμοιβαίος αποκλεισμός, η κράτηση και η αναμονή, η κυκλική αναμονή και η δυνατότητα προαίρεσης των διαδικασιών που κρατούν πόρους για μεγάλο χρονικό διάστημα. Από την άλλη πλευρά, μπορεί να αποφευχθεί η λιμοκτονία γηράσκων.

Συμπέρασμα:

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