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

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

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

Transcript

1 ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διάλεξη 5 ΑΔΙΕΞΟΔΑ Οι διαφάνειες έχουν καθαρά επικουρικό χαρακτήρα στην παρουσίαση των διαλέξεων του μαθήματος. Δεν αντικαθιστούν σε καμία περίπτωση την παρακάτω βιβλιογραφία που αποτελεί και το βασικό εγχειρίδιο αναφοράς. Βιβλιογραφία: Σύγχρονα Λειτουργικά Συστήματα, A.S. Tanenbaum, 3 η έκδ., Κλειδάριθμος, Λειτουργικά Συστήματα, W. Stallings, 8 η έκδ., Τζιόλα, Λειτουργικά Συστήματα, A. Silberschatz, P. Galvin, G. Gagne, 7 η εκδ., ΙΩΝ, 2007.

2 Στόχοι Η διάλεξη αυτή έχει ως στόχο να εισάγει τον σπουδαστή στους τρόπους αντιμετώπισης και διαχείρισης αδιεξόδων από το λειτουργικό σύστημα, και ειδικότερα: να γνωρίσει τις μεθόδους ανίχνευσης και αντιμετώπισης του αδιεξόδου να γνωρίσει τους αλγόριθμους επίλυσης των αδιεξόδων, και να είναι σε θέση να τους εφαρμόσει σε πρακτικά προβλήματα 2

3 Ενότητες Αδιέξοδο και λιμοκτονία Συνθήκες εμφάνισης αδιεξόδου Μοντελοποίηση (γραφήματα) αδιεξόδου Εντοπισμός αδιεξόδου και ανάκαμψη Αποφυγή αδιεξόδου Αποτροπή αδιεξόδου 3

4 Αδιέξοδο και Λιμοκτονία (Deadlock & Starvation) Αδιέξοδο (deadlock): ένα σύνολο από διεργασίες εν αναμονή, όπου η κάθε μια κατέχει έναν αριθμό από πόρους (λογισμικού ή υλικού) και περιμένει να αποκτήσει και έναν άλλο πόρο που κατέχει κάποια από τις υπόλοιπες. Π.χ. έστω ένα σύστημα που διαθέτει δύο πόρους και ο κάθε πόρος μπορεί να χρησιμοποιείται μόνο από μια διεργασία κάθε χρονική στιγμή. Σε αυτό, δυο διεργασίες P 1 και P 2 έχουν πρόσβαση η καθεμία σε έναν πόρο και αναμένουν να τους δοθεί πρόσβαση και στον άλλο. Με άλλα λόγια οι δύο διεργασίες περιμένουν απεριόριστα για ένα γεγονός που μπορεί να προκληθεί μόνο από μια από τις δύο. Αναπαράσταση με δυο σημαφόρους S και Q: P 0 P 1 wait(s); wait(q); wait(q); wait(s); signal(s); signal(q); signal(q) signal(s); deadlock

5 Λιμοκτονία (starvation): απεριόριστη αναμονή. Μια διεργασία αξιοποιεί κάποιον πόρο με την ακόλουθη σειρά διαδικασιών: αίτηση (request), χρήση (use), αποδέσμευση (release) Όταν ένας πόρος δεν είναι διαθέσιμος όταν ζητείται, συνήθως η αιτούσα διεργασία αναγκάζεται να περιμένει και μπλοκάρεται. Αφυπνίζεται όταν ο πόρος γίνει διαθέσιμος. 5

6 Παράδειγμα: πέρασμα γέφυρας (μια είσοδος και μια έξοδος) Κίνηση μόνο προς μια κατεύθυνση. Κάθε άκρο της γέφυρας (είσοδος και έξοδος) μπορεί να θεωρηθεί ως ένας πόρος. Για να περάσει ένα όχημα πρέπει να του δοθεί πρόσβαση και στους δύο πόρους. Αν συμβεί αδιέξοδο, μπορεί να επιλυθεί αν οπισθοχωρήσει κάποιο αυτοκίνητο (αποδεσμεύσει τους πόρους και υπαναχωρήσει). Μπορεί να χρειαστεί να οπισθοχωρήσουν πολλά αυτοκίνητα. Η λιμοκτονία (starvation) είναι πιθανή. 6

7 Συνθήκες εμφάνισης αδιεξόδου Ένα αδιέξοδο μπορεί να συμβεί αν ισχύουν ταυτόχρονα οι εξής συνθήκες: Αμοιβαίος αποκλεισμός (Mutual exclusion): μόνο μια διεργασία μπορεί να χρησιμοποιεί μια οντότητα ενός πόρου κάθε χρονική στιγμή. Κατοχή και αναμονή (Hold and wait): μια διεργασία που κατέχει τουλάχιστον έναν πόρο αναμένει να αποκτήσει επιπλέον πόρους που κατέχουν άλλες διεργασίες. Δεν υπάρχει διακοπή (No preemption): ένας πόρος μπορεί να αποδεσμευτεί από τη διεργασία που τον κατέχει μόνο εθελοντικά και συνήθως όταν η διεργασία έχει ολοκληρώσει την εργασία της με τον πόρο. Κυκλική αναμονή (Circular wait): υπάρχει ένα σύνολο {P 0, P 1,.., P n-1 } από διεργασίες εν αναμονή και μάλιστα έτσι ώστε η P 0 να περιμένει για έναν πόρο που κρατάει η P 1, η P 1 να περιμένει για ένα πόρο που έχει δεσμεύσει η P 2, η P n 2 να περιμένει για ένα πόρο που έχει δεσμεύσει η P n-1, και η P n-1 να περιμένει για ένα πόρο που έχει δεσμεύσει η P 0 P 0 P 1, P 1 P 2,, P n 1 7

8 Μοντελοποίηση (γράφοι) του αδιεξόδου Οι διαδικασίες αίτησης, ανάθεσης και αποδέσμευσης πόρων από διεργασίες μπορούν να μοντελοποιηθούν με γράφους. Οι γράφοι αποτελούν εργαλείο με το οποίο μπορούμε να εξετάσουμε αν μια συγκεκριμένη ακολουθία αιτήσεων/αποδεσμεύσεων οδηγεί σε αδιέξοδο. διεργασία locked request Deadlock πόρος (a) Δέσμευση ενός πόρου. Ο πόρος R έχει ανατεθεί στη διεργασία A. (b) Αίτηση χρήσης πόρου. Η διεργασία B απαιτεί/περιμένει για τον πόρο S. (c) Αδιέξοδο. Οι διεργασίες C και D είναι σε αδιέξοδο πάνω στους πόρους T και U. 8

9 Γράφημα ανάθεσης πόρων (Resource-Allocation Graph) Γράφος με σύνολο κόμβων V και σύνολο ακμών Ε προσδιορίζεται ως ακολούθως: Το σύνολο κόμβων V χωρίζεται σε δύο τύπους: P = {P 1, P 2,, P n } οι διεργασίες του συστήματος R = {R 1, R 2,, R m } οι τύποι των πόρων του συστήματος Το σύνολο ακμών Ε χωρίζεται σε δύο τύπους: Ακμή αίτησης κατευθυνόμενη ακμή από διεργασία σε πόρο P 1 R j Ακμή ανάθεσης κατευθυνόμενη ακμή από πόρο σε διεργασία R j P i Διεργασία: Πόρος με 4 οντότητες/εκδοχές: Η P i κάνει αίτηση για μια οντότητα του R j : P i R j Η P i κατέχει μια οντότητα του πόρου R j : P i Rj 9

10 Παράδειγμα ανάθεσης πόρων και εμφάνισης αδιεξόδου Αδιέξοδο σε κύκλο 10

11 Παραδείγματα ανάθεσης πόρων και εμφάνισης αδιεξόδου Γράφημα ανάθεσης πόρων με αδιέξοδο Γράφημα ανάθεσης πόρων σε κύκλο αλλά όχι οπωσδήποτε και σε αδιέξοδο 11

12 Το πρόβλημα του αδιεξόδου και η αντιμετώπισή του Αν ένας γράφος δεν περιέχει κύκλους, τότε δεν υπάρχει αδιέξοδο. Αν ένας γράφος περιέχει κύκλο τότε: αν υπάρχει μόνο μια εκδοχή/οντότητα για τον κάθε πόρο αδιέξοδο αν υπάρχουν αρκετές εκδοχές ανά τύπο πόρου πιθανότητα εμφάνισης αδιεξόδου (αλλά όχι σίγουρα αδιέξοδο) Μέθοδοι αντιμετώπισης του αδιεξόδου: Αγνόηση του προβλήματος (just ignore the problem). Θεώρηση ότι τα αδιέξοδα δε συμβαίνουν ποτέ σε ένα σύστημα. Εντοπισμός αδιεξόδου και ανάκαμψη (detection and recovery). Ανοχή προς το σύστημα ώστε να μπορεί να εισέλθει σε κατάσταση αδιεξόδου, έτσι μετά τα εντοπίζουμε και λαμβάνουμε τα απαραίτητα μέτρα για ανάκαμψη από το αδιέξοδο. Αποφυγή αδιεξόδου (dynamic deadlock avoidance). Διασφαλίζουμε εκ των προτέρων ότι το σύστημα δεν θα εισέλθει ποτέ σε κατάσταση αδιεξόδου με προσεκτική κατανομή των πόρων. Αποτροπή αδιεξόδου (deadlock prevention). Κατάργηση κάποιας εκ των τεσσάρων συνθηκών εμφάνισης αδιεξόδου. 12

13 Μέθοδος αντιμετώπισης αδιεξόδου: Εντοπισμός αδιεξόδου και Ανάκαμψη Επιτρέπουμε στο σύστημα να εισέλθει σε κατάσταση αδιεξόδου Αλγόριθμος ανίχνευσης (εντοπισμός) αδιεξόδου (detection) Σχήμα ανάκαμψης από το αδιέξοδο (recovery) Με αυτή την τεχνική το σύστημα δεν προσπαθεί να αποτρέψει την εμφάνιση αδιεξόδων. Τα αφήνει να εμφανιστούν, προσπαθεί να τα εντοπίσει όταν συμβαίνουν, και στη συνέχεια προσπαθεί να ανακάμψει με τις κατάλληλες ενέργειες. Διακρίνουμε τις κάτωθι περιπτώσεις: 1. (α) Εντοπισμός αδιεξόδου σε σύστημα με μια οντότητα για κάθε πόρο 1. (β) Εντοπισμός αδιεξόδου σε σύστημα με πολλαπλές οντότητες για κάθε πόρο 2. (α) Ανάκαμψη από το αδιέξοδο με εξάλειψη/τερματισμό των διεργασιών 2. (β) Ανάκαμψη από το αδιέξοδο με αφαίρεση των πόρων 13

14 1. Εντοπισμός αδιεξόδου (α) σε σύστημα με μια οντότητα για κάθε πόρο Εντοπισμός αδιεξόδου και Ανάκαμψη Σε ένα τέτοιο σύστημα υπάρχει μια εκδοχή/οντότητα πόρου από κάθε είδος. Π.χ., ένας πόρος μπορεί να αποτελεί ένα εκτυπωτή, ένας άλλος πόρος να αποτελεί ένα σαρωτή, κλπ., αλλά δεν μπορεί να έχουμε δυο ή περισσότερους εκτυπωτές ή να έχουμε δυο ή περισσότερους σαρωτές κλπ.. Για ένα τέτοιο σύστημα κατασκευάζουμε ένα γράφο ανάθεσης πόρων. Αν ο γράφος περιέχει έναν ή περισσότερους κύκλους τότε υπάρχει αδιέξοδο. Έτσι περιοδικά εκτελείται ο αλγόριθμος (εντοπισμού) που ανιχνεύει για κύκλο στο γράφο. Αυτό όμως απαιτεί πλήθος πράξεων/λειτουργιών τάξη μεγέθους n 2, όπου n ο αριθμός των κόμβων του γράφου! Ακολουθεί ένας αλγόριθμος ανίχνευσης. 14

15 Αλγόριθμος ανίχνευσης Για κάθε κόμβο Κ του γράφου, ο αλγόριθμος εκτελεί τα ακόλουθα βήματα με τον Κ ως αρχικό κόμβο. 1. Δίνει αρχικές τιμές σε μια λίστα κόμβων Λ ως κενή λίστα και χαρακτηρίζει όλα τα τόξα ως ασημείωτα. 2. Προσθέτει τον τρέχοντα κόμβο στο τέλος της Λ και ελέγχει αν ο κόμβος εμφανίζεται τώρα στη λίστα δύο φορές. Αν ναι, ο γράφος περιέχει έναν κύκλο (στη Λ) και ο αλγόριθμος τερματίζεται. 3. Από το συγκεκριμένο κόμβο, ελέγχει αν υπάρχουν εξερχόμενα ασημείωτα τόξα. Αν ναι, πηγαίνει στο βήμα 4, αν όχι, πηγαίνει στο βήμα Διαλέγει στην τύχη ένα ασημείωτο εξερχόμενο τόξο και το σημειώνει. Το ακολουθεί στο νέο τρέχοντα κόμβο και πηγαίνει στο βήμα Αν αυτός ο κόμβος είναι ο αρχικός, ο γράφος δεν περιέχει κύκλους και ο αλγόριθμος τερματίζεται. Διαφορετικά, έχει φτάσει σε νεκρό άκρο. Τον αφαιρεί και επιστρέφει στον προηγούμενο κόμβο, δηλαδή σε αυτόν που ήταν τρέχον πριν από αυτόν, τον κάνει τρέχοντα, και πηγαίνει στο βήμα Ενημερωτική προαιρετική διαφάνεια Εντοπισμός αδιεξόδου και Ανάκαμψη

16 Παράδειγμα Α Η: διεργασίες Π Φ: πόροι Το σύστημα αυτό είναι σε αδιέξοδο διότι οι διεργασίες Δ, Ε, και Η στον κύκλο είναι σε αδιέξοδο. Γράφος πόρων Εντοπισμός αδιεξόδου και Ανάκαμψη Ο κύκλος αποσπασμένος από το γράφο deadlock 16

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

18 Ο αλγόριθμος ανίχνευσης αδιεξόδων που εφαρμόζεται χρησιμοποιεί τέσσερις δομές δεδομένων (matrix-based): Διάνυσμα υφιστάμενων πόρων (existing resource vector) Εκφράζει το συνολικό αριθμό αντιτύπων από κάθε πόρο. Διάνυσμα διαθέσιμων πόρων (available resource vector) Εκφράζει τον αριθμό των αντιτύπων συγκεκριμένου πόρου που είναι διαθέσιμα την τρέχουσα στιγμή (δηλ. που δεν έχουν εκχωρηθεί). Μητρώο τρέχουσας κατανομής (current allocation matrix) Εκφράζει την τρέχουσα κατανομή των πόρων στις διεργασίες. Μητρώο αιτήσεων (request matrix) Εκφράζει τον αριθμό των πόρων που χρειάζονται (αιτούνται) οι διεργασίες. 18

19 Παράδειγμα Υ: Διάνυσμα υφιστάμενων πόρων (existing resource vector) Θ: Διάνυσμα διαθέσιμων πόρων (available resource vector) Τ: Μητρώο τρέχουσας κατανομής (current allocation matrix) Α: Μητρώο αιτήσεων (request matrix) Εντοπισμός αδιεξόδου και Ανάκαμψη 19

20 Αλγόριθμος ανίχνευσης Εντοπισμός αδιεξόδου και Ανάκαμψη Συνοπτικά ο αλγόριθμος εντοπισμού αδιεξόδου αναζητά και σημειώνει τις διεργασίες που μπορούν να ολοκληρωθούν, δηλ. αυτές που δεν βρίσκονται σε αδιέξοδο. Δηλ. ψάχνει για τις διεργασίες που μπορούν να εκτελεστούν μέχρι να ολοκληρωθούν. Αυτό σημαίνει ότι οι απαιτήσεις των διεργασιών αυτών σε πόρους, μπορούν να ικανοποιηθούν από τους διαθέσιμους πόρους. Όσες διεργασίες παραμένουν ασημείωτες μετά το τέλος του αλγόριθμου θα βρίσκονται προφανώς σε αδιέξοδο. Ο αλγόριθμος εντοπισμού μπορεί να διατυπωθεί ως εξής: 1. Ψάξε για μια ασημείωτη διεργασία Δκ, για την οποία η κ-οστή γραμμή του μητρώου Α είναι μικρότερη ή ίση από την κ-οστή γραμμή του μητρώου Θ. 2. Αν βρεθεί τέτοια διεργασία, πρόσθεσε την κ-οστή γραμμή του Τ στην κ- οστή γραμμή του Θ, σημείωσε τη διεργασία, και επέστρεψε στο βήμα Αν δεν υπάρχει τέτοια διεργασία, ο αλγόριθμος τερματίζεται. 20 Ενημερωτική προαιρετική διαφάνεια

21 Αλγόριθμος ανίχνευσης Εντοπισμός αδιεξόδου και Ανάκαμψη available: Διάνυσμα μήκους m, όπου available[j] το πλήθος των διαθέσιμων οντοτήτων του πόρου R j allocation: Πίνακας n x m, όπου allocation[i,j] το πλήθος των οντοτήτων του πόρου R j που διαθέτει η P i την τρέχουσα στιγμή που δείχνει το πλήθος των διαθέσιμων πόρων από κάθε τύπο request: Πίνακας n x m, όπου request[i,j] το πλήθος των επιπλέον οντοτήτων του πόρου R j που ζητά η διεργασία P i 1. Έστω work και finish διανύσματα μεγέθους m και n, όπου αρχικά: (α) work[i] = available[i] για i = 1,2,, m (β) finish[i] = false αν allocation[i,k] <> 0 για κάποιο k = 1,2,, m, αλλιώς finish[i] = true 2. Βρες ένα δείκτη i τέτοιο ώστε: (α) finish[i] = false και (β) request[i,k] work[k] για k = 1,2,, m Αν δεν υπάρχει τέτοιο i, πήγαινε στο βήμα 4 3. work[k] = work[k] + allocation[i,k] για k = 1,2,, m finish[i] = true πήγαινε στο βήμα 2 4. Αν finish[i] = false, για κάποιο i, 1 i n, τότε το σύστημα είναι σε κατάσταση αδιεξόδου. Επιπρόσθετα, αν finish[i] = false, τότε η P i βρίσκεται σε αδιέξοδο Απαιτείται πλήθος πράξεων/λειτουργιών τάξη μεγέθους O(m x n 2 ) για να ανιχνεύσει αν το σύστημα είναι σε κατάσταση αδιεξόδου. 21 Ενημερωτική προαιρετική διαφάνεια

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

23 Παράδειγμα ανίχνευσης αδιεξόδου Έστω 5 διεργασίες P 0 έως P 4 και 3 πόροι: A (με 7 οντότητες), B (με 2 οντότητες) και C (με 6 οντότητες). Στιγμιότυπο τη χρονική στιγμή T 0 : allocation request available A B C A B C A B C P P P P P Η ακολουθία {P 0, P 2, P 3, P 1, P 4 } οδηγεί σε finish[i] = true για κάθε I Η P 2 κάνει αίτηση για μια επιπλέον εκδοχή του πόρου C : allocation request available A B C A B C A B C P P P P P Κατάσταση του συστήματος: μπορεί να επανακτήσει τους πόρους που κρατούνται από την P 0, αλλά δεν επαρκούν για τις αιτήσεις των άλλων διεργασιών. Υπάρχει αδιέξοδο, που αποτελείται από τις P 1, P 2, P 3, και P Εντοπισμός αδιεξόδου και Ανάκαμψη

24 2. Ανάκαμψη από το αδιέξοδο (α) με εξάλειψη/τερματισμό των διεργασιών Εντοπισμός αδιεξόδου και Ανάκαμψη Παύση μιας ή περισσοτέρων διεργασιών που εμπλέκονται στο αδιέξοδο. Παύση μιας διεργασίας τη φορά μέχρι να εξαλειφθεί ο κύκλος του αδιεξόδου. Επιθυμητό είναι να εξαλείφεται κάποια διεργασία που μπορεί να επανεκτελεστεί από την αρχή χωρίς ανεπιθύμητες παρενέργειες. Εναλλακτικά, μπορεί να επιλεγεί ως θύμα μια διεργασία που δεν ανήκει στον κύκλο, με το σκεπτικό να αποδεσμευθούν οι πόροι που κατέχει και χρειάζονται σε κάποια διεργασία του κύκλου. Κριτήρια με τα οποία μπορεί να επιλέγονται οι διεργασίες για παύση: Προτεραιότητα της διεργασίας Πόση ώρα εκτελείται η διεργασία και πόσο υπολείπεται μέχρι την ολοκλήρωσή της Πόροι που έχουν χρησιμοποιηθεί από τη διεργασία Πόροι που χρειάζεται για να ολοκληρωθεί η διεργασία Πόσες διεργασίες θα χρειαστεί να τερματιστούν; Είναι αλληλεπιδραστική (interactive) ή μαζικής επεξεργασίας (batch);

25 2. Ανάκαμψη από το αδιέξοδο (β) με αφαίρεση των πόρων (Resource Preemption) Απόσπαση πόρου προσωρινά από διεργασία που τον κατέχει για να δοθεί σε μια άλλη, και όταν αυτή ολοκληρώσει τη χρήση του, επιστρέφεται και πάλι στην αρχική. Μια άλλη περίπτωση αφαίρεσης πόρου για να επιτευχθεί η ανάκαμψη έχει ως εξής. Ανασκευάζουμε μια διεργασία (rollback) που κατέχει έναν κρίσιμο πόρο, επιστρέφοντάς την σε ένα χρονικό σημείο (εκτέλεσης) στο παρελθόν πριν αποκτήσει αυτόν τον πόρο. Οτιδήποτε έχει γίνει από αυτό το σημείο και μετά χάνεται. Οπότε ο πόρος αυτός τώρα εκχωρείται σε μια από τις διεργασίες που βρίσκονται σε αδιέξοδο για να επιτευχθεί η ανάκαμψη. Όταν η διεργασία προσπαθήσει να αποκτήσει τον πόρο ξανά μετά από την επανεκκίνησή της, πρέπει να περιμένει μέχρι αυτός να γίνει διαθέσιμος. 25 Εντοπισμός αδιεξόδου και Ανάκαμψη

26 Μέθοδος αντιμετώπισης αδιεξόδου: Αποφυγή αδιεξόδου (deadlock avoidance) Μεθοδολογία: μπορούμε να αποφύγουμε τα αδιέξοδα αν γνωρίζουμε από πριν για το πώς οι πόροι θα ζητηθούν, έτσι ώστε να γίνεται σωστή (ασφαλή) κατανομή των πόρων κάθε φορά που ζητούνται από τις διεργασίες, και συνεπώς όλες να έχουν τη δυνατότητα να ολοκληρώσουν την εκτέλεσή τους (ασφαλή κατάσταση συστήματος). Αυτή η προσέγγιση απαιτεί από κάθε διεργασία να δηλώνει εκ των προτέρων το μέγιστο πλήθος των πόρων κάθε τύπου που θα χρειαστεί (όχι τόσο εφικτό). Ο αλγόριθμος εδώ, όταν μια διεργασία αιτείται ένα διαθέσιμο πόρο, εξετάζει δυναμικά την κατάσταση της ανάθεσης πόρων και συγκεκριμένα κατά πόσο η άμεση ανάθεση του πόρου αυτού στην διεργασία θα διατηρήσει το σύστημα σε ασφαλή κατάσταση (safe state), ή θα το οδηγήσει σε μη ασφαλή κατάσταση με το ενδεχόμενο να προκύψει αδιέξοδο. Το σύστημα θα είναι σε ασφαλή κατάσταση όταν μπορεί να καταχωρεί πόρους σε κάθε διεργασία (μέχρι το μέγιστό της) με κάποια σειρά και να αποφεύγει το αδιέξοδο (π.χ. Banker s algorithm). Αποφυγή αδιεξόδου: διασφάλιση ότι το σύστημα δεν θα εισέλθει ποτέ σε μη ασφαλή κατάσταση.

27 Ασφαλής κατάσταση (Safe State) Ένα σύστημα είναι σε ασφαλή κατάσταση αν υπάρχει μια ασφαλής ακολουθία όλων των διεργασιών για την οποία ισχύουν τα ακόλουθα. Η ακολουθία <P 1, P 2,, P n > είναι ασφαλής, αν για κάθε P i, οι πόροι που η P i μπορεί να αιτηθεί μπορούν να ικανοποιηθούν από τους διαθέσιμους πόρους καθώς και τους πόρους που δεσμεύουν όλες οι P j, με j<i. Αν οι αναγκαίοι πόροι της P i δεν είναι άμεσα διαθέσιμοι, τότε η P i μπορεί να περιμένει μέχρι να ολοκληρώσουν όλες οι P j Όταν ολοκληρωθεί η P j, στη συνέχεια η P i μπορεί πλέον να αποκτήσει τους αναγκαίους πόρους, να εκτελεστεί και να τους επιστρέψει Όταν ολοκληρώσει η P i και τους επιστρέψει, η επόμενη P i+1 μπορεί να αποκτήσει τους αναγκαίους πόρους Εάν ένα σύστημα είναι σε ασφαλή κατάσταση, τότε δεν υπάρχει αδιέξοδο. Σε αντίθετη περίπτωση, αν ένα σύστημα είναι σε μη ασφαλή κατάσταση, τότε υπάρχει πιθανότητα εμφάνισης αδιεξόδου. Συνεπώς για την αποφυγή αδιεξόδου σε ένα σύστημα πρέπει να διασφαλίσουμε ότι δεν θα εισέλθει ποτέ σε μη ασφαλή κατάσταση. 27 Αποφυγή αδιεξόδου

28 Παράδειγμα γραφήματος ανάθεσης πόρων Αποφυγή αδιεξόδου Ακμή διεκδίκησης P i R j υποδηλώνει ότι η διεργασία P i μπορεί να ζητήσει τον πόρο R j και αναπαρίσταται από διακεκομμένη γραμμή. Μια ακμή διεκδίκησης μετατρέπεται σε ακμή αίτησης όταν μια διεργασία ζητήσει ένα πόρο. Όταν μια διεργασία απελευθερώσει κάποιον πόρο, η ακμή ανάθεσης ξαναγίνεται ακμή διεκδίκησης. Οι πόροι πρέπει να διεκδικούνται εκ των προτέρων από το σύστημα. Γράφημα ανάθεσης πόρων για αποφυγή αδιεξόδου 28 Μη ασφαλής κατάσταση σε ένα γράφημα ανάθεσης πόρων

29 Αλγόριθμος του τραπεζίτη (Banker s Algorithm, Dijkstra 1965) Αποφυγή αδιεξόδου Με βάση αυτόν τον αλγόριθμο όταν μια νέα διεργασία εισέρχεται στο σύστημα θα πρέπει να δηλώσει το μέγιστο αριθμό των στιγμιότυπων του κάθε τύπου πόρου (resource instances) που θα χρειαστεί. Αυτός ο αριθμός δεν πρέπει να υπερβαίνει τον συνολικό αριθμό των πόρων του συστήματος. Έτσι, όταν μια διεργασία κάνει αίτηση για ένα σύνολο από πόρους, ο αλγόριθμος εξετάζει δυναμικά με προσομοίωση εάν η κατανομή των πόρων θα αφήσει το σύστημα σε ασφαλή κατάσταση. Σε περίπτωση που δεν το εξασφαλίζει η διεργασία μπλοκάρεται (blocked queue) και περιμένει έως ότου κάποια άλλη διεργασία απελευθερώσει αρκετούς πόρους. Αφού μια διεργασία πάρει όλους τους πόρους που χρειάζεται πρέπει να τους επιστρέψει σε πεπερασμένο χρονικό διάστημα. Η κεντρική ιδέα του αλγορίθμου είναι ότι αφού όλες οι διεργασίες έχουν ένα μέγιστο αριθμό από πόρους που μπορεί να ζητήσουν αλλά δεν ζητούν όλες το μέγιστο, τότε επιπλέον πόροι μπορούν να δοθούν σε μια διεργασία που τους ζητά εφόσον η απαίτηση δεν οδηγεί σε ανασφαλή κατάσταση. 29

30 Αλγόριθμος Συνοπτικά: Υπάρχουν περισσότερες της μιας οντότητες για κάποιους τύπους πόρων. Κάθε διεργασία πρέπει εκ των προτέρων να διεκδικήσει τη μέγιστη χρήση των πόρων που χρειάζεται για την εκτέλεση της. Όταν μια διεργασία κάνει αίτηση για κάποιον πόρο, μπορεί να χρειαστεί να περιμένει. Αφού μια διεργασία πάρει όλους τους πόρους που χρειάζεται πρέπει να τους επιστρέψει σε πεπερασμένο χρονικό διάστημα. Δομές δεδομένων για τον αλγόριθμο του τραπεζίτη: n = το πλήθος των διεργασιών, m = το πλήθος των πόρων available: Διάνυσμα μεγέθους m, όπου available[j] το πλήθος των διαθέσιμων οντοτήτων του πόρου R j max: Πίνακας n x m, όπου max[i,j] το μέγιστο πλήθος των οντοτήτων του πόρου R j που μπορεί να ζητήσει η διεργασία P i allocation: Πίνακας n x m, όπου allocation[i,j] το πλήθος των οντοτήτων του πόρου R j που διαθέτει η P i την τρέχουσα στιγμή need: Πίνακας n x m, όπου need[i,j] το πλήθος των επιπλέον οντοτήτων του πόρου R j που μπορεί να χρειαστεί η P i για να ολοκληρώσει την εργασία της: need [i,j] = max[i,j] allocation [i,j] 30 Ενημερωτική προαιρετική διαφάνεια Αποφυγή αδιεξόδου

31 Αποφυγή αδιεξόδου Παράδειγμα: ο αλγόριθμος του τραπεζίτη για πολλούς πόρους 31

32 Αποφυγή αδιεξόδου Αλγόριθμος ασφαλής κατάστασης 1. Έστω work and finish διανύσματα μεγέθους m και n, όπου αρχικά: work[i] = available[i] για i = 1,2,, m finish[i] = false για i = 1,2,, n 2. Βρες ένα i τέτοιο ώστε: (a) finish[i] = false και (b) need [i,k] work[k] για k = 1,2,, m Αν δεν υπάρχει τέτοιο i, πήγαινε στο βήμα 4 3. work[k] = work[k] + allocation [i,k] για k = 1,2,, m finish[i] = true πήγαινε στο βήμα 2 4. Αν finish [i] = true για i = 1,2,, n, τότε το σύστημα βρίσκεται σε ασφαλή κατάσταση 32 Ενημερωτική προαιρετική διαφάνεια

33 Αποφυγή αδιεξόδου Αλγόριθμος αίτησης πόρων για τη διεργασία P i 1. Έστω request πίνακας n x m, όπου request[i,j] το πλήθος των οντοτήτων του πόρου R j που αιτείται η P i 2. Αν request[i,k] need[i,k] για k = 1,2,, m, πήγαινε στο βήμα 3. Αλλιώς, δημιουργία συνθήκης λάθους, αφού η διεργασία ξεπέρασε τα μέγιστα επιτρεπτά όρια διεκδίκησης πόρων. 3. Αν request[i,k] available[k] για k = 1,2,, m, πήγαινε στο βήμα 4. Αλλιώς η P i πρέπει να περιμένει, διότι δεν υπάρχουν διαθέσιμοι πόροι. 4. Προσποιούμαστε ότι αναθέτουμε στην P i τους πόρους που ζήτησε τροποποιώντας την τρέχουσα κατάσταση ακόλουθα: available[k] = available[k] - request[i,k] για k = 1,2,, m; allocation[i,k] = allocation[i,k] + request[i,k] για k = 1,2,, m; need[i,k] = need[i,k] request [i,k] για k = 1,2,, m; Αν η κατάσταση είναι ασφαλής οι πόροι ανατίθενται στην P i Αν η κατάσταση είναι μη ασφαλής η P i πρέπει να περιμένει, και ανακτάται η προηγούμενη κατάσταση ανάθεσης πόρων. 33 Ενημερωτική προαιρετική διαφάνεια

34 Αποφυγή αδιεξόδου Παράδειγμα αλγόριθμου του τραπεζίτη Έστω 5 διεργασίες P 0 έως P 4 και 3 είδη πόρων: A (10 οντότητες), B (5 οντότητες), και C (7 οντότητες). Στιγμιότυπο τη χρονική στιγμή T 0 : allocation max need available A B C A B C A B C A B C P P P P P Το σύστημα είναι σε ασφαλή κατάσταση αφού η ακολουθία {P 1, P 3, P 4, P 2, P 0 } ικανοποιεί τα κριτήρια ασφάλειας. 34

35 Αποφυγή αδιεξόδου Παράδειγμα αλγόριθμου του τραπεζίτη: αίτηση Ρ 1 (1,0,2) Έλεγχος request[1,k] need[1,k], δηλ. (1,0,2) (1,2,2) αληθές Έλεγχος request[1,k] available[k], δηλ. (1,0,2) (3,3,2) αληθές allocation max need available A B C A B C A B C A B C P P P P P Η εκτέλεση του αλγόριθμου ασφάλειας δείχνει ότι η ακολουθία {P 1, P 3, P 4, P 0, P 2 } ικανοποιεί τις απαιτήσεις ασφάλειας. Μπορεί να ικανοποιηθεί η αίτηση (3,3,0) της P 4 ; Η (0,2,0) της P 0 ; 35

36 Μέθοδος αντιμετώπισης αδιεξόδου: Αποτροπή αδιεξόδου (deadlock prevention) Αν εξασφαλίσουμε ότι τουλάχιστον μια από τις τέσσερις απαραίτητες συνθήκες (εμφάνισης αδιέξοδου) δεν θα ικανοποιηθεί ποτέ, τότε θα είναι αδύνατο να συμβεί αδιέξοδο. Ελαχιστοποίηση αμοιβαίου αποκλεισμού δεν απαιτείται για τους κοινούς πόρους, πρέπει να ισχύει για τους μη κοινούς πόρους. Απαγόρευση δέσμευσης εν αναμονή πρέπει να υπάρχει εγγύηση ότι, όταν μια διεργασία κάνει αίτηση για έναν πόρο, δεν κατέχει άλλο Απαιτεί από τη διεργασία να αιτηθεί και να της ανατεθούν όλοι οι πόροι πριν την έναρξη της εκτέλεσης, ή επιτρέπει στις διεργασίες να κάνουν αιτήσεις μόνο όταν δεν κατέχουν πόρους Χαμηλή χρησιμοποίηση πόρων, πιθανότητα λιμοκτονίας Εισαγωγή διακοπών επιτρέπεται να αφαιρεθούν πόροι από μια διεργασία που βρίσκεται ακόμα στο στάδιο της αίτησης για πόρους Αν μια διεργασία που κατέχει κάποιους πόρους κάνει αίτηση για κάποιον πόρο ο οποίος δεν μπορεί να της ανατεθεί αμέσως, τότε όλοι οι πόροι που δεσμεύει αποδεσμεύονται Η διεργασία θα ξεκινήσει ξανά μόνο όταν μπορέσει να επανακτήσει όλους τους πόρους που κατείχε αλλά και αυτούς για τους οποίους κάνει αίτηση Αποφυγή κυκλικής αναμονής επιβολή μιας συνολικής διάταξης όλων των τύπων πόρων, και αίτηση για πόρους από τις διεργασίες σε αύξουσα σειρά τύπου των πόρων που χρειάζονται.

37 Ερωτήσεις Περιγράψτε το αδιέξοδο και τις συνθήκες που πρέπει να ισχύουν για την εμφάνιση αδιεξόδου. Σε ένα σύστημα ανάθεσης πόρων οι διεργασίες: Δ1, Δ2, Δ3 ζητούν ή/και τους έχουν ανατεθεί αντίστοιχα οι πόροι: Π1, Π2, Π3, σύμφωνα με τους διπλανούς γράφους (α) και (β): Απαντήστε σε ποια περίπτωση εμφανίζεται αδιέξοδο αιτιολογώντας την απάντησή σας. Δ1 Π1 Δ2 Π2 Δ3 Π3 Περιγράψτε τις μεθόδους ανάκαμψης από αδιέξοδο (μετά τον εντοπισμό του). Περιγράψτε την μέθοδο αποφυγής αδιεξόδου. Τι γνωρίζετε για την ασφαλή κατάσταση συστήματος. Τι γνωρίζετε για τον αλγόριθμο του τραπεζίτη (Banker s algorithm). Περιγράψτε την μέθοδο αποτροπής αδιεξόδου. (α) (β) 37

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

Αδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation) Αδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation) Εισαγωγή Μοντέλο συστήματος Χαρακτηρισμός και ορισμός κατάστασης αδιεξόδου Μέθοδοι χειρισμού αδιεξόδων Αποτροπή αδιεξόδου (Deadlock Prevention) Αποφυγή

Διαβάστε περισσότερα

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

Αδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation) Αδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation) Για τη δηµιουργία των διαφανειών έχει χρησιµοποιηθεί υλικό από τις διαφάνειες παραδόσεων που βασίζονται στο βιβλίο, Silberschatz, Galvin and Gagne,

Διαβάστε περισσότερα

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

Αδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation) Αδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation) Το Πρόβλημα του Αδιεξόδου Ένα σύνολο από διεργασίες σε αναμονή, όπου η κάθε μια κατέχει έναν αριθμό από πόρους και περιμένει να αποκτήσει και έναν

Διαβάστε περισσότερα

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

ΑΔΙΕΞΟΔΑ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι ΑΔΙΕΞΟΔΑ Διδάσκων: Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1 ΑΔΙΕΞΟΔΑ 2 ΠΟΡΟΙ Υπάρχουν δύο τύποι πόρων σε υπολογιστικά συστήματα: Προεκτοπίσιμοι πόροι

Διαβάστε περισσότερα

6. Α ΙΕΞΟ Α Στέφανος Γκρίτζαλης Αναπληρωτής Καθηγητής Κωνσταντίνος Καραφασούλης ιδάσκων (Π 407) 6.1 ΠΟΡΟΙ (1/2) Υπάρχουν δύο τύποι πόρων σε υπολογιστικά συστήµατα: προεκχωρήσιµοι πόροι (preemptable resources):

Διαβάστε περισσότερα

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

09/04/2014 ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Μάθηµα: Α ΙΕΞΟ Α. ιδάσκων: Λειτουργικά Συστήµατα Ι Αν. Καθ. Κ. Λαµπρινουδάκης Α ΙΕΞΟ Α ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθηµα: Λειτουργικά Συστήµατα Ι Α ΙΕΞΟ Α ιδάσκων: Αν. Καθ. Κ. Λαµπρινουδάκης clam@unipi.gr 1 Α ΙΕΞΟ Α 2 1 ΠΟΡΟΙ Υπάρχουν δύο τύποι πόρων σε υπολογιστικά συστήµατα: Προεκτοπίσιµοι

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα Η/Υ Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 6 «Αδιέξοδο» Διδάσκων: Δ. Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας 1 Αδιέξοδο 1. Ορισμοί είδη πόρων 2. Γράφοι εκχώρησης πόρων 3. Συνθήκες αδιεξόδου 4. Προσεγγίσεις αδιεξόδου

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Λειτουργικά Συστήματα Ενότητα 7 : Αδιέξοδο 2/2 Δημήτριος Λιαροκάπης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών Πληροφορικής

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΑΔΙΕΞΟΔΑ (Deadlocks) Παράδειγμα 1 Θανάσιμο αγκάλιασμα (deadly embrace) Παράδειγμα 1 Ένα σύστημα με έναν εκτυπωτή και ένα σαρωτή εγγράφων Δύο διεργασίες Ρ1 και Ρ2 Η Ρ1 δεσμεύει τον εκτυπωτή Η Ρ2 δεσμεύει το σαρωτή Η Ρ1 ζητά το σαρωτή και εμποδίζεται Η Ρ2 ζητά τον εκτυπωτή

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Λειτουργικά Συστήματα Ενότητα 6 : Αδιέξοδο 1/2 Δημήτριος Λιαροκάπης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών Πληροφορικής

Διαβάστε περισσότερα

Αδιέξοδα (Deadlocks)

Αδιέξοδα (Deadlocks) Αδιέξοδα (Deadlocks) Περίληψη Αδιέξοδα (deadlocks) Τύποι πόρων (preemptable non preemptable) Μοντελοποίηση αδιεξόδων Στρατηγικές Στρουθοκαµηλισµός (ostrich algorithm) Ανίχνευση και αποκατάσταση (detection

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα (Λ/Σ) Λειτουργικά Συστήματα (Λ/Σ) Αδιέξοδα Βασίλης Σακκάς 22/1/2014 1 Εισαγωγή Πόροι Ένα σύνολο διεργασιών βρίσκεται σε αδιέξοδο (deadlock) αν κάθε διεργασία του συνόλου περιμένει ένα γεγονός που μόνο μια άλλη

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Λειτουργικά Συστήματα Ενότητα 4β: Αθηνά Βακάλη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Αδιέξοδα ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Αδιέξοδα Υλικό από: Tanenbaum, Modern Operating Systems,Structured Computer Organization Stallings, Operating Systems: Internals and Design Principles. Silberschatz, Galvin and Gange,

Διαβάστε περισσότερα

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Άσκηση 1 α) Η δομή σταθμισμένης ένωσης με συμπίεση διαδρομής μπορεί να τροποποιηθεί πολύ εύκολα ώστε να υποστηρίζει τις

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Κεφάλαιο 6ο: Αδιέξοδα

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Κεφάλαιο 6ο: Αδιέξοδα ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Κεφάλαιο 6ο: Αδιέξοδα 1 3.1 Εισαγωγή Αδιέξοδο = ένα σύνολο από διεργασίες που δημιουργούν μια κυκλική αλυσίδα όπου κάθε process στην αλυσίδα δεν μπορεί να προχωρήσει και περιμένει

Διαβάστε περισσότερα

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

Συγχρονισµός: Αδιέξοδο & Παρατεταµένη Στέρηση Συγχρονισµός: Αδιέξοδο & Παρατεταµένη Στέρηση Κεφάλαιο 6 Αδιέξοδο Μόνιµη αναµονή ενός συνόλου διεργασιών οι οποίες ανταγωνίζονται για πόρους του συστήµατος ή για να επικοινωνήσουν µεταξύ τους εν υπάρχει

Διαβάστε περισσότερα

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Αδιέξοδα ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Αδιέξοδα Υλικό από: Tanenbaum, Modern Operating Systems,Structured Computer Organization Stallings, Operating Systems: Internals and Design Principles. Silberschatz, Galvin and Gange,

Διαβάστε περισσότερα

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

Λιβανός Γιώργος Εξάμηνο 2017Β Λιβανός Γιώργος Εξάμηνο 2017Β Το Λ.Σ. είναι υπεύθυνο για την κατανομή των πόρων του συστήματος (επεξεργαστές, μνήμη, αποθηκευτικά μέσα και συσκευές εισόδου/εξόδου) στα διάφορα ανταγωνιζόμενα προγράμματα

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα Η/Υ Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 5 «Αμοιβαίος Αποκλεισμός» Διδάσκων: Δ Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας 1 Αμοιβαίος Αποκλεισμός 1. Εισαγωγή 2. Κρίσιμα τμήματα (Critical Sections) 3. Υλοποίηση του

Διαβάστε περισσότερα

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

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Μάθημα: ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης (clam@unipi.gr) Δρ. Α. Γαλάνη (agalani@unipi.gr) 1 Συμβαίνει συχνά πολλές διεργασίες να ανταγωνίζονται για τον έλεγχο

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Λειτουργικά Συστήματα Ενότητα 5 : Αμοιβαίος Αποκλεισμός Δημήτριος Λιαροκάπης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα (ΗΥ222) Λειτουργικά Συστήματα (ΗΥ222) Διάλεξη 5: Αδιέξοδα Συγχρονισμός στον Πραγματικό Κόσμο Χρειάζεται οποτεδήποτε > 1 χρήστης πόρου Λίγο πολύ οι ίδιες λύσεις με τον πραγματικό κόσμο: κλείδωμα (στo WC), χρονοπρογραμματισμός

Διαβάστε περισσότερα

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

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Διδάσκων: Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1 Χρονοδρομολογητής ή χρονοπρογραμματιστής (scheduler) είναι το τμήμα του Λ.Σ.

Διαβάστε περισσότερα

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Κεφάλαιο 6ο: Αδιέξοδα

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Κεφάλαιο 6ο: Αδιέξοδα ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Κεφάλαιο 6ο: Αδιέξοδα 1 3.1 Εισαγωγή Αδιέξοδο = ένα σύνολο από διεργασίες που δημιουργούν μια κυκλική αλυσίδα όπου κάθε process στην αλυσίδα δεν μπορεί να προχωρήσει και περιμένει

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Λειτουργικά Συστήματα Ενότητα 6: Πόροι. Αδιέξοδα & Αποφυγή αδιεξόδων. Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

Διαβάστε περισσότερα

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

Αμοιβαίος αποκλεισμός Αμοιβαίος αποκλεισμός 1. Εισαγωγή 2. Κρίσιμα τμήματα (Critical Sections) 3. Υλοποίηση του αμοιβαίου αποκλεισμού I. Προσεγγίσεις λογισμικού II. Υποστήριξη εκ μέρους του υλικού III. Σηματοφορείς 4. Κλασσικά

Διαβάστε περισσότερα

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

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών Οργάνωση Υπολογιστών Υπολογιστικό Σύστημα Λειτουργικό Σύστημα Αποτελεί τη διασύνδεση μεταξύ του υλικού ενός υπολογιστή και του χρήστη (προγραμμάτων ή ανθρώπων). Είναι ένα πρόγραμμα (ή ένα σύνολο προγραμμάτων)

Διαβάστε περισσότερα

Μάθημα 4 ο. Κρίσιμα Τμήματα και Αμοιβαίος Αποκλεισμός

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

Διαβάστε περισσότερα

Η Αμερικάνικη Πλειοδοτική Δημοπρασία (Yankee Forward Auction)

Η Αμερικάνικη Πλειοδοτική Δημοπρασία (Yankee Forward Auction) Η Αμερικάνικη Πλειοδοτική Δημοπρασία (Yankee Forward Auction) Η Αμερικάνικη Πλειοδοτική Δημοπρασία είναι ένας δημοφιλής τύπος δημοπρασίας που χρησιμοποιείται όταν ο «πωλητής» (που είναι και ο διοργανωτής

Διαβάστε περισσότερα

Εικόνα 1: Κριτήρια αναζήτησης προϋπολογισμών

Εικόνα 1: Κριτήρια αναζήτησης προϋπολογισμών 1. Διαδικασία καταχώρησης προϋπολογισμών από το web-rescom Αναλυτικά βήματα που θα πρέπει να ακολουθήσετε προκειμένου να εμφανίσετε, καταχωρήσετε ή και διορθώσετε τους ετήσιους και συνολικούς προϋπολογισμούς

Διαβάστε περισσότερα

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

Διεργασίες (Processes) Διεργασία (process) ή καθήκον (task) Διεργασίες (Processes) στοιχειώδης οντότητα/δραστηριότητα υπολογισμού (processing entity/activity) εκτέλεση ενός προγράμματος ένα (κύριο) νήμα (thread)/ρεύμα ελέγχου/εκτέλεσης

Διαβάστε περισσότερα

Γραμμικός Προγραμματισμός Μέθοδος Simplex

Γραμμικός Προγραμματισμός Μέθοδος Simplex ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Επιχειρησιακή Έρευνα Γραμμικός Προγραμματισμός Μέθοδος Simplex Η παρουσίαση προετοιμάστηκε από τον Ν.Α. Παναγιώτου Περιεχόμενα Παρουσίασης 1. Πρότυπη Μορφή ΓΠ 2. Πινακοποίηση

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 2 ο Να περιγραφεί η δομή επανάληψης Αρχή_επανάληψης Μέχρις_ότου

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 2 ο Να περιγραφεί η δομή επανάληψης Αρχή_επανάληψης Μέχρις_ότου 2.87 Να περιγραφεί η δομή επανάληψης Μέχρις_ότου Ημορφή της δομής επανάληψης Μέχρις_ότου είναι: Μέχρις_ότου Συνθήκη Η ομάδα εντολών στο εσωτερικό της επανάληψης, εκτελείται μέχρις ότου ισχύει η συνθήκη

Διαβάστε περισσότερα

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

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Διδάσκων: Επ. Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1 Χρονοδρομολογητής ή χρονοπρογραμματιστής (scheduler) είναι το τμήμα του

Διαβάστε περισσότερα

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

Προσπέλαση κοινών πόρων Πρωτόκολλα ελέγχου αμοιβαίου αποκλεισμού Λειτουργικά Συστήματα Πραγματικού Χρόνου 2006-07 Προσπέλαση κοινών πόρων Πρωτόκολλα ελέγχου αμοιβαίου αποκλεισμού Μ.Στεφανιδάκης Κοινοί πόροι Κοινοί (διαμοιραζόμενοι) πόροι με μία η περισσότερες μονάδες

Διαβάστε περισσότερα

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 13: Παραλλαγές Μηχανών Turing και Περιγραφή Αλγορίθμων

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 13: Παραλλαγές Μηχανών Turing και Περιγραφή Αλγορίθμων ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 13: Παραλλαγές Μηχανών Turing και Περιγραφή Αλγορίθμων Τι θα κάνουμε σήμερα Εισαγωγή Πολυταινιακές Μηχανές Turing (3.2.1) Μη Ντετερμινιστικές Μηχανές

Διαβάστε περισσότερα

Ασκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1

Ασκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1 Οικονομικό Πανεπιστήμιο Αθηνών, Τμήμα Πληροφορικής Μάθημα: Τεχνητή Νοημοσύνη, 2016 17 Διδάσκων: Ι. Ανδρουτσόπουλος Ασκήσεις μελέτης της 4 ης διάλεξης 4.1. (α) Αποδείξτε ότι αν η h είναι συνεπής, τότε h(n

Διαβάστε περισσότερα

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Προβλήματα, αλγόριθμοι, ψευδοκώδικας Προβλήματα, αλγόριθμοι, ψευδοκώδικας October 11, 2011 Στο μάθημα Αλγοριθμική και Δομές Δεδομένων θα ασχοληθούμε με ένα μέρος της διαδικασίας επίλυσης υπολογιστικών προβλημάτων. Συγκεκριμένα θα δούμε τι

Διαβάστε περισσότερα

Δοµές Δεδοµένων & Ανάλυση Αλγορίθµων 3ο Εξάµηνο. Γραφήµατα. (Graphs)

Δοµές Δεδοµένων & Ανάλυση Αλγορίθµων 3ο Εξάµηνο. Γραφήµατα. (Graphs) Δοµές Δεδοµένων & Ανάλυση Αλγορίθµων 3ο Εξάµηνο Γραφήµατα (Grphs) http://tos.it.tith.gr/~mos/thing_gr.html Δηµοσθένης Σταµάτης Τµήµα Πληροφορικής ATEI ΘΕΣΣΑΛΟΝΙΚΗΣ Γράφημα (Grph) Oρισμός 1: Έστω το µη

Διαβάστε περισσότερα

Πληροφορική 2. Αλγόριθμοι

Πληροφορική 2. Αλγόριθμοι Πληροφορική 2 Αλγόριθμοι 1 2 Τι είναι αλγόριθμος; Αλγόριθμος είναι ένα διατεταγμένο σύνολο από σαφή βήματα το οποίο παράγει κάποιο αποτέλεσμα και τερματίζεται σε πεπερασμένο χρόνο. Ο αλγόριθμος δέχεται

Διαβάστε περισσότερα

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

Το κείμενο που ακολουθεί αποτελεί επεξεργασία του πρωτότυπου κειμένου του Α. Κάστωρ για την επίλυση των παραδειγμάτων κρίσιμης αλυσίδας που Το κείμενο που ακολουθεί αποτελεί επεξεργασία του πρωτότυπου κειμένου του Α. Κάστωρ για την επίλυση των παραδειγμάτων κρίσιμης αλυσίδας που παρουσιάστηκαν στις 19/11/2015 και 3/12/2015 στις διαλέξεις του

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Λειτουργικά Συστήματα Ενότητα 6: Πόροι. Αδιέξοδα & Αποφυγή αδιεξόδων. Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

Διαβάστε περισσότερα

Ακέραιος Γραμμικός Προγραμματισμός

Ακέραιος Γραμμικός Προγραμματισμός Τμήμα Μηχανικών Πληροφορικής ΤΕ 2017-2018 Ακέραιος Γραμμικός Προγραμματισμός Γκόγκος Χρήστος ΤΕΙ Ηπείρου Επιχειρησιακή Έρευνα τελευταία ενημέρωση: 12/01/2017 1 Ακέραιος Γραμμικός Προγραμματισμός Όταν για

Διαβάστε περισσότερα

Κεφάλαιο 5: Στρατηγική χωροταξικής διάταξης

Κεφάλαιο 5: Στρατηγική χωροταξικής διάταξης K.5.1 Γραμμή Παραγωγής Μια γραμμή παραγωγής θεωρείται μια διάταξη με επίκεντρο το προϊόν, όπου μια σειρά από σταθμούς εργασίας μπαίνουν σε σειρά με στόχο ο κάθε ένας από αυτούς να κάνει μια ή περισσότερες

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

9. Συστολικές Συστοιχίες Επεξεργαστών

9. Συστολικές Συστοιχίες Επεξεργαστών Κεφάλαιο 9: Συστολικές συστοιχίες επεξεργαστών 208 9. Συστολικές Συστοιχίες Επεξεργαστών Οι συστολικές συστοιχίες επεξεργαστών είναι επεξεργαστές ειδικού σκοπού οι οποίοι είναι συνήθως προσκολλημένοι σε

Διαβάστε περισσότερα

Αλγόριθμοι και Πολυπλοκότητα

Αλγόριθμοι και Πολυπλοκότητα Αλγόριθμοι και Πολυπλοκότητα Ροή Δικτύου Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Μοντελοποίηση Δικτύων Μεταφοράς Τα γραφήματα χρησιμοποιούνται συχνά για την μοντελοποίηση

Διαβάστε περισσότερα

Εντοπισμός αδιεξόδου. Κατανεμημένα Συστήματα 1

Εντοπισμός αδιεξόδου. Κατανεμημένα Συστήματα 1 Εντοπισμός αδιεξόδου Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Αδιέξοδο σε κατανεμημένο σύστημα Αδιέξοδο: «κυκλική» και ατέρμονη αναμονή μεταξύ δύο ή περισσοτέρων διεργασιών Το πρόβλημα υφίσταται ήδη σε

Διαβάστε περισσότερα

Κατανεμημένα Συστήματα Ι

Κατανεμημένα Συστήματα Ι Συναίνεση χωρίς την παρουσία σφαλμάτων Κατανεμημένα Συστήματα Ι 4η Διάλεξη 27 Οκτωβρίου 2016 Παναγιώτα Παναγοπούλου Κατανεμημένα Συστήματα Ι 4η Διάλεξη 1 Συναίνεση χωρίς την παρουσία σφαλμάτων Προηγούμενη

Διαβάστε περισσότερα

ΟΔΗΓΙΕΣ ΓΙΑ ΤΟ ΠΑΙΧΝΙΔΙ.

ΟΔΗΓΙΕΣ ΓΙΑ ΤΟ ΠΑΙΧΝΙΔΙ. ΟΔΗΓΙΕΣ ΓΙΑ ΤΟ ΠΑΙΧΝΙΔΙ. Το πρώτο πράγμα που βλέπουμε μόλις ξεκινάμε το παιχνίδι είναι μια λίστα με όλα τα διαθέσιμα βίντεο με τα οποία μπορούμε να εξασκηθούμε. Σε αυτή περιλαμβάνονται επίσης πληροφορίες

Διαβάστε περισσότερα

Ακέραιος Γραμμικός Προγραμματισμός

Ακέραιος Γραμμικός Προγραμματισμός Τμήμα Μηχανικών Πληροφορικής ΤΕ 2016-2017 Ακέραιος Γραμμικός Προγραμματισμός Γκόγκος Χρήστος ΤΕΙ Ηπείρου Επιχειρησιακή Έρευνα τελευταία ενημέρωση: 12/01/2017 1 Ακέραιος Γραμμικός Προγραμματισμός Όταν για

Διαβάστε περισσότερα

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

Μάθημα 7 ο. Αλγόριθμοι Χρονοδρομολόγησης Μάθημα 7 ο Αλγόριθμοι Χρονοδρομολόγησης Σκοπός του μαθήματος Στην ενότητα αυτή θα εξηγήσουμε το ρόλο και την αξιολόγηση των αλγορίθμων χρονοδρομολόγησης, και θα παρουσιάσουμε τους κυριότερους. Θα μάθουμε:

Διαβάστε περισσότερα

Κεφάλαιο 4ο: Δικτυωτή Ανάλυση

Κεφάλαιο 4ο: Δικτυωτή Ανάλυση Κεφάλαιο ο: Δικτυωτή Ανάλυση. Εισαγωγή Η δικτυωτή ανάλυση έχει παίξει σημαντικό ρόλο στην Ηλεκτρολογία. Όμως, ορισμένες έννοιες και τεχνικές της δικτυωτής ανάλυσης είναι πολύ χρήσιμες και σε άλλες επιστήμες.

Διαβάστε περισσότερα

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

Αµοιβαίοςαποκλεισµός. Κατανεµηµένα Συστήµατα 03-1 Αµοιβαίοςαποκλεισµός Εισαγωγή Συγκεντρωτική προσέγγιση Κατανεµηµένη προσέγγιση Αλγόριθµος Lamport Αλγόριθµος Ricart-Agrawala Προσέγγιση µεταβίβασης σκυτάλης Αλγόριθµος LeLann Αλγόριθµος Raymond Αλγόριθµος

Διαβάστε περισσότερα

Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων ΣΗΜΜΥ - Ε.Μ.Π.

Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων ΣΗΜΜΥ - Ε.Μ.Π. Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων CO.RE.LAB. ΣΗΜΜΥ - Ε.Μ.Π. Άσκηση 1 η : Παιχνίδι επιλογής ακμών Έχουμε ένα ακυκλικό κατευθυνόμενο γράφο, μια αρχική κορυφή και δυο παίκτες. Οι παίκτες διαδοχικά

Διαβάστε περισσότερα

Μάθημα 6 ο. Χρονοδρομολόγηση (Scheduling)

Μάθημα 6 ο. Χρονοδρομολόγηση (Scheduling) Μάθημα 6 ο Χρονοδρομολόγηση (Scheduling) Σκοπός του μαθήματος Στην ενότητα αυτή θα εξηγήσουμε το ρόλο και τη λειτουργία της χρονοδρομολόγησης σε ένα Λειτουργικό Σύστημα. Θα μάθουμε: Να ορίζουμε τι είναι

Διαβάστε περισσότερα

Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi

Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi Προϋποθέσεις για Αµοιβαίο Αποκλεισµό Μόνο µία διεργασία σε κρίσιµο τµήµασεκοινό πόρο Μία διεργασία που σταµατά σε µη κρίσιµο σηµείο δεν πρέπει να επιρεάζει τις υπόλοιπες διεργασίες εν πρέπει να υπάρχει

Διαβάστε περισσότερα

Βασικές έννοιες. Κατανεμημένα Συστήματα 1

Βασικές έννοιες. Κατανεμημένα Συστήματα 1 Βασικές έννοιες Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Ορισμός κατανεμημένου συστήματος Ένα σύστημα από ξεχωριστές ενεργές οντότητες (ονομάζονται «κόμβοι» ή «διεργασίες») που εκτελούνται ταυτόχρονα/ανεξάρτητα

Διαβάστε περισσότερα

Θεωρία Υπολογισμού και Πολυπλοκότητα Αναγωγές

Θεωρία Υπολογισμού και Πολυπλοκότητα Αναγωγές Θεωρία Υπολογισμού και Πολυπλοκότητα Αναγωγές Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ανεπίλυτα Προβλήματα από τη Θεωρία Γλωσσών (5.1) To Πρόβλημα της Περάτωσης Το Πρόβλημα της Κενότητα

Διαβάστε περισσότερα

3η Σειρά Γραπτών Ασκήσεων

3η Σειρά Γραπτών Ασκήσεων 1/48 3η Σειρά Γραπτών Ασκήσεων Αλγόριθμοι και Πολυπλοκότητα ΣΗΜΜΥ, Εθνικό Μετσόβιο Πολυτεχνείο 2/48 1 Άσκηση 1: Πομποί και Δέκτες 2 Άσκηση 2: Διακοπές στην Ικαρία 3 Άσκηση 3: Επιστροφή στη Γη 4 Άσκηση

Διαβάστε περισσότερα

Σειρά Προβλημάτων 4 Λύσεις

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα { ww w {a,b}* }. (β) Να διατυπώσετε την τυπική περιγραφή

Διαβάστε περισσότερα

Διάγραμμα Ροής. Σελίδα 1 από 10

Διάγραμμα Ροής. Σελίδα 1 από 10 Θεωρία επισκόπηση 3 Επανάληψη Σημείωση: Οι εντολές που συγκροτούν μια εντολή επανάληψης αποκαλούνται βρόχος 1. Εντολή Όσο.επανάλαβε Σύνταξη Όσο συνθήκη επανάλαβε εντολές Πώς Λειτουργεί. Αρχικά ελέγχεται

Διαβάστε περισσότερα

Ακέραιος Γραμμικός Προγραμματισμός

Ακέραιος Γραμμικός Προγραμματισμός Τμήμα Πληροφορικής & Τηλεπικοινωνιών Πανεπιστήμιο Ιωαννίνων 2018-2019 Ακέραιος Γραμμικός Προγραμματισμός Γκόγκος Χρήστος- Γεωργία Φουτσιτζή Επιχειρησιακή Έρευνα τελευταία ενημέρωση: 12/01/2017 1 Ακέραιος

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 2ο ΠΡΟΣΟΜΟΙΩΣΗ ΔΙΑΚΡΙΤΩΝ ΓΕΓΟΝΟΤΩΝ

ΚΕΦΑΛΑΙΟ 2ο ΠΡΟΣΟΜΟΙΩΣΗ ΔΙΑΚΡΙΤΩΝ ΓΕΓΟΝΟΤΩΝ ΚΕΦΑΛΑΙΟ 2ο ΠΡΟΣΟΜΟΙΩΣΗ ΔΙΑΚΡΙΤΩΝ ΓΕΓΟΝΟΤΩΝ 2.1 Εισαγωγή Η μέθοδος που θα χρησιμοποιηθεί για να προσομοιωθεί ένα σύστημα έχει άμεση σχέση με το μοντέλο που δημιουργήθηκε για το σύστημα. Αυτό ισχύει και

Διαβάστε περισσότερα

4η Γραπτή Ασκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 7 Φεβρουαρίου 2017 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Ασκηση 7 Φεβρουαρίου / 38

4η Γραπτή Ασκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 7 Φεβρουαρίου 2017 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Ασκηση 7 Φεβρουαρίου / 38 4η Γραπτή Άσκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 7 Φεβρουαρίου 2017 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Άσκηση 7 Φεβρουαρίου 2017 1 / 38 Άσκηση 1 Πρέπει να βρούμε όλες τις καλές προτάσεις φίλων για τον

Διαβάστε περισσότερα

Σειρά Προβλημάτων 3 Λύσεις

Σειρά Προβλημάτων 3 Λύσεις Σειρά Προβλημάτων 3 Λύσεις Άσκηση 1 Να δώσετε ασυμφραστικές γραμματικές που να παράγουν τις πιο κάτω γλώσσες: (α) {0 n 1 n n > 0} {0 n 1 2n n > 0} (β) {w {a,b} * η w ξεκινά και τελειώνει με το ίδιο σύμβολο

Διαβάστε περισσότερα

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

2.4 Κλασσικά Προβλήματα IPC 2.4 Κλασσικά Προβλήματα IPC 1 Οι φιλόσοφοι που γευματίζουν - Dining Philosophers Μια πρώτη λύση για Ν φιλοσόφους: philosopher (i) while (1) { think; take_fork(i);/* πάρε αριστερό ξυλάκι */ take_fork(i+1

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Αυτοματοποιημένη Επαλήθευση

Αυτοματοποιημένη Επαλήθευση Αυτοματοποιημένη Επαλήθευση Στην ενότητα αυτή θα μελετηθούν τα εξής θέματα: Έλεγχος Μοντέλου Αλγόριθμοι γράφων Αλγόριθμοι αυτομάτων Αυτόματα ως προδιαγραφές ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 4-1

Διαβάστε περισσότερα

Διάλεξη 1: Εισαγωγή στον Κατανεμημένο Υπολογισμό. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

Διάλεξη 1: Εισαγωγή στον Κατανεμημένο Υπολογισμό. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Διάλεξη 1: Εισαγωγή στον Κατανεμημένο Υπολογισμό ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Τι θα δούμε σήμερα Τι είναι ένα Κατανεμημένο Σύστημα; Επικοινωνία, Χρονισμός, Σφάλματα Μοντέλο Ανταλλαγής Μηνυμάτων 1

Διαβάστε περισσότερα

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr Λειτουργικά

Διαβάστε περισσότερα

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή raniah@hua.gr 1 Ικανοποίηση Περιορισμών Κατηγορία προβλημάτων στα οποία είναι γνωστές μερικές

Διαβάστε περισσότερα

Οδηγίες για την καταχώρηση αιτήματος ανάληψης υποχρέωσης

Οδηγίες για την καταχώρηση αιτήματος ανάληψης υποχρέωσης Οδηγίες για την καταχώρηση αιτήματος ανάληψης υποχρέωσης Αγαπητοί συνεργάτες, Στης αμέσως επόμενες παραγράφους περιγράφουμε αναλυτικά τα βήματα που θα πρέπει να ακολουθήσετε προκειμένου να υποβάλετε με

Διαβάστε περισσότερα

Πίνακες Διασποράς. Χρησιμοποιούμε ένα πίνακα διασποράς T και μια συνάρτηση διασποράς h. Ένα στοιχείο με κλειδί k αποθηκεύεται στη θέση

Πίνακες Διασποράς. Χρησιμοποιούμε ένα πίνακα διασποράς T και μια συνάρτηση διασποράς h. Ένα στοιχείο με κλειδί k αποθηκεύεται στη θέση Πίνακες Διασποράς Χρησιμοποιούμε ένα πίνακα διασποράς T και μια συνάρτηση διασποράς h Ένα στοιχείο με κλειδί k αποθηκεύεται στη θέση κλειδί k T 0 1 2 3 4 5 6 7 U : χώρος πιθανών κλειδιών Τ : πίνακας μεγέθους

Διαβάστε περισσότερα

Παραλλαγές του Προβλήματος Μεταφοράς Το Πρόβλημα Μεταφόρτωσης και το Πρόβλημα Αναθέσεων Γεωργία Φουτσιτζή ΤΕΙ Ηπείρου Επιχειρησιακή Έρευνα

Παραλλαγές του Προβλήματος Μεταφοράς Το Πρόβλημα Μεταφόρτωσης και το Πρόβλημα Αναθέσεων Γεωργία Φουτσιτζή ΤΕΙ Ηπείρου Επιχειρησιακή Έρευνα Τμήμα Μηχανικών Πληροφορικής ΤΕ 2016-2017 Παραλλαγές του Προβλήματος Μεταφοράς Το Πρόβλημα Μεταφόρτωσης και το Πρόβλημα Αναθέσεων Γεωργία Φουτσιτζή ΤΕΙ Ηπείρου Επιχειρησιακή Έρευνα To Πρόβλημα Μεταφοράς

Διαβάστε περισσότερα

Βασικές έννοιες. Κατανεμημένα Συστήματα 1

Βασικές έννοιες. Κατανεμημένα Συστήματα 1 Βασικές έννοιες Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Ορισμός κατανεμημένου συστήματος Ένα σύστημα από ξεχωριστές ενεργές οντότητες (ονομάζονται «κόμβοι» ή «διεργασίες») που εκτελούνται ταυτόχρονα/ανεξάρτητα

Διαβάστε περισσότερα

Διαχρονικές δομές δεδομένων

Διαχρονικές δομές δεδομένων Διαχρονικές δομές δεδομένων Μια τυπική δομή δεδομένων μεταβάλλεται με πράξεις εισαγωγής ή διαγραφής Π.χ. κοκκινόμαυρο δένδρο εισαγωγή 0 18 0 5 39 73 1 46 6 80 Αποκατάσταση ισορροπίας 5 39 73 0 46 6 80

Διαβάστε περισσότερα

Ψευδοκώδικας. November 7, 2011

Ψευδοκώδικας. November 7, 2011 Ψευδοκώδικας November 7, 2011 Οι γλώσσες τύπου ψευδοκώδικα είναι ένας τρόπος περιγραφής αλγορίθμων. Δεν υπάρχει κανένας τυπικός ορισμός της έννοιας του ψευδοκώδικα όμως είναι κοινός τόπος ότι οποιαδήποτε

Διαβάστε περισσότερα

Ανάλυση Χρόνου, Πόρων & Κόστους

Ανάλυση Χρόνου, Πόρων & Κόστους ΠΜΣ: «Παραγωγή και ιαχείριση Ενέργειας» ιαχείριση Ενέργειας και ιοίκηση Έργων Ανάλυση Χρόνου, Πόρων & Κόστους Επ. Καθηγητής Χάρης ούκας, Καθηγητής Ιωάννης Ψαρράς Εργαστήριο Συστημάτων Αποφάσεων & ιοίκησης

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

4η Γραπτή Ασκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 3/2/2019 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Ασκηση 3/2/ / 37

4η Γραπτή Ασκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 3/2/2019 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Ασκηση 3/2/ / 37 4η Γραπτή Άσκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 3/2/2019 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Άσκηση 3/2/2019 1 / 37 Άσκηση 1 Πρέπει να βρούμε όλες τις καλές προτάσεις φίλων για τον i ανάμεσα σε όλους

Διαβάστε περισσότερα

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Χρονοπρογραμματισμός Εργαστηριακές Ασκήσεις

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Χρονοπρογραμματισμός Εργαστηριακές Ασκήσεις ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Χρονοπρογραμματισμός Εργαστηριακές Ασκήσεις Υλικό από: Κ Διαμαντάρας, Λειτουργικά Συστήματα, Τμήμα Πληροφορικής ΤΕΙΘ Σύνθεση Κ.Γ. Μαργαρίτης, Τμήμα Εφαρμοσμένης Πληροφορικής, Πανεπιστήμιο

Διαβάστε περισσότερα

Το πρόβλημα μονοδρόμησης (The One-Way Street Problem)

Το πρόβλημα μονοδρόμησης (The One-Way Street Problem) Το πρόβλημα μονοδρόμησης (The One-Way Street Problem) Το πρόβλημα Σχετίζεται με τη διαχείριση της κίνησης οχημάτων στους δρόμους Αν δεν υπήρχαν καθυστερήσεις στην κίνηση στις πόλεις Αποφυγή σπατάλης ενέργειας

Διαβάστε περισσότερα

Βάσεις Δεδομένων ΙΙ Ενότητα 2

Βάσεις Δεδομένων ΙΙ Ενότητα 2 Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Βάσεις Δεδομένων ΙΙ Ενότητα 2: Ελέγχου Συνδρομικότητας Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

Διαβάστε περισσότερα

Σειρά Προβλημάτων 4 Λύσεις

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα { w w = (ab) 2m b m (ba) m, m 0 } (β) Να διατυπώσετε

Διαβάστε περισσότερα

4.4 Μετατροπή από μία μορφή δομής επανάληψης σε μία άλλη.

4.4 Μετατροπή από μία μορφή δομής επανάληψης σε μία άλλη. 4.4 Μετατροπή από μία μορφή δομής επανάληψης σε μία άλλη. Η μετατροπή μιας εντολής επανάληψης σε μία άλλη ή στις άλλες δύο εντολές επανάληψης, αποτελεί ένα θέμα που αρκετές φορές έχει εξεταστεί σε πανελλαδικό

Διαβάστε περισσότερα

Κατανεμημένα Συστήματα Ι

Κατανεμημένα Συστήματα Ι Εκλογή αρχηγού σε γενικά δίκτυα 20 Οκτωβρίου 2016 Παναγιώτα Παναγοπούλου Εκλογή αρχηγού σε γενικά δίκτυα Προηγούμενη διάλεξη Σύγχρονα Κατανεμημένα Συστήματα Μοντελοποίηση συστήματος Πρόβλημα εκλογής αρχηγού

Διαβάστε περισσότερα

ΠΑΙΓΝΙΑ Παιχνίδια Γενική Θεώρηση μεγιστοποιήσει την πιθανότητά

ΠΑΙΓΝΙΑ Παιχνίδια Γενική Θεώρηση μεγιστοποιήσει την πιθανότητά ΠΑΙΓΝΙΑ Παιχνίδια Γενική Θεώρηση: Έστω ότι έχουμε τους παίκτες Χ και Υ. Ο κάθε παίκτης, σε κάθε κίνηση που κάνει, προσπαθεί να μεγιστοποιήσει την πιθανότητά του να κερδίσει. Ο Χ σε κάθε κίνηση που κάνει

Διαβάστε περισσότερα

Στοιχεία Θεωρίας Γράφων (Graph Theory)

Στοιχεία Θεωρίας Γράφων (Graph Theory) Στοιχεία Θεωρίας Γράφων (Graph Theory) Ε Εξάμηνο, Τμήμα Πληροφορικής & Τεχνολογίας Υπολογιστών ΤΕΙ Λαμίας plam@inf.teilam.gr, Οι διαφάνειες βασίζονται στα βιβλία:. Αλγόριθμοι, Σχεδιασμός & Ανάλυση, η έκδοση,

Διαβάστε περισσότερα

Σειρά Προβλημάτων 5 Λύσεις

Σειρά Προβλημάτων 5 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) { Μ η Μ είναι μια ΤΜ η οποία διαγιγνώσκει το πρόβλημα ΙΣΟΔΥΝΑΜΙΑ ΤΜ (διαφάνεια 9 25)} (α) Γνωρίζουμε ότι το

Διαβάστε περισσότερα

Διοίκηση Παραγωγής και Υπηρεσιών

Διοίκηση Παραγωγής και Υπηρεσιών Διοίκηση Παραγωγής και Υπηρεσιών Εισαγωγή -3 Γιώργος Ιωάννου, Ph.D. Αναπληρωτής Καθηγητής Σύνοψη διάλεξης Σχεδιασμός διαδικασιών ορισμός Συστημική προσέγγιση Μεθοδολογίες σχεδιασμού διαδικασιών Διαγράμματα

Διαβάστε περισσότερα

Θεωρία Γραφημάτων 6η Διάλεξη

Θεωρία Γραφημάτων 6η Διάλεξη Θεωρία Γραφημάτων 6η Διάλεξη Α. Συμβώνης Εθνικο Μετσοβειο Πολυτεχνειο Σχολη Εφαρμοσμενων Μαθηματικων και Φυσικων Επιστημων Τομεασ Μαθηματικων Φεβρουάριος 2016 Α. Συμβώνης (ΕΜΠ) Θεωρία Γραφημάτων 6η Διάλεξη

Διαβάστε περισσότερα

Οι δυναμικές δομές δεδομένων στην ΑΕΠΠ

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

Διαβάστε περισσότερα

Ιδιοκτησία Αντικειµένου

Ιδιοκτησία Αντικειµένου Software Transactional Memory H STM υποστηρίζει την εκτέλεση δοσοληψιών από τις διεργασίες, οι οποίες περιέχουν λειτουργίες που ο χρήστης θέλει να εκτελέσει στα διαµοιραζόµενα αντικείµενα. H STM εγγυάται

Διαβάστε περισσότερα

Κατανεμημένα Συστήματα Ι

Κατανεμημένα Συστήματα Ι Κατανεμημένα Συστήματα Ι Εκλογή αρχηγού και κατασκευή BFS δένδρου σε σύγχρονο γενικό δίκτυο Παναγιώτα Παναγοπούλου Περίληψη Εκλογή αρχηγού σε γενικά δίκτυα Ορισμός του προβλήματος Ο αλγόριθμος FloodMax

Διαβάστε περισσότερα

Σειρά Προβλημάτων 4 Λύσεις

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing που να διαγιγνώσκει τη γλώσσα { n 3 } (α) H ζητούμενη μηχανή Turing μπορεί να διατυπωθεί ως την επτάδα Q,

Διαβάστε περισσότερα

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος Χιωτίδης Γεώργιος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα