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

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Λειτουργικό Σύστημα (Operating System) 1o μέρος
Advertisements

Αφαλάτωση νερού στη Μεσόγειο
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι
Εφαρμογές Υπολογιστών Ά Λυκείου Κεφ. 4 Λογισμικό Συστήματος
Οι εκπαιδευτικοί: Τουλιόπουλος Φώτης
Η επιστήμη των υπολογιστών
Λειτουργικά Συστήματα
Λειτουργικά Συστήματα
Slide 1 Δίκτυα Τηλεπικοινωνιών ENOTHTA 7 η ΔΙΑΚΙΝΗΣΗ ΤΗΛΕΦΩΝΙΚΩΝ ΚΛΗΣΕΩΝ (ΜΕΡΟΣ Α’) 1. ΘΕΩΡΙΑ ΤΗΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΗΣ ΚΙΝΗΣΗΣ  Εκτός από τις τερματικές.
Λειτουργικό Σύστημα 2ο μέρος.
Κατανομή με ευρετήριο.
Έρευνα «Η θέση και ο ρόλος των ασκήσεων στη διδασκαλία των μαθηματικών στο σύγχρονο ελληνικό σχολείο» Σάλτας Βασίλειος Διδάκτωρ Μαθηματικών.
Ζητήματα Σελιδοποίησης
Λογισμικο συστηματοσ Κεφάλαιο 4ο
Κλασσικά Προβλήματα Επικοινωνίας Σύνδρομων Διεργασιών
Επικοινωνία μεταξύ Διεργασιών και Σύνδρομες Διεργασίες
Πρωτόκολλο στάσης και αναμονής
Αδιέξοδα (Deadlocks).
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι
Κώστας Διαμαντάρας Τμήμα Πληροφορικής ΤΕΙ Θεσσαλονίκης 2011 Παράλληλος Προγραμματισμός.
Λειτουργικά Συστήματα ΑΔΙΕΞΟΔΑ. 3.1 Εισαγωγή  Αδιέξοδο = ένα σύνολο από διεργασίες που δημιουργούν μια κυκλική αλυσίδα όπου κάθε process στην αλυσίδα.
Περισσότερες Ασκήσεις Συνδυαστικής
Σχεδίαση αλγορίθμων (2ο μέρος)
Θεωρίες γνωστικής ασυνέπειας
Κατανεμημένα Συστήματα με Java Ενότητα # 3: Καθολικά κατηγορήματα Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής.
Κατανεμημένα Συστήματα με Java Ενότητα # 4: Αμοιβαίος αποκλεισμός Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής.
Κατανεμημένα Συστήματα με Java Ενότητα # 5: Εκλογή αρχηγού Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής.
ΒΕΣ 06: Προσαρμοστικά Συστήματα στις Τηλεπικοινωνίες © 2007 Nicolas Tsapatsoulis Προσαρμοστικοί Αλγόριθμοι Υλοποίησης Βέλτιστων Ψηφιακών Φίλτρων: Ο αναδρομικός.
Επικοινωνία μεταξύ Διεργασιών και Σύνδρομες Διεργασίες Interprocess Communication and Concurrent Processes.
Πρωτόκολλο αμοιβαίου αποκλεισμού (mutual exclusion) για δύο διεργασίες-CPN Tools Νάνος Λέανδρος 156 Τζιαλαμάνη Βιργινία 166.
ΜΑΘΑΙΝΩ ΓΙΑ ΤΗΝ ΕΝΔΟΣΧΟΛΙΚΗ ΒΙΑ
Ασυμπτωτικός Συμβολισμός
Εφαρμογές Υπολογιστών Ά Λυκείου Κεφ. 4 Λογισμικό Συστήματος
Διεργασίες.
Νήματα με την χρήση των Posix Threads (pthreads)‏.
Κωνσταντίνος Αντωνής © 2014Διαδικτυακός και Ταυτόχρονος Προγραμματισμός Ομοιόμορφη Αποδοτική Διαχείριση του Ταυτοχρονισμού των Εξυπηρετητών 1.
1 Αδιέξοδα Μοντέλο συστήματος Χαρακτηρισμός αδιεξόδου Μέθοδοι διαχείρισης αδιεξόδων Πρόληψη Αποφυγή Ανίχνευση.
Λειτουργικά Συστήματα Ενότητα # 6: Αδιέξοδα Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής.
1 Λειτουργικά Συστήματα Ενότητα 7 : Αδιέξοδο 2/2 Δημήτριος Λιαροκάπης Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
ΕΙΣΑΓΩΓΉ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΉ ΝΊΚΟΣ ΠΑΠΑΔΆΚΗΣ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ.
Δεκαπενθήμερο Ενημέρωσης για την Πρόσβαση στην Εκπαίδευση, Οκτωβρίου 2015 «Προσβάσιμο Εκπαιδευτικό και Εποπτικό Υλικό για αμβλύωπες Μαθητές» Βουγιουκλίδης.
ΑΡΧΗΓΕΙΟ ΕΛΛΗΝΙΚΗΣ ΑΣΤΥΝΟΜΙΑΣ ΔΙΕΥΘΥΝΣΗ ΤΡΟΧΑΙΑΣ ΑΣΤΥΝΟΜΕΥΣΗΣ.
 Καταργείται η θεώρηση (ή αλλιώς η διάτρηση) των βιβλίων, είτε αυτά τηρούνται χειρόγραφα, είτε μηχανογραφικά.  Καταργείται και δεν θα ενημερώνεται πλέον.
Πληροφορική στο Νηπιαγωγείο Ιστορική αναδρομή Πρωτοβάθμια Εκπαίδευση + Προσχολική Εκπαίδευση (2003), με την καθιέρωση ενός προγράμματος σπουδών.
ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΣΥΣΤΗΜΑΤΩΝ ΕΦΟΔΙΑΣΜΟΥ ΑΡΧΕΣ ΛΟΓΙΣΤΙΚΗΣ ΚΑΘΗΓΗΤΗΣ: Δρ ΠΑΝΑΓΙΩΤΗΣ ΚΩΤΣΙΟΣ ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2015/2016.
1 Αδιέξοδο 1.Ορισμοί – είδη πόρων 2.Γράφοι εκχώρησης πόρων 3.Συνθήκες αδιεξόδου 4.Προσεγγίσεις αδιεξόδου 1.Πρόληψη 2.Αποφυγή 3.Ανίχνευση 5.Το πρόβλημα.
1 Λειτουργικά Συστήματα Ενότητα 6 : Αδιέξοδο 1/2 Δημήτριος Λιαροκάπης Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι
Προβλήματα Ικανοποίησης Περιορισμών
Συγχρονισμός Διεργασιών
Διαχείριση Διακινδύνευσης
Κατανεμημένα Συστήματα
Ανάπτυξη Μοντέλων Διακριτών Συστημάτων Μέρος Β
Λειτουργικά Συστήματα και Ασφάλεια Πληροφοριακών Συστημάτων ΔΙΕΡΓΑΣΙΕΣ
Μ.Ε.Κ. Ι Κεφάλαιο 4 Πολυκύλινδροι κινητήρες
Σημείο Ανάφλεξης Ορισμός:
Άραγε, γνωρίζουν οι μέλισσες μαθηματικά?
Αµοιβαίος αποκλεισµός
Ομοιόμορφη Αποδοτική Διαχείριση του Ταυτοχρονισμού των Εξυπηρετητών
ΗΛΕΚΤΡΙΚΟ ΡΕΥΜΑ ΣΤΟΧΟΙ Να μπορείτε να: (α) Ορίζετε το Ηλεκτρικό Ρεύμα
ΔΙΕΡΓΑΣΙΕΣ.
Δένδρα αποφάσεων (Decision trees)
Kλυτία, η νύμφη που έγινε ηλιοτρόπιο
ΣΥΓΧΡΟΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Τρίτη Έκδοση ANDREW S
Η Εθνική Τράπεζα σκοπεύει να καταθέσει πρόταση εξαγοράς, είτε στην Eurobank, είτε στην Alpha Bank προκειμένου να αυξήσει τα έσοδά της και να αποφύγει.
Ένα γεγονός που συγκλονίζει τη Βυζαντινή Αυτοκρατορία
Σταθερά ΚΕΣΠΕΜ Κομοτηνής Εκπαιδευτικός: Κυριακή Ζαφείράκη Επιστημονική Υπεύθυνη: Μαρία Ζωγραφάκη Επόπτρια: Μαρία Γραμματίκα Τάξη: Στ Αριθμός Παιδιών:
H ΒΙΩΣΗ ΤΩΝ ΑΡΧΑΙΩΝ ΑΣΚΛΗΠΙΕΙΩΝ
Δένδρα αποφάσεων (Decision trees)
Μεταγράφημα παρουσίασης:

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

Παράδειγμα αδιεξόδου

Είδη αγαθών Προεκτοπίσιμα: μπορούν να αφαιρεθούν από μια διεργασία χωρίς συνέπειες (π.χ. μνήμη) Μη προεκτοπίσιμα: η διεργασία αποτυγχάνει αν αφαιρεθεί τέτοιο αγαθό (π.χ. CD-ROM) Αδιέξοδα με προεκτοπίσιμα αγαθά επιλύονται εύκολα (ανακατανομή αγαθών) Αδιέξοδα με μη προεκτοπίσιμα;

Χρήση αγαθών Ακολουθία συμβάντων για χρησιμοποίηση αγαθών από διεργασία: Αίτηση για δέσμευση Χρήση αγαθού Αποδέσμευση αγαθού

Παράδειγμα χωρίς αδιέξοδο

Παράδειγμα με αδιέξοδο

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

Συνθήκες δημιουργίας αδιεξόδου Αμοιβαίος αποκλεισμός: μόνο μια διεργασία τη φορά μπορεί να χρησιμοποιήσει ένα αγαθό. Κράτηση και αναμονή: μια διεργασία που έχει τουλάχιστον ένα αγαθό περιμένει να αποκτήσει επιπλέον άλλα που κατέχουν άλλες διεργασίες. Μη προεκτόπιση: ένα αγαθό μπορεί να ελευθερωθεί μόνο εθελοντικά από τη διεργασία που το κατέχει. Κυκλική αναμονή: υπάρχει ένα σύνολο {Ρ 0, Ρ 1, Ρ 2,…, Ρ ν } από διεργασίες έτσι ώστε η Ρ 0 περιμένει για ένα αγαθό που κατέχει η Ρ 1, η Ρ 1 περιμένει για ένα αγαθό που κατέχει η Ρ 2, … και η Ρ ν περιμένει για ένα αγαθό που κατέχει η Ρ 0.

Μοντελοποίηση αδιεξόδων Γράφοι κατανομής αγαθών (α) Η διεργασία Α κατέχει τον πόρο Π. (β) Η διεργασία Β ζητάει τον πόρο Ρ. (γ) Αδιέξοδο.

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

Πρόληψη αδιεξόδων Προσβολή μιας από τις συνθήκες δημιουργίας αδιεξόδου Προσβολή της συνθήκης αμοιβαίου αποκλεισμού: Για ορισμένες συσκευές μπορώ να χρησιμοποιήσω spooling Δεν είναι δυνατό για όλες τις συσκευές

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

Πρόληψη αδιεξόδων Προσβολή της συνθήκης μη προεκτόπισης: Δύσκολο να εφαρμοστεί γιατί αφήνει τη διεργασία σε ασυνεπή κατάσταση Σε μερικές περιπτώσεις είναι δυνατό (π.χ. αφαίρεση από τη μνήμη κάποιες σελίδες μιας διεργασίες και ανάστειλέ την)

Πρόληψη αδιεξόδων Προσβολή της συνθήκης κυκλικής αναμονής: Διάταξη των αγαθών σε ορισμένη σειρά Δέσμευση αγαθών σύμφωνα με τη σειρά αυτή Μια διεργασία που κατέχει το αγαθό n δε μπορεί να περιμένει για το αγαθό m με m<n Δε μπορεί να προκύψει κύκλος στο γράφο A 1 B C D 2 3

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

Αποφυγή αδιεξόδων Προσέγγιση 1: μην ξεκινάς μια διεργασία αν οι απαιτήσεις της μπορεί να οδηγήσουν σε αδιέξοδο Προσέγγιση 2: μην ικανοποιείς ένα νέο αίτημα διεργασίας αν αυτή η εκχώρηση μπορεί να οδηγήσει σε αδιέξοδο

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

Αποφυγή αδιεξόδων Γράφος εκχώρησης αγαθών γα αποφυγή αδιεξόδων

Αποφυγή αδιεξόδων Μη ασφαλής κατάσταση

Αποφυγή αδιεξόδων Αλγόριθμος τραπεζίτη (άρνηση εκχώρησης αγαθών) Κατάσταση συστήματος: τρέχουσα κατανομή αγαθών στις διεργασίες Ασφαλής κατάσταση: υπάρχει τουλάχιστον μια ακολουθία εκχωρήσεων ώστε να μην υπάρξει αδιέξοδο Μη ασφαλής κατάσταση: δεν υπάρχει τέτοια ακολουθία

Αποφυγή αδιεξόδων Προϋποθέσεις εφαρμογής αλγόριθμου: Μέγιστη απαίτηση σε αγαθά πρέπει να είναι γνωστή εξαρχής Οι διεργασίες πρέπει να είναι ανεξάρτητες (να μην απαιτείται συγχρονισμός) Οι διεργασίες πρέπει να ελευθερώνουν τα αγαθά πριν τερματίσουν

Αποφυγή αδιεξόδων Παράδειγμα αλγόριθμου για ένα είδος αγαθού ΈχειMax A39 B24 C27 Ελεύθερα: 3 ΈχειMax A39 B44 C27 Ελεύθερα: 1 ΈχειMax A39 B0- C27 Ελεύθερα: 5 ΈχειMax A39 B0- C77 Ελεύθερα: 0 ΈχειMax A39 B0- C0- Ελεύθερα: 7 Επίδειξη ότι η πρώτη κατάσταση είναι ασφαλής ΈχειMax A39 B24 C27 Ελεύθερα: 3 ΈχειMax A49 B24 C27 Ελεύθερα: 2 ΈχειMax A49 B44 C27 Ελεύθερα: 0 ΈχειMax A49 B0- C27 Ελεύθερα: 4 Επίδειξη ότι η δεύτερη κατάσταση είναι μη ασφαλής

Αποφυγή αδιεξόδων Παράδειγμα αλγόριθμου για πολλά είδη αγαθών

Αποφυγή αδιεξόδων Παράδειγμα αλγόριθμου για πολλά είδη αγαθών

Αποφυγή αδιεξόδων Παράδειγμα αλγόριθμου για πολλά είδη αγαθών

Αποφυγή αδιεξόδων Παράδειγμα αλγόριθμου για πολλά είδη αγαθών

Αποφυγή αδιεξόδων Παράδειγμα αλγόριθμου για πολλά είδη αγαθών

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

Ανίχνευση αδιεξόδων Ανίχνευση κύκλου σε γράφο εκχώρησης αγαθών 1. Για κάθε κόμβο του γράφου εκτέλεσε τα παρακάτω 5 βήματα : 2. Κάνε μία κενή λίστα Λ και θεώρησε όλα τα βέλη ως μη σημειωμένα. 3. Βάλε τον κόμβο στη λίστα. Αν υπάρχει 2 φορές τότε βρέθηκε κύκλος. 4. Αν υπάρχουν εξερχόμενα ασημείωτα βέλη πήγαινε στο 5 αλλιώς στο 6 5. Διάλεξε τυχαία ένα ασημείωτο βέλος, σημείωσέ το, ακολούθησέ το και πήγαινε στο βήμα 3 6. Αν ο κόμβος είναι ο αρχικός τότε το υποδένδρο δεν έχει κύκλους, αλλιώς επέστρεψε στον προηγ. κόμβο και πήγαινε στο βήμα 4. Π Γ Η Β Ε Ρ Φ Τ Σ Υ Α Ζ Δ Η Ε Τ Σ Υ Δ Κύκλος που ανιχνεύθηκε

Ανίχνευση αδιεξόδων Ανίχνευση με χρήση πινάκων: Διάνυσμα Υ υπαρχόντων πόρων Διάνυσμα Θ διαθέσιμων πόρων Πίνακας Τ τρέχουσας κατανομής Πίνακας Α αιτήσεων Διάνυσμα Υπαρχόντων Πόρων Διάνυσμα Διαθέσιμων Πόρων Υ = (Υ1, Υ2, Υ3,..., Υμ) Θ = (Θ1, Θ2, Θ3,..., Θμ) Τ11Τ12Τ13...Τ1μ Τ21Τ22Τ23...Τ2μ... Τν1Τν2Τν3...Τνμ Α11Α12Α13...Α1μ Α21Α22Α23...Α2μ... Αν1Αν2Αν3...Ανμ Πίνακας Τρέχουσας Κατανομής Πίνακας Αιτήσεων

Ανίχνευση αδιεξόδων Ορίζοντας την σχέση διανυσμάτων Α  Β όταν Ακ  Βκ, 1  κ  μ, ο αλγόριθμος ανίχνευσης αδιεξόδων είναι: 1. Αρχικά όλες οι διεργασίες Δ1,..,Δν θεωρούνται μη σημειωμένες. 2. Ψάξε για μία ασημείωτη διεργασία Δκ, για την οποία η κ γραμμή του Πίνακα Αιτήσεων Α να είναι μικρότερη ή ίση από το Διάνυσμα Διαθέσιμων Πόρων Θ. 3. Αν βρεθεί, τότε πρόσθεσε την κ γραμμή του Πίνακα Τρέχουσας Κατανομής Τ, στο Διάνυσμα Διαθέσιμων Πόρων Θ, σημείωσε την διεργασία και πήγαινε στο βήμα Αν δεν υπάρχει τέτοια διεργασία ο αλγόριθμος τερματίζεται Στο τέλος του αλγορίθμου όλες οι μη σημειωμένες διεργασίες, αν υπάρχουν, βρίσκονται σε αδιέξοδο. Παράδειγμα για 3 διεργασίες: HD CD USB PRN Υ=( ) Τ = Α= Θ=( )

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

Ανάνηψη από αδιέξοδο Ανάνηψη μέσω προεκτόπισης και οπισθοδρόμησης Αφαίρεσε σταδιακά αγαθά από τις διεργασίες μέχρι να μην υπάρχει πλέον αδιέξοδο Κατέγραφε σημεία ελέγχου (σημεία πριν γίνουν νέες αναθέσεις αγαθών) ώστε να μπορούν να ξαναεκτελεστούν από εκεί οι διεργασίες που εμπλέκονται