Συγχρονισµός: Αδιέξοδο & Παρατεταµένη Στέρηση



Σχετικά έγγραφα
Λειτουργικά Συστήματα

6. Αδιέξοδο. 1. Ορισμοί είδη πόρων. 3. Συνθήκες αδιεξόδου. 1. Πρόληψη 2. Αποφυγή 3. Ανίχνευση 5. Το πρόβλημα των συνδαιτημόνων φιλοσόφων

Λειτουργικά Συστήματα Η/Υ

Αδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation)

ροµολόγηση Επεξεργαστή

Αδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation)

Λειτουργικά Συστήματα

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ

Αδιέξοδα (Deadlocks)

ΑΔΙΕΞΟΔΑ (Deadlocks) Παράδειγμα 1 Θανάσιμο αγκάλιασμα (deadly embrace)

Λειτουργικά Συστήματα

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Αδιέξοδα

Λειτουργικά Συστήματα. Ενότητα # 6: Αδιέξοδα Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi

Αδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation)

Ο βασικός παράγοντας είναι ο χρόνος αξιοποίησης του επεξεργαστή Ελάχιστος αριθµός πράξεων και όχι µακρόχρονες αιτήσεις Ε/Ε


2.4 Κλασσικά Προβλήματα IPC

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε)

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή

Αμοιβαίος αποκλεισμός

Νήµαταστην Java. Συγχρονισµός νηµάτων Επικοινωνία νηµάτων Εκτελέσιµα αντικείµενα Νήµατα δαίµονες Οµάδες νηµάτων. Κατανεµηµένα Συστήµατα 11-1

Λειτουργικά Συστήματα (Λ/Σ)

ΑΔΙΕΞΟΔΑ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Αδιέξοδα

Λιβανός Γιώργος Εξάμηνο 2017Β

Νήµατα. ιεργασίες και νήµατα Υλοποίηση νηµάτων Ελαφριές διεργασίες Αξιοποίηση νηµάτων. Κατανεµηµένα Συστήµατα 10-1

09/04/2014 ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Μάθηµα: Α ΙΕΞΟ Α. ιδάσκων: Λειτουργικά Συστήµατα Ι Αν. Καθ. Κ. Λαµπρινουδάκης Α ΙΕΞΟ Α

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Καρακασίδης Αλέξανδρος Καστίδου Γεωργία Παπαφώτη Μαρία Πέτσιος Κων/νος Στέφανος Σαλτέας Καλογεράς Παναγιώτης. Threads in Java ΝΗΜΑΤΑ ΣΤΗ JAVA

Λειτουργικά συστήματα πραγματικού χρόνου

ιεργασίες και νήµατα Προγραµµατισµός ΙΙΙ 1 lalis@inf.uth.gr

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Λειτουργικά Συστήματα Η/Υ

Κεφάλαιο 4 Διεργασίες Β Τάξη ΕΠΑΛ

Λειτουργικά Συστήματα

Κεφάλαιο 3. Διδακτικοί Στόχοι

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΑΔΙΕΞΟΔΑ

3.1 Λειτουργικό Σύστηµα. Λειτουργικό Σύστηµα (2) ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα. Ο υπολογιστής σαν σκέτο hardware έχει περιορισµένη χρησιµότητα

Επιτεύγµατα των Λ.Σ.

Εισαγωγή στην Πληροφορική. Αντώνης Σταµατάκης

Εκλογήαρχηγού. Εισαγωγή Ισχυρά συνδεδεµένος γράφος ακτύλιος µίας κατεύθυνσης Τοπολογία δένδρου. Κατανεµηµένα Συστήµατα 06-1

Λειτουργικά Συστήματα (Λ/Σ)

Λειτουργικά Συστήματα

Ορισµός Νήµα (thread) είναι µια ακολουθιακή ροή ελέγχου (δηλ. κάτι που έχει αρχή, ακολουθία εντολών και τέλος) σ ένα

Ε-85: Ειδικά Θέµατα Λογισµικού

Κεφάλαιο 3: Λειτουργικά Συστήµατα

Ανάλυση Επιδόσεων Συστημάτων Πραγματικού Χρόνου

Λειτουργικά Συστήματα Η/Υ

ENOTHTA 4 A IEΞO O. Περιεχόµενα

Αµοιβαίοςαποκλεισµός. Κατανεµηµένα Συστήµατα 03-1

ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα

Εικονική Μνήµη. Κεφάλαιο 8. Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi


Δρομολόγηση σε σύστημα ενός επεξεργαστή

Λειτουργικά Συστήματα

Υποστήριξη Λ.Σ. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

ΤρόποςΑξιολόγησης: α) Εργαστήρια (Προαιρετικάµε 20% - 35% βαρύτητα µόνοθετικά) β) Τελική Γραπτή Εξέταση

Ένα αφαιρετικό πραγματικού χρόνου μοντέλο λειτουργικού συστήματος για MPSoC

Προσπέλαση κοινών πόρων Πρωτόκολλα ελέγχου αμοιβαίου αποκλεισμού

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1

Λειτουργικά Συστήματα

Λειτουργικά Συστήματα

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Διάλεξη 10: Αλγόριθμοι Αμοιβαίου Αποκλεισμού σε περιβάλλον ανταλλαγής μηνυμάτων. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

Κεφάλαιο 3: Λειτουργικά Συστήματα

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι ΙΕΡΓΑΣΙΕΣ ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΙΕΡΓΑΣΙΕΣ

Εισαγωγή στην Πληροφορική

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

Διεργασίες (Processes)

Άρα, Τ ser = (A 0 +B 0 +B 0 +A 0 ) επίπεδο 0 + (A 1 +B 1 +A 1 ) επίπεδο 1 + +(B 5 ) επίπεδο 5 = 25[χρονικές µονάδες]

Κατανεμημένα Συστήματα: Θεωρία και Προγραμματισμός. Ενότητα # 8: Ταυτοχρονισμός και νήματα Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Περιεχόµενα ΠΡΟΛΟΓΟΣ 23

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

Θοδωρής Ανδρόνικος Τμήμα Πληροφορικής, Ιόνιο Πανεπιστήμιο

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1

1. ΑΡΧΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

Περιεχόμενα. Αδιέξοδο

ΛΟΓΙΣΜΙΚΟ (software)

ΛΥΜΕΝΑ ΠΡΟΒΛΗΜΑΤΑ. Γράψτε τις επόμενες διαδικασίες σε όποια γλώσσα προγραμματισμού προτιμάτε:

Μάθημα 7 ο. Αλγόριθμοι Χρονοδρομολόγησης

Πανεπιστήµιο Θεσσαλίας

ΤΕΙ Κρήτης, Παράρτηµα Χανίων

Κύριες Υπηρεσίες ενός ΛΣ

Επεξεργασία πραγµατικού χρόνου Κατάτµηση της µνήµης

ΔΙΕΡΓΑΣΙΕΣ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

Κατανεμημένα Συστήματα με Java. Ενότητα # 4: Αμοιβαίος αποκλεισμός Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Λειτουργικά Συστήματα

Λειτουργικά Συστήματα (ΗΥ222)

Εισαγωγή στα Λειτουργικά συστήματα Ι. Καθηγητής Κώστας Αναγνωστόπουλος

Λειτουργικά συστήµατα. Λογισμικό Συστήματος 1

Εργαστήριο Λειτουργικών Συστημάτων - Αλγόριθμοι Χρονοπρογραμματισμού. Εργαστηριακή Άσκηση

Τεχνική Οδηγία. Εγκατάσταση & ρύθµιση MS ISA Server 2000 στο περιβάλλον των σχολικών εργαστηρίων. Έκδοση 1.0. Ιανουάριος 2005

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Αδιέξοδα Εργαστηριακές Ασκήσεις

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

Οργάνωση επεξεργαστών και διεργασιών

Πληροφορική 2. Λειτουργικά Συστήματα

13.2 Παράλληλος Προγραµµατισµός Γλωσσάρι, Σελ. 1

Transcript:

Συγχρονισµός: Αδιέξοδο & Παρατεταµένη Στέρηση Κεφάλαιο 6

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

Επαναχρησιµοποιήσιµοι Πόροι Χρησιµοποιούνται από µία διεργασία κάθε φορά και δεν εξαντλείται από την χρήση του Η διεργασία δεσµεύει πόρους οι οποίοι αργότερα απελευθερώνονται για να χρησιµοποιηθούν από άλλες διεργασίες Επεξεργαστές, κανάλια I/O, κύρα και δευτερεύουσα µνήµη, αρχεία, βάσεις δεδοµένων και σηµαφόροι Αδιέξοδο δηµιουργείται όταν µία διεργασία παρακρατά έναν πόρο και απαιτεί κάποιον άλλον για να συνεχίσει την εκτέλεση της

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

Παράδειγµα Αδιεξόδου (2) Υπάρχουν 200Kbytes ελεύθερα για χρήση και δηµιουργείται η ακόλουθη σειρά γεγονότων P1... Request 80K bytes;... Request 60K bytes; Αδιέξοδο δηµιουργείται αν και οι δύο διεργασίες εκτελέσουν την δεύτερη αίτηση χορήγησης µνήµης P2... Request 70K bytes;... Request 80K bytes;

Καταναλώσιµοι Πόροι ηµιουργούνται (παράγονται) και καταστρέφονται (καταναλώνονται ) από µία διεργασία ιακοπές, σήµατα, µηνύµατα, πληροφορία σε ενδιάµεσουςαποθηκευτικούςχώρους(buffers) I/O Αδιέξοδο δηµιουργείται όταν µία διεργασία πού θέλει να πραγµατοποιήσει λήψη ενός µηνύµατος αναστέλλεται µέχρι να το παραλάβει (Blocking Receive message) Αιτία αδιεξόδου µπορεί να είναι ένας σπάνιος συνδυασµός γεγονότων

Παράδειγµα Αδιεξόδου... Receive(P2);... Send(P2, M1); P1... Receive(P1);... Send(P1, M2); P2

Συνθήκες για Αδιέξοδο Αµοιβαίος Αποκλεισµός Μόνο µία διεργασία µπορεί να χρησιµοποιήσει έναν πόρο κάθε χρονική στιγµή Παρακράτηση και Αναµονή(Hold-andwait) Η διεργασία απαιτεί όλους τους απαιτούµενος πόρους για να εκτελεστεί σε µία χρονική στιγµή

Συνθήκες για Αδιέξοδο Μη προεκχώρηση (No preemption) Αν µία διεργασία που απαιτεί παρακρατεί έναν πόρο και δεν ικανοποιηθεί µία αίτηση της για κάποιον άλλο πόρο, η διεργασία πρέπει να απελευθερώσει τους πόρους που παρακρατεί Αν µια διεργασία απαιτήσει πόρους οι οποίοι παρακρατούνται από άλλη διεργασία το λειτουργικό σύστηµα µπορεί να αναστήλλει την δεύτερη διεργασία και να απαιτήσει την απελευθέρωση των πόρων Κανένας πόρος δεν µπορεί να αποσπαστεί βίαια από την διεργασία που τον κατέχει

Συνθήκες για Αδιέξοδο Κυκλική Αναµονή Μπορεί να αποτραπεί ορίζοντας µια γραµµική διάταξη των κατηγοριών πόρων

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

ύο προσεγγίσεις για την Αποτροπή Αδιεξόδου Μη εκκίνηση µιας διεργασίας που οι απαιτήσεις της µπορεί να οδηγήσουν σε µελλοντικό αδιέξοδο Μη εκχώρηση ενός επαυξητικού πόρου σε µία διεργασία, αν η εκχώρηση µπορεί να οδηγήσει σε αδιέξοδο

Άρνηση εκχώρησης πόρων Αναφέρεται σαν ο αλγόριθµος του τραπεζίτη Κατάσταση Συστήµατος είναι η τρέχουσα εκχώρηση πόρων σε διεργασίες Ασφαλής κατάσταση έχουµε όταν υπάρχει τουλάχιστον µια ακολουθία εκτέλεσης που δεν οδηγεί σε αδιέξοδο Ανασφαλής κατάσταση είναι η κατάσταση που δεν είναι ασφαλής

Προσδιορισµός Ασφαλούς Κατάστασης Αρχική Κατάσταση

Προσδιορισµός Ασφαλούς Κατάστασης Η P2 εκτελείται µέχρι τέλους

Προσδιορισµός Ασφαλούς Κατάστασης Η P1 εκτελείται µέχρι τέλους

Προσδιορισµός Ασφαλούς Κατάστασης Η P3 εκτελείται µέχρι τέλους

Προσδιορισµός Ανασφαλούς Κατάστασης

Προσδιορισµός Ανασφαλούς Κατάστασης

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

Αναγνώριση Αδιεξόδου

Στρατηγικές αν αναγνωριστεί Αδιέξοδο ιακοπή όλων των διεργασιών που βρίσκονται σε αδιέξοδο Υπαναχώρηση κάθε διεργασίας που βρίσκεται σε αδιέξοδο σε κάποιο προηγούµενο σηµείο ανάνηψης(checkpoint) και επανεκκίνηση όλων των διεργασιών Μπορεί να ξαναπραγµατοποιηθεί το αρχικό αδιέξοδο ιακοπή των διεργασιών που συµµετέχουν στο αδιέξοδο µετησειράµέχρι την διακοπή του αδιεξόδου Ακολουθιακή προεκχώρηση πόρων µέχρι την διακοπή του αδιεξόδου

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

Το πρόβληµα των Συνεστιαζόµενων Φιλοσόφων

Μηχανισµός Συγχρονισµού UNIX Σωληνώσεις (Pipes) Μηνύµατα Κοινή µνήµη Σηµαφόροι Σήµατα

Μηχανισµοί ΣυγχρονισµούWindows 2000/XP ιεργασίες Νήµατα Αρχεία Είσοδος Κονσόλας Ειδοποίηση αλλαγής αρχείου Mutex Σηµαφόροι (Semaphore) Γεγονότα (Event) Χρονόµετρα µεαναµονή (Waitable timer)