Κατανεμημένα Συστήματα Πραγματικού Χρόνου Έννοιες, Θέματα, Προσεγγίσεις, Προοπτικές.

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

Download "Κατανεμημένα Συστήματα Πραγματικού Χρόνου Έννοιες, Θέματα, Προσεγγίσεις, Προοπτικές."

Transcript

1 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΕΤΑΠΤΥΧΙΑΚΗ ΔΙΑΤΡΙΒΗ Κατανεμημένα Συστήματα Πραγματικού Χρόνου Έννοιες, Θέματα, Προσεγγίσεις, Προοπτικές. Αναστασόπουλος Ιωάννης Α.Μ. 172 Διπλωματούχος Ηλεκτρολόγος Μηχανικός & Μηχανικός Ηλεκτρονικών Υπολογιστών Επιβλέπουσα: Αναπληρώτρια Καθηγήτρια Καρατζά Ελένη ΘΕΣΣΑΛΟΝΙΚΗ 2009

2 ΠΡΟΛΟΓΟΣ Φτάνοντας στην ολοκλήρωση των μεταπτυχιακών μου σπουδών θα ήθελα να ευχαριστήσω από καρδιάς την Αναπληρώτρια καθηγήτρια κα. Καρατζά Ελένη για την εμπιστοσύνη που έδειξε στο πρόσωπό μου με την ανάθεση του θέματος της παρούσας εργασίας, αλλά και για την συνεχή βοήθεια που μου προσέφερε κατά την διάρκεια της εκπόνησής της. Ευχαριστώ, επίσης, όλους τους ανθρώπους που με βοήθησαν κατά τη διάρκεια της μεταπτυχιακής μου μόρφωσης, καθένας με τον τρόπο του, είτε ηθικά είτε ψυχολογικά, άλλοτε ακούσια και άλλοτε εκούσια με πράξεις ή με συζητήσεις. Ευχαριστώ πολύ τον παππού μου Ιωάννη και την γιαγιά μου Βασιλεία καθώς επίσης και τον αδερφό μου Γιώργο για την βοήθεια και την υποστήριξη που μου παρείχαν. Ευχαριστώ πάνω από όλους τους γονείς μου οι οποίοι μου συμπαραστάθηκαν στο εγχείρημα των μεταπτυχιακών μου σπουδών αλλά και για την στήριξη που μου προσέφεραν τους σε όλους τους τομείς. Ο άνθρωπος που είμαι σήμερα οφείλεται σε σας! Αναστασόπουλος Θ. Ιωάννης Θεσσαλονίκη, Ιανουάριος

3 ΠΕΡΙΕΧΟΜΕΝΑ Περίληψη 6 Abstract 8 ΚΕΦΑΛΑΙΟ 1 Ο Συστήματα πραγματικού χρόνου Εισαγωγή Συστήματα πραγματικού χρόνου- Κατηγοριοποίηση συστημάτων πραγματικού χρόνου Αυστηρά συστήματα πραγματικού χρόνου Χαλαρά συστήματα πραγματικού χρόνου Σταθερά συστήματα πραγματικού χρόνου Υβριδικά συστήματα Περιοδικές και απεριοδικές εργασίες Περιοδικές εργασίες Απεριοδικές εργασίες Βασικές αρχές για χρονοδρομολόγηση εργασιών σε συστήματα πραγματικού χρόνου Περιγραφή εργασιών Χαρακτηριστικά εργασιών Χρονοδρομολόγηση Χρονοπρογραμματισμός ανεξάρτητων εργασιών Βασικοί online αλγόριθμοι για περιοδικές εργασίες Αλγόριθμοι για εργασίες με στατικές προτεραιότητες Χρονοδρομολόγηση μονότονου ρυθμού (Rate Monotonic RM) Χρονοδρομολόγηση αντίστροφης ή μονότονης χρονικής προθεσμίας (Inverse deadline or deadline monotonic algorithm) Αλγόριθμοι για εργασίες με δυναμικές προτεραιότητες Αλγόριθμος συντομότερης χρονικής προθεσμίας (Earliest Deadline First, EDF) Αλγόριθμος της μικρότερης περιόδου χαλαρότητας (Least Laxity First, LLF) Παραδείγματα των RM και EDF αλγορίθμων χρονοδρομολόγησης Σύγκριση Παράδειγμα RM αλγορίθμου Παράδειγμα EDF αλγορίθμου.30 3

4 Σύγκριση RM και EDF Χρονοπρογραμματισμός εξαρτημένων εργασιών Εργασίες με σχέσεις προτεραιότητας Διαμοιρασμός πόρων από εργασίες Φαινόμενο αντιστροφής προτεραιοτήτων (Priority inversion phenomenon) Φαινόμενο αδιέξοδου (Deadlock phenomenon) Χρονοπρογραμματιστικές μέθοδοι σε καταστάσεις φόρτου Διαχείριση εργασιών πραγματικού χρόνου με μεταβλητές χρονικές παραμέτρους Ειδικά μοντέλα για μεταβλητή εκτέλεση On-line προσαρμόσιμο μοντέλο Μηχανισμός ανεκτικότητας σε σφάλματα (Fault tolerant mechanism) Μοντέλο μηχανισμού χρονικής προθεσμίας (deadline mechanism model) Μοντέλο ανακριβών υπολογισμών (imprecise computation model)...43 ΚΕΦΑΛΑΙΟ 2 Ο Κατανεμημένα συστήματα πραγματικού χρόνου Εισαγωγή Κατανομή εργασιών σε κατανεμημένα συστήματα πραγματικού χρόνου Κυκλοφορία πραγματικού χρόνου (Real-time traffic) Τύποι κυκλοφορίας πραγματικού χρόνου Καθυστέρηση επικοινωνίας (End to end communication delay) Χρονοπρογραμματισμός μηνυμάτων Προβλήματα χρονοπρογραμματισμού μηνυμάτων Αρχές και στρατηγικές χρονοπρογραμματισμού μηνυμάτων.55 ΚΕΦΑΛΑΙΟ 3 Ο Λειτουργικά συστήματα πραγματικού χρόνου Εισαγωγή Ταξινόμηση και αρχιτεκτονικές λειτουργικών συστημάτων πραγματικού χρόνου Μικρά, γρήγορα και αποκλειστικής ιδιότητας kernels Επεκτάσεις πραγματικού χρόνου σε εμπορικά λειτουργικά συστήματα Kernels βασισμένα σε στοιχεία (component based kernels) Kernels βασισμένα στην ποιότητα υπηρεσίας 67 4

5 3.1.5 Έρευνα σχετικά με τα Kernels MARS SPRING ARTS HARTOS RK Παραδείγματα Αυστηρές και χαλαρές εγγυήσεις πραγματικού χρόνου Έλεγχος εισόδου Κράτηση πόρων Αντανάκλαση Kernels πόρων.76 ΚΕΦΑΛΑΙΟ 4 Ο Εφαρμογές - Ενσωματωμένα συστήματα πραγματικού χρόνου Εισαγωγή Εφαρμογές Απαιτήσεις ενσωματωμένων συστημάτων για την κατασκευή εφαρμογών Κατανεμημένα συστήματα πραγματικού χρόνου και ενσωματωμένα συστήματα Hardware ενσωματωμένων συστημάτων και SoC Middleware και προγραμματιστικές γλώσσες Πρωτόκολλα επικοινωνίας πραγματικού χρόνου Μεθοδολογίες και τεχνικές για βιομηχανικές εφαρμογές.90 Συμπεράσματα, πεδία περαιτέρω έρευνας και μελλοντικές τάσεις στα DRES 93 Βιβλιογραφία-αναφορές..95 5

6 ΠΕΡΙΛΗΨΗ Τα συστήματα πραγματικού χρόνου αποτελούν ένα πεδίο στο οποίο έχει αφιερωθεί μεγάλο μέρος έρευνας και μελέτης, ειδικά τα τελευταία χρόνια. Το φάσμα εφαρμογών των συστημάτων αυτών είναι, επίσης, αρκετά ευρύ. Όπως δηλώνει και το όνομά τους, κύριο στοιχείο στα εν λόγω συστήματα είναι ο χρόνος και διαδραματίζει τον πρωταγωνιστικό ρόλο σε όλα τα ζητήματα τα οποία έχουν να κάνουν με τον σχεδιασμό, τον χρονοπρογραμματισμό και γενικότερα με την δόμηση των συστημάτων αυτών. Όπως σε όλα τα υπολογιστικά συστήματα, έτσι και στα συστήματα πραγματικού χρόνου, μας ενδιαφέρει η εξαγωγή σωστών, σαφών και ικανοποιητικών αποτελεσμάτων. Εδώ όμως, εισάγεται πλέον και η έννοια του χρόνου, η οποία διαφοροποιεί τα συστήματα πραγματικού χρόνου από τα κοινά υπολογιστικά συστήματα. Δεν αρκεί, λοιπόν, να έχουμε μία παραγωγή ορθών αποτελεσμάτων από το σύστημά μας, αλλά αυτά τα αποτελέσματα θα πρέπει να παράγονται και να συμμορφώνονται σύμφωνα με χρονικούς περιορισμούς οι οποίοι έχουν τεθεί. Για κάθε εργασία, της οποίας τα αποτελέσματα επιθυμούμε να εκμεταλλευτούμε, υπάρχει μία χρονική προθεσμία (deadline) μέχρι την οποία τα αποτελέσματά της μπορούν να είναι χρήσιμα/εκμεταλλεύσιμα. Σε περίπτωση που αυτή η χρονική προθεσμία δεν ικανοποιηθεί, τα αποτελέσματα που παράγονται μετά την παραβίασή της, συνεισφέρουν ελάχιστα ή και καθόλου στο σύστημα και οι συνέπειες σ αυτό μπορεί να είναι από απλώς επιζήμιες μέχρι ολέθρια καταστροφικές! Το κατά πόσο λαμβάνονται υπόψη αποτελέσματα τα οποία έχουν παραχθεί εκτός χρονικών προθεσμιών και το κατά πόσο καταστροφικές θα είναι οι συνέπειες, μας οδηγεί στην κατηγοριοποίηση των συστημάτων πραγματικού χρόνου όπως αυτή θα αναλυθεί στο κύριο μέρος της εργασίας. Ο χρονοπρογραμματισμός στα συστήματα πραγματικού χρόνου αποτελεί ένα αρκετά δύσκολο εγχείρημα, καθώς οι χρονικοί περιορισμοί, η περιοδικότητα ή η απεριοδικότητα των εργασιών, οι προτεραιότητες που τους ανατίθενται ή που αναπτύσσονται δυναμικά μεταξύ τους, τον κάνουν αρκετά δυσκίνητο. Ωστόσο, έχουν αναπτυχθεί πολλοί αλγόριθμοι οι οποίοι είναι ικανοί να αποδίδουν πολύ καλά,

7 ανάλογα με τις απαιτήσεις του συστήματος για την εκάστοτε εφαρμογή. Για όλα τα παραπάνω θέματα γίνεται εκτενής ανάλυση στο 1 ο κεφάλαιο. Στα κατανεμημένα συστήματα πραγματικού χρόνου αυτό που μας ενδιαφέρει περισσότερο είναι θέματα όπως η μετανάστευση εργασιών, η ανταλλαγή μηνυμάτων, ο χρονοπρογραμματισμός μηνυμάτων, η πραγματικού χρόνου κυκλοφορία μέσα στο δίκτυο, και οι καθυστερήσεις από άκρο σε άκρο. Ο χρονοπρογραμματισμός ανταλλαγής μηνυμάτων αλλά και η πραγματικού χρόνου κυκλοφορία μέσα στο δίκτυο καθώς και θέματα που αφορούν τα κατανεμημένα συστήματα πραγματικού χρόνου αναλύονται στο 2 ο κεφάλαιο. Όπως είναι, φυσικό, με την εξέλιξη των κατανεμημένων συστημάτων πραγματικού χρόνου, υπήρξε εξ αρχής παράλληλη η απαίτηση για λογισμική υποστήριξη. Συνεπώς, δεν θα μπορούσε να μην αφιερωθεί ένα μέρος της παρούσας εργασίας στα λειτουργικά συστήματα πραγματικού χρόνου. Αυτά αποτελούν είτε αυτούσια λειτουργικά συστήματα πραγματικού χρόνου, είτε είναι εκδόσεις των ήδη γνωστών και παραδοσιακών λειτουργικών συστημάτων Unix, Linux κτλ, αλλά εφοδιασμένα με επεκτάσεις, τέτοιες ώστε να μπορούν να αντιμετωπίσουν καταστάσεις πραγματικού χρόνου. Εκτενής αναφορά και ανάλυση για τα λειτουργικά συστήματα πραγματικού χρόνου γίνεται στο 3 ο κεφάλαιο. Οι εφαρμογές των συστημάτων πραγματικού χρόνου καλύπτουν ένα μεγάλο πεδίο. Βρίσκουν εφαρμογή στα πολυμέσα (μετάδοση εικόνας και ήχου), στην τηλεφωνία, στην πυρηνική, στις τραπεζικές συναλλαγές, στην ιατρική (συστήματα εντατικής παρακολούθησης), στην αυτοκινητοβιομηχανία (Αntiblocking Βraking System), σε μηχανήματα πλοήγησης (Global Positioning System), στα συστήματα ελέγχου πτήσης διαστημικών ή εναέριων αεροσκαφών, στην βιομηχανία και πάνω από όλα στα ενσωματωμένα συστήματα. Τα ενσωματωμένα συστήματα πραγματικού χρόνου είναι στοιχεία/υπομονάδες ή συσκευές, οι οποίες αποτελούν μέρος μεγαλύτερων υπολογιστικών συστημάτων. Η συντριπτική πλειοψηφία των κινητών τηλεφώνων σήμερα απολαμβάνει την τεχνολογία των ενσωματωμένων συστημάτων. Οι εφαρμογές των συστημάτων πραγματικού χρόνου αλλά κυρίως των ενσωματωμένων συστημάτων πραγματικού χρόνου αναφέρονται και αναλύονται στο 4 ο και τελευταίο κεφάλαιο. 7

8 Issues, Approarches and Future Perspectives in Distributed Real-Time Systems Abstract This paper studies the concepts of Distributed Real-Time Systems (DRS). In these systems we focus on time, which is the most important parameter and it must be taken under strict consideration. The results providing by a real-time system must meet their deadlines. If a task fails to meet its deadline, then the consequences can be harmful or catastrophic depending on the kind of the system. We describe several types of real-time systems (hard, soft, firm), tasks and scheduling algorithms. We also discuss the progress in the field of operating systems (OS) for real time systems. Traditional operating systems (such as Linux, Unix) become real-time operating systems (RTOS), with specific extensions, that take under account significant time constraints in order to satisfy real time demands. Embedded real time systems are also studied in this paper, since they are used widely in many areas and their application field is very large (cell phones, manufacturing plant control, Antiblocking Braking System ABS in cars, etc). The paper is structured as follows: In the first chapter we present the basic concepts of Real-time systems as far as it concerns types of tasks, scheduling algorithms and scheduling issues in general. In the second chapter we discuss about distributed real time systems. The third chapter deals with real-time operating systems and several kernels for real-time systems. In the fourth and final chapter we present embedded real time applications and we discuss about distributed real-time embedded systems. We close this paper with some conclusions and future trends on real time systems. 8

9 ΣΥΣΤΗΜΑΤΑ ΠΡΑΓΜΑΤΙΚΟΥ ΧΡΟΝΟΥ ΕΙΣΑΓΩΓΗ Το κύριο χαρακτηριστικό των συστημάτων πραγματικού χρόνου είναι οι ειδικές απαιτήσεις τους σε χρονικές προθεσμίες (deadlines). Συνεπώς η απόδοση, η αποτελεσματικότητα και η αξιοπιστία αυτών των συστημάτων δεν εξαρτάται μόνο από τα ακριβή αποτελέσματα των υπολογισμών, αλλά κατά κύριο λόγο από τον χρόνο στον οποίο παράγονται. Κύριος σκοπός, λοιπόν, των συστημάτων πραγματικού χρόνου είναι η ικανοποίηση των χρονικών και λειτουργικών απαιτήσεων των εργασιών που εκτελούνται. Κάθε εργασία (task) στο σύστημα έχει μία χρονική προθεσμία, στα χρονικά περιθώρια της οποίας θα πρέπει να ολοκληρωθεί. Γίνεται επομένως κατανοητό, πως η αποτελεσματικότητα των συστημάτων αυτών, αφορά τον χρόνο παράδοσης ενός σωστού αποτελέσματος, ο οποίος θα πρέπει να ικανοποιεί τον περιορισμό που του έχει τεθεί. Γενικότερα, σε τέτοια συστήματα αναμένεται μία έξοδος, μέχρι την χρονική προθεσμία που έχει οριστεί, η οποία είναι το αποτέλεσμα της αντίδρασης του συστήματος σε κάποιο γεγονός ή σε κάποια ενέργεια που συνέβη στο περιβάλλον. Η χρονική περίοδος από την στιγμή που συμβαίνει το γεγονός μέχρι το τελικό αποτέλεσμα (μέχρι δηλαδή την αντίδραση του συστήματος), ονομάζεται χρόνος απόκρισης και πρέπει να ικανοποιεί έναν χρονικό περιορισμό. Οι εφαρμογές των συστημάτων πραγματικού χρόνου εκτείνονται σε ένα ευρύ φάσμα, το οποίο περικλείει ενσωματωμένα συστήματα (embedded systems), τηλεπικοινωνιακά συστήματα, πυρηνικά συστήματα επίβλεψης, ρομποτική, τραπεζικές συναλλαγές, πολυμέσα (μεταφορά εικόνας και ήχου), οπτικοποίηση ή επίβλεψη για ιατρικές ανάγκες, συστήματα αεροπορικής πλοήγησης, δρομολόγηση αμαξοστοιχιών στις κατάλληλες ράγες. Στις εφαρμογές αυτές είναι φανερό πως ο χρόνος είναι η παράμετρος την οποία πρέπει να λάβουμε υπόψη περισσότερο από 9

10 κάθε άλλη, καθώς μέσω αυτής, τελικά, αποτιμάται η ποιότητα υπηρεσίας (Quality of Service QoS) του συστήματος. 10

11 1.1 Συστήματα πραγματικού χρόνου- Κατηγοριοποίηση συστημάτων πραγματικού χρόνου Οι απαιτήσεις της εκάστοτε εφαρμογής αλλά και οι συνέπειες σε υποτιθέμενη αποτυχία του συστήματος, οδηγούν στην κατηγοριοποίηση των συστημάτων πραγματικού χρόνου. Έτσι υπάρχουν τα αυστηρά, τα χαλαρά και τα σταθερά συστήματα πραγματικού χρόνου (hard / soft / firm real time systems) Αυστηρά συστήματα πραγματικού χρόνου Ένα σύστημα ορίζεται ως αυστηρό σύστημα πραγματικού χρόνου (hard realtime system) όταν το αποτέλεσμα σε περίπτωση μη ικανοποίησης της χρονικής προθεσμίας είναι καταστροφικό και οι συνέπειές του ολέθριες. Τα χρονικά περιθώρια που τίθενται στα συστήματα αυτού του είδους είναι απολύτως αυστηρά και σε καμία περίπτωση δεν πρέπει να ξεπεραστούν, καθώς κάτι τέτοιο θα σήμαινε θανάσιμη καταστροφή για το σύστημα. Παραδείγματα τέτοιων συστημάτων είναι η δρομολόγηση αμαξοστοιχιών σε ράγες ή τα ηλεκτρονικά συστήματα του αεροπλάνου. Στο παρακάτω σχήμα 1[1], φαίνεται η αρχική στιγμή (start time) στην οποία συμβαίνει ένα γεγονός στο σύστημα και η χρονική προθεσμία (deadline) μέχρι την οποία πρέπει να ολοκληρωθεί. Ως value, ορίζεται η συμβολή που έχει η εκτελούμενη εργασία στον γενικό αντικειμενικό σκοπό του συστήματος και μπορεί να είναι είτε θετική (θετική προσφορά στο σύστημα) είτε αρνητική (αρνητική προσφορά στο σύστημα δηλαδή καταστροφικές συνέπειες). 11

12 Σχήμα 1.1 Χρονική προθεσμία εργασίας σε αυστηρό σύστημα [1] Χαλαρά συστήματα πραγματικού χρόνου Ένα χαλαρό σύστημα πραγματικού χρόνου (soft real-time system) είναι αυτό στο οποίο η μη ικανοποίηση μιας χρονική προθεσμίας δεν είναι σε θέση να καταστρέψει το σύστημα ούτε να συνθλίψει την ακεραιότητά του. Στο σχήμα 2 [1] απεικονίζεται μία προθεσμία σε χαλαρό σύστημα. Όπως φαίνεται, ακόμα και μετά το πέρας της χρονική προθεσμίας η συμβολή της εργασίας δεν μηδενίζεται για το σύστημα, αλλά ελαττώνεται με το χρόνο και είναι πάντα θετική. Μία υποτιθέμενη αποτυχία, λοιπόν, απλώς μειώνει την ποιότητα των παραγόμενων αποτελεσμάτων. Σχήμα 1.2 Xρονική προθεσμία εργασίας σε χαλαρό σύστημα [2]. 12

13 1.1.3 Σταθερά συστήματα πραγματικού χρόνου Μεταξύ των αυστηρών και των χαλαρών συστημάτων υπάρχουν τα σταθερά συστήματα πραγματικού χρόνου (firm real-time systems). Στην περίπτωση των συστημάτων αυτών, η χρονική προθεσμία δηλώνει συνήθως τον χρόνο αναμονής πριν από την έκδοση κάποιου αποτελέσματος. Η μη ικανοποίηση μιας χρονικής προθεσμίας δεν επιφέρει καταστροφικές συνέπειες, αλλά όταν κάποιο αποτέλεσμα λαμβάνεται πέραν αυτής, τότε είναι άχρηστο και δε λαμβάνεται υπόψη. Συνεπώς, στα σταθερά συστήματα οι χρονικές προθεσμίες μπορούν να παραβιαστούν χωρίς ολέθριες συνέπειες, ωστόσο η πιθανότητα αυτή θα πρέπει να είναι αρκετά μικρή. Όπως φαίνεται και στο σχήμα 3 [1], η προσφορά της εργασίας στο σύστημα πέραν της λήξης της χρονικής προθεσμίας δεν είναι ούτε αρνητική ούτε θετική, αλλά μηδενική. Αυτό σημαίνει πως το αποτέλεσμα που έχει παραχθεί από την συγκεκριμένη εργασία θα επιφέρει μηδενική συμβολή στο σύστημα, εφόσον η προθεσμία έχει χαθεί. Παραδείγματα τέτοιων συστημάτων είναι τα τραπεζικά συστήματα ή τα συστήματα κράτησης αεροπορικών εισιτηρίων. Σχήμα 1.3 Xρονική προθεσμία εργασίας σε σταθερό σύστημα [1] Yβριδικά συστήματα Υπάρχουν, ωστόσο, εφαρμογές οι οποίες μπορούν να παρουσιάζουν υβριδική συμπεριφορά. Για παράδειγμα στο σχήμα 4 [1] υπάρχουν τρείς χρονικές προθεσμίες 13

14 D1, D2 και D3. Η πρώτη αναπαριστά την «μέγιστη τιμή», η δεύτερη αναπαριστά την χρονική περίοδο στην οποία η προσφορά θα είναι τουλάχιστον θετική στο σύστημα, ενώ η τρίτη ορίζει το σημείο στο οποίο θα υπάρξει ζημιά στο σύστημα.[1] Σχήμα 1.4 Υβριδικό σύστημα [1]. 1.2 Περιοδικές και απεριοδικές εργασίες Κατά την ανάπτυξη προγραμμάτων για εφαρμογές, γίνεται συνήθως αντιστοίχιση των χρονικών απαιτήσεων με την μορφή χρονικών προθεσμιών. Το θέμα της ικανοποίησης των χρονικών προθεσμιών επαφίεται στον χρονοπρογραμματισμό των εργασιών. Υπάρχουν δύο ξεχωριστοί και απομονωμένοι τύποι εργασιών ανάλογα με την περιοδικότητά τους: περιοδικές εργασίες απεριοδικές εργασίες 14

15 1.2.1 Περιοδικές εργασίες Οι περιοδικές εργασίες, όπως δηλώνει και το όνομά τους, εκτελούνται περιοδικά, και χαρακτηρίζονται από i) την περίοδό τους Τi και ii) τον απαιτούμενο χρόνο εκτέλεσης τους Ci (ανά περίοδο). Στις εργασίες αυτές αναμένεται μία εκτέλεση για κάθε χρόνο Τi και για χρονικές μονάδες ίσες με Ci. Η χρονική προθεσμία Di της εργασίας αυτής είναι ίση με την περίοδο. Ο χρόνος εκτέλεσης δεν μπορεί να είναι μεγαλύτερος της περιόδου, αφού σε μία τέτοια περίπτωση θα χανόταν όλες οι χρονικές προθεσμίες και η λειτουργία του συστήματος πραγματικού χρόνου δε θα ήταν εφικτή. Ο χρόνος εκτέλεσης είναι ο χρόνος που αναμένεται στη χειρότερη περίπτωση (WCET Worst Case Execution Time) που μπορεί να υπάρχει στο σύστημα, ώστε να διασφαλιστεί πως όλοι οι υπολογισμοί που γίνονται με βάση αυτό το χρόνο θα είναι ακριβείς ως προς τις χρονικές τους προθεσμίες. Ο χρόνος εκτέλεσης μπορεί να δίνεται ως το αποτέλεσμα ενός μέσου όρου μέτρησης ή/και της χειρότερης περίπτωσης του χρόνου εκτέλεσης Απεριοδικές εργασίες Η ενεργοποίηση μίας απεριοδικής εργασίας είναι ένα τυχαίο γεγονός και συνήθως πυροδοτείται από μία εξωτερική δράση στο σύστημα. Οι απεριοδικές εργασίες έχουν επίσης χρονικούς περιορισμούς που τις αφορούν, δηλαδή αφού ξεκινήσουν την εκτέλεσή τους θα πρέπει να την ολοκληρώσουν μέσα σε μία προκαθορισμένη χρονική περίοδο. Συχνά, αυτές οι εργασίες έχουν να κάνουν με συμβάντα μέσα στο περιβάλλον του συστήματος και έτσι οι χρονικές τους προθεσμίες είναι σημαντικές. Οι εργασίες αυτές συνήθως αποκαλούνται event-driven / οδηγούμενες από γεγονότα, λόγω του ότι είναι απόρροια κάποιας ανεπιθύμητης ενέργεια που συμβαίνει στο σύστημα. Τα χαρακτηριστικά τους δεν είναι γνωστά εκ των προτέρων και μία απεριοδική εργασία χαρακτηρίζεται από i) τον χρόνο άφιξής της Αi, ii) τον χρόνο εκτέλεσης της Ci και 15

16 iii) την χρονική προθεσμία της Di. Οι σποραδικές εργασίες (sporadic tasks) είναι μία ειδική κατηγορία των απεριοδικών εργασιών. Αυτές εμφανίζονται τυχαία και απρόβλεπτα αλλά υπάρχει ένα χρονικό όριο μεταξύ των χρόνων εμφάνισης τους το οποίο δεν μπορεί να παραβιαστεί. Σε αντίθεση δηλαδή με τις απεριοδικές εργασίες που η εμφάνισή τους είναι εντελώς απρόβλεπτη, υπάρχει ένα άνω όριο στον μέγιστο χρόνο επανάληψης. Οι περιοδικές εργασίες με αυστηρές χρονικές προθεσμίες είναι αυτές που κυριαρχούν στα περισσότερα αυστηρά συστήματα πραγματικού χρόνου, ενώ οι απεριοδικές εργασίες καταλαμβάνουν μικρό χρόνο επεξεργασίας εφόσον είναι μικρότερες αριθμητικά [2]. 1.3 Βασικές αρχές για χρονοδρομολόγηση εργασιών σε συστήματα πραγματικού χρόνου Περιγραφή εργασιών Οι εργασίες πραγματικού χρόνου (tasks) είναι οι βασικές εκτελούμενες οντότητες προς χρονοδρομολόγηση. Μπορεί να είναι περιοδικές ή μη περιοδικές και να έχουν αυστηρούς ή χαλαρούς χρονικούς περιορισμούς (time constraints). Μία εργασία ορίζεται από χρονικές παραμέτρους που δηλώνουν τις καθυστερήσεις και από χρονομετρικές παραμέτρους που δηλώνουν τον χρόνο. Το μοντέλο περιλαμβάνει βασικές και δυναμικές παραμέτρους. Οι βασικές παράμετροι είναι: r, χρόνος ανακοίνωσης της εργασίας, είναι ο χρόνος στον οποίον ενεργοποιείται η απαίτηση της εκτέλεσης της (task release time ή request times ή ready times), C, ο χρόνος εκτέλεσης της εργασίας στην χειρότερη περίπτωση, όταν ο επεξεργαστής είναι πλήρως αφοσιωμένος σε αυτήν, D, η σχετική χρονική προθεσμία της εργασίας, π.χ. η μέγιστη αποδεκτή καθυστέρηση επεξεργασίας της, 16

17 Τ, η περίοδος της εργασίας, Όταν η εργασία έχει αυστηρούς χρονικούς περιορισμούς, η σχετική χρονική προθεσμία επιτρέπει υπολογισμούς της απόλυτης χρονικής προθεσμίας (absolute deadline) d=r+d. Ενδεχόμενη παραβίαση της απόλυτης χρονικής προθεσμίας έχει ως συνέπεια χρονικό σφάλμα. Η παράμετρος Τ δεν υφίσταται σε απεριοδικές εργασίες. Μία περιοδική εργασία μοντελοποιείται σύμφωνα με τις τέσσερις παραπάνω παραμέτρους. Συνήθως χρησιμοποιείται η παρακάτω αναπαράσταση για μια εργασία τ: τ ( r,c,d,t ) Κάθε στιγμή στην οποία μία εργασία είναι έτοιμη, εξάγει ένα περιοδικό αίτημα. Οι αλλεπάλληλοι χρόνοι ανακοίνωσης, γίνονται απαίτηση για χρόνο ανακοίνωσης γίνονται σε r k = r 0 +kt όπου r 0 είναι η πρώτη ανακοίνωση και r k είναι η (k+1)οστή ανακοίνωση. Οι αλλεπάλληλες απόλυτες χρονικές προθεσμίες είναι d k =r k +D. Αν D=T, η περιοδική εργασία έχει σχετική χρονική προθεσμία ίση με την περίοδο. Μία εργασία είναι ορθώς μορφοποιημένη (well formed) εάν 0 < C D T [3]. Η ποιότητα της χρονοδρομολόγησης εξαρτάται από την ακρίβεια των παραπάνω παραμέτρων. Συνεπώς ο καθορισμός τους είναι ένας πολύ σημαντικός παράγοντας στον σχεδιασμό συστημάτων πραγματικού χρόνου. Αν οι χρονικές διάρκειες λειτουργιών όπως εναλλαγή εργασιών, κλήσεις λειτουργικού συστήματος, διακοπή επεξεργασίας ή εκτέλεσης δεν μπορούν να αγνοηθούν, η ανάλυση του σχεδιασμού πρέπει να προσθέσει αυτές τις χρονικές διάρκειες στους χρόνους υπολογισμού των εργασιών. Αυτός είναι και ο λόγος για τον οποίο απαιτείται μία ντετερμινιστική συμπεριφορά, η οποία θα εγγυάται μέγιστες τιμές για αυτές τις λειτουργίες. Άλλες σημαντικές παράμετροι είναι: u = C / T, η χρησιμοποίηση του επεξεργαστή για την εργασία, πρέπει u 1. ch = C / D, ο φόρτος του επεξεργαστή, πρέπει ch 1. Οι παρακάτω δυναμικές παράμετροι βοηθούν στην παρακολούθηση της εκτέλεσης της εργασίας: s, είναι ο χρόνος στον οποίο αρχίζει η εκτέλεση της εργασίας. e, είναι ο χρόνος στον οποίο ολοκληρώνεται η εκτέλεση της εργασίας. 17

18 D(t)=d-t, είναι ο υπολειπόμενος χρόνος μέχρι την χρονική προθεσμία την τυχαία στιγμή t: 0 D(t) D. C(t), είναι ο εκκρεμής χρόνος εκτέλεσης την χρονική στιγμή t: 0 C(t) C. L=D-C είναι η ονομαστική χαλαρότητα (laxity ή slack time) της εργασίας και προσδιορίζει τη μέγιστη καθυστέρηση από τον χρόνο έναρξης της όταν απασχολεί μόνο αυτή τον επεξεργαστή. L(t) = D(t) - C(t), είναι η υπολειπόμενη ονομαστική χαλαρότητα (laxity) της εργασίας την χρονική στιγμή t και σηματοδοτεί την μέγιστη καθυστέρηση για επανεκκίνηση της εκτέλεσης, όταν η εργασία απασχολεί μόνη της τον επεξεργαστή. Επίσης έχουμε L(t)=D+r-t-C(t). TR= e-r είναι ο χρόνος απόκρισης της εργασίας. Ισχύει C TR D όταν δεν υπάρχει χρονικό σφάλμα. CH(t)= C(t)/D(t) είναι ο υπολειπόμενος φόρτος. 0 CH(t) C/T (εξ ορισμού, αν e=d, CH(e)=0). Οι περιοδικές εργασίες ενεργοποιούνται αλλεπάλληλα με απαιτήσεις χρόνων ανακοίνωσης (release time requests) και επιστρέφουν στην παθητική κατάσταση με την ολοκλήρωση του αιτήματός τους. Οι απεριοδικές εργασίες μπορεί να έχουν την ίδια συμπεριφορά αν έχουν ενεργοποιηθεί περισσότερες της μίας φοράς. Μερικές φορές δημιουργούνται στον χρόνο ανακοίνωσης. Μία εργασία, εφόσον δημιουργηθεί, μπορεί να βρίσκεται σε μία από τις δύο καταστάσεις: παθητική ή ενεργοποιημένη. Ωστόσο, ο διαμοιρασμός πόρων οδηγεί σε περισσότερες καταστάσεις για μία εργασία. elected/εκλεγμένη, ένας επεξεργαστής έχει προσδιοριστεί για την εργασία. Τα C(t) και D(t) αυξάνονται, ενώ το L(t) μειώνεται. blocked/ μπλοκαρισμένη, η εργασία αναμένει για πόρους, για ένα μήνυμα ή για ένα σήμα συγχρονισμού. Τα L(t) και D(t) μειώνονται. ready/έτοιμη, η εργασία περιμένει να επιλεγεί. Τα L(t) και D(t) μειώνονται. passive/ παθητική, η εργασία δεν έχει κάποιο τρέχον αίτημα. non existed/ μη υπάρχουσα, η εργασία δεν έχει δημιουργηθεί. 18

19 1.3.2 Χαρακτηριστικά εργασιών Οι εργασίες πέρα από τις χρονικές παραμέτρους, περιγράφονται και από άλλα χαρακτηριστικά. Προεκχωρητικές και μη προεκχωρητικές εργασίες (preemptive and nonpreemptive tasks). Κάποιες εργασίες από τη στιγμή που έχουν εκλεχθεί δεν είναι δυνατόν να διακοπούν αν δεν ολοκληρώσουν την εκτέλεση τους. Αυτές καλούνται μη προεκχωρητικές εργασίες ή άμεσες. Εν αντιθέσει, όταν μία εκλεγμένη εργασία μπορεί να σταματήσει την εκτέλεση της και να περάσει στην κατάσταση ready, προκειμένου να εκμεταλλευτεί τον επεξεργαστή της μία άλλη, ονομάζεται προεκχωρητική εργασία. Στατικές και δυναμικές προτεραιότητες εργασιών. Σε κάθε εργασία, σε ένα σύστημα πραγματικού χρόνου, ανατίθεται μία προτεραιότητα σε σχέση με τις υπόλοιπες εργασίες. Η εκτέλεση των εκάστοτε εργασιών χρονοδρομολογείται βάσει των προτεραιοτήτων τους. Αυτές οι προτεραιότητες μπορεί να είναι είτε στατικές είτε δυναμικές. Στατικές είναι οι προτεραιότητες οι οποίες ανατίθενται στις εργασίες σύμφωνα με σταθερές παραμέτρους που τις αφορούν όπως είναι π.χ. η περίοδός τους (για περιοδικές εργασίες) και παραμένουν σταθερές. Δυναμικές είναι οι προτεραιότητες οι οποίες ανατίθενται στις εργασίες βάσει δυναμικών παραμέτρων που τις αφορούν όπως π.χ. η απόλυτη χρονική προθεσμία (absolute deadline) και μπορούν να μεταβάλλονται κατά τη διάρκεια της εκτέλεσης. Εξάρτηση εργασιών (dependency of tasks). Οι εργασίες μπορούν να αλληλεπιδρούν σύμφωνα με έναν κανόνα που καθορίζεται ή προκαλείται από μεταφορά μηνυμάτων ή από ρητό συγχρονισμό. Αυτό δημιουργεί μία σχέση προτεραιοτήτων μεταξύ των εργασιών. Οι σχέσεις προτεραιότητας είναι γνωστές πριν την εκτέλεση. Μπορεί π.χ. να είναι στατικές και να μπορούν να αναπαρασταθούν από ένα γράφο στατικών προτεραιοτήτων. Οι εργασίες μπορούν να μοιράζονται και άλλους πόρους πέρα από τον επεξεργαστή και μερικοί πόροι μπορεί να είναι αποκλειστικοί ή κρίσιμοι (critical), π.χ. πρέπει να χρησιμοποιηθούν σε αμοιβαίο αποκλεισμό. Η ακολουθία των εντολών που μία εργασία πρέπει να εκτελέσει σε περίπτωση αμοιβαίου αποκλεισμού καλείται κρίσιμο τμήμα (critical section). Μόνο μία εργασία επιτρέπεται να εκτελεί το κρίσιμο τμήμα της για δεδομένο πόρο. 19

20 Ο διαμοιρασμός πόρων προκαλεί μία δυναμική σχέση όταν η σειρά χρήσης του πόρου εξαρτάται από την σειρά των εκλεγμένων εργασιών. Όταν οι εργασίες έχουν στατικές και δυναμικές εξαρτήσεις, που ενδεχομένως να τις διατάσσουν σειριακά, χρησιμοποιείται η έννοια του ολικού χρόνου απόκρισης, ή της end-to-end καθυστέρησης. Οι εργασίες είναι ανεξάρτητες όταν δεν υπάρχουν σχέσεις προτεραιότητας μεταξύ τους και δεν μοιράζονται κρίσιμους πόρους.[3] Χρονοδρομολόγηση Στα συστήματα πραγματικού χρόνου, οι εργασίες έχουν χρονικούς περιορισμούς και η εκτέλεσή τους περιορίζεται σε μία μέγιστη επιτρεπτή καθυστέρηση η οποία πρέπει να γίνεται επιτακτικά σεβαστή το συχνότερο δυνατόν. Ο αντικειμενικός σκοπός της χρονοδρομολόγησης είναι να καλύπτονται πλήρως οι χρονικοί περιορισμοί όταν η εφαρμογή τρέχει. Επίσης, πρέπει να έχει αποδειχτεί a priori, ότι όλοι οι χρονικοί περιορισμοί καλύπτονται. Όταν συμβεί μια βλάβη, ενδέχεται να ενεργοποιηθούν κάποιες εργασίες συναγερμού ή κάποιοι χρόνοι εκτέλεσης προφανώς θα αυξηθούν, υπερφορτώνοντας την εφαρμογή και αυξάνοντας τα χρονικά σφάλματα. Σε μία κατάσταση υπερφόρτωσης, ο σκοπός της χρονοδρομολόγησης είναι να επιτρέπει κάποιου είδους ανοχή, π.χ. να επιτρέπει την εκτέλεση εργασιών που κρατούν ασφαλή τον επεξεργαστή έστω και στο ελάχιστο επίπεδο απασχόλησης. Μία εφαρμογή πραγματικού χρόνου προσδιορίζεται από την ομάδα των εργασιών της. Προοδευτική ή ταυτόχρονη ενεργοποίηση (passive or simultaneous triggering). Οι εργασίες μιας εφαρμογής ενεργοποιούνται ταυτόχρονα όταν έχουν τους ίδιους αρχικούς χρόνους ανακοίνωσης, σε αντίθετη περίπτωση ενεργοποιούνται προοδευτικά. Οι εργασίες οι οποίες ενεργοποιούνται ταυτόχρονα ονομάζονται και εργασίες σε φάση. Παράγοντας χρησιμοποίησης επεξεργαστή (processor utilization factor). Η χρησιμοποίηση του επεξεργαστή για μια ομάδα από n περιοδικές εργασίες είναι: 20

21 n C U= T i= 1 i i (1.1) Παράγοντας φόρτου του επεξεργαστή (processor load factor). Ο παράγοντας φόρτου του επεξεργαστή για μία ομάδα από n εργασίες είναι: n Ci CH= D i= 1 i (1.2) Χαλαρότητα του επεξεργαστή (processor laxity). Εξαιτίας των χρονικών προθεσμιών, η χρησιμοποίηση αλλά και ο φόρτος του επεξεργαστή δεν είναι αρκετοί προκειμένου να αξιολογηθούν οι επιπτώσεις υπερφόρτωσης στους χρονικούς περιορισμούς. Έτσι, εισάγεται η χαλαρότητα του επεξεργαστή στον χρόνο t, LP(t), σαν ο ανώτατος χρόνος που ο επεξεργαστής μπορεί να παραμείνει ανενεργός μετά από t χρόνο, χωρίς να προκαλεί παραβίαση χρονικής προθεσμίας για κάποια εργασία. Η LP(t) μεταβάλλεται συναρτήσει του t. Για όλα τα t θα πρέπει να ισχύει LP(t) 0. Για τον υπολογισμό της χαλαρότητας, θα πρέπει να είναι γνωστή η σειρά ανάθεσης των εργασιών στον επεξεργαστή και θα πρέπει να υπολογίζεται η υπό συνθήκη χαλαρότητα (conditional laxity) LC i (t) για κάθε εργασία i : LC i (t) = Di C j (t) (1.3) Όπου το άθροισμα στο j υπολογίζει τον υπολειπόμενο χρόνο εκτέλεσης όλων των εργασιών (συμπεριλαμβανομένης και της εργασίας i) που είναι ενεργοποιημένες την χρονική στιγμή t και προηγούνται της εργασίας i στην σειρά ανάθεσης. Η χαλαρότητα LP(t) είναι η μικρότερη τιμή της υπό συνθήκη χαλαρότητας LC i (t). Αδρανής χρόνος του επεξεργαστή (processor idle time). Είναι ο χρόνος στον οποίο η χαλαρότητα του επεξεργαστή είναι αυστηρά θετική. 21

22 1.4 Χρονοπρογραμματισμός ανεξάρτητων εργασιών Στη συνέχεια περιγράφονται οι τέσσερις βασικοί αλγόριθμοι χρονοπρογραμματισμού των εργασιών. Αυτοί είναι οι: Μονότονου ρυθμού, Rate Monotonic RM, Αντίστροφης χρονικής προθεσμίας, Inverse Deadline ID, Συντομότερης χρονικής προθεσμίας, Earliest Deadline First EDF, Μικρότερης περιόδου χαλαρότητας, Least Laxity First LLF. Αυτοί οι αλγόριθμοι έχουν να κάνουν με ομογενείς ομάδες περιοδικών ή απεριοδικών εργασιών. Οι δυο πρώτοι αφορούν εργασίες με στατικές προτεραιότητες και οι δύο επόμενοι αφορούν εργασίες με δυναμικές προτεραιότητες. Ωστόσο οι εφαρμογές πραγματικού χρόνου απαιτούν, συνήθως, και τους δύο τύπους εργασιών. Υπάρχουν δύο κλάσεις αλγόριθμων χρονοπρογραμματισμού: Offline. Ένας αλγόριθμος χρονοπρογραμματισμού χρησιμοποιείται offline αν εκτελείται σε όλη την ομάδα εργασιών πριν την ενεργοποίηση των εργασιών. Το πρόγραμμα που δημιουργείται με αυτόν τον τρόπο αποθηκεύεται σε ένα πίνακα και στην συνέχεια εκτελείται από έναν αποστολέα. Η ομάδα των εργασιών πρέπει να είναι γνωστή και καθορισμένη a priori, ώστε όλες οι ενεργοποιήσεις των εργασιών να μπορούν να υπολογιστούν offline. Το κύριο πλεονέκτημα αυτής της προσέγγισης είναι ότι η επιβάρυνση (overhead) του χρόνου εκτέλεσης είναι χαμηλή και δεν εξαρτάται από την πολυπλοκότητα του αλγόριθμου χρονοπρογραμματισμού. Παρόλα αυτά το σύστημα δεν είναι ευέλικτο σε ενδεχόμενες αλλαγές στο περιβάλλον. Online. Ένας αλγόριθμος προγραμματισμού χρησιμοποιείται online αν οι αποφάσεις χρονοπρογραμματισμού λαμβάνονται στον χρόνο εκτέλεσης κάθε φορά που μία εργασία εισέρχεται στο σύστημα ή όταν μία εκτελούμενη εργασία τερματίζει. Στους online αλγόριθμους σε κάθε εργασία αποδίδεται μία προτεραιότητα σύμφωνα με τις χρονικές παραμέτρους της. Αυτές οι προτεραιότητες μπορούν να είναι είτε προκαθορισμένες/στατικές (fixed) είτε δυναμικές. Οι στατικές προτεραιότητες βασίζονται σε στατικές παραμέτρους και αποδίδονται στις εργασίες πριν την 22

23 ενεργοποίησή τους. Οι δυναμικές προτεραιότητες βασίζονται σε δυναμικές παραμέτρους οι οποίες ενδεχομένως να αλλάζουν κατά την εξέλιξη του συστήματος Βασικοί online αλγόριθμοι για περιοδικές εργασίες Οι βασικοί online αλγόριθμοι σχεδιάζονται με έναν απλό κανόνα σύμφωνα με τον οποίο ανατίθενται προτεραιότητες με βάση χρονικές παραμέτρους των εργασιών. Σε περίπτωση που αυτές οι παράμετροι είναι στατικές/καθορισμένες, ο αλγόριθμος είναι στατικός διότι οι προτεραιότητες είναι στατικές. Οι προτεραιότητες ανατίθενται στις εργασίες πριν την εκτέλεση τους και δεν μπορούν να αλλάξουν. Οι βασικοί αλγόριθμοι με στατικές προτεραιότητες είναι οι μονότονου ρυθμού και αντίστροφης χρονικής προθεσμίας. Από την άλλη, αν ο αλγόριθμος χρονοπρογραμματισμού βασίζεται σε μεταβλητές παραμέτρους, χαρακτηρίζεται δυναμικός καθώς οι προτεραιότητες μεταβάλλονται Αλγόριθμοι για εργασίες με στατικές προτεραιότητες Χρονοδρομολόγηση μονότονου ρυθμού (Rate Monotonic RM) O αλγόριθμος μονότονου ρυθμού αφορά προεκχωρητικές περιοδικές εργασίες με στατικές προτεραιότητες. Αυτός ο αλγόριθμος [27] σχεδιάστηκε, αποδείχτηκε και επαληθεύτηκε από τους C. L. Liu και J. W. Layland το Σε αυτήν την κατηγορία αλγορίθμων έχουν γίνει πολλές μελέτες [6, 7, 8, 9, 10] και έχουν προταθεί αρκετοί αλγόριθμοι. Στην πιο απλή περίπτωση, στην οποία όλες οι εργασίες του συστήματος είναι περιοδικές, έχει αποδειχθεί ότι ο αλγόριθμος μονότονου ρυθμού είναι η βέλτιστη μέθοδος χρονοδρομολόγησης για ένα μοντέλο στατικών προτεραιοτήτων[4]. Με τον όρο «βέλτιστος» εννοούμε ότι «κανένας άλλος στατικός αλγόριθμος δεν μπορεί να χρονοδρομολογήσει ένα σύνολο διεργασιών που ο αλγόριθμος μονότονου ρυθμού δεν μπορεί επίσης να χρονοδρομολογήσει»[5] και πως αν υπάρχει εφικτό πρόγραμμα 23

24 για ένα δεδομένο σύνολο από εργασίες, τότε ο αλγόριθμος μονότονου ρυθμού μπορεί να το παράγει. Στην χρονοδρομολόγηση μονότονου ρυθμού, κάθε εργασία είναι προεκχωρητική (preemptive) και της ανατίθεται μια προτεραιότητα σύμφωνα με την περίοδό της. Η πιο υψηλή προτεραιότητα αποδίδεται στην εργασία με τον πιο υψηλό ρυθμό, δηλαδή σε αυτήν που έχει τη μικρότερη περίοδο και εκτελείται συχνότερα. Η απόδοση προτεραιότητας γίνεται μόνο μία φορά στην αρχή και δεν μπορεί να αλλάξει, καθώς κάθε εργασία τη διατηρεί σε όλη τη διάρκεια λειτουργίας του συστήματος. Γι αυτό αναφέρεται σαν αλγόριθμος που υποστηρίζει στατικές προτεραιότητες. Ο αλγόριθμος μονότονου ρυθμού έχει δύο μέρη: το πρώτο αποφασίζει αν η δοθείσα ομάδα εργασιών μπορεί να χρονοπρογραμματιστεί με τον αλγόριθμο μονότονου ρυθμού το δεύτερο αποδίδει στατικές προτεραιότητες στις εργασίες με την λογική που αναφέρθηκε παραπάνω. Το πρώτο μέρος παρέχει χρονοπρογραμματιστικούς περιορισμούς στην ομάδα των εργασιών. Δίνεται ως: U n n (1.4) Όπου: n, ο αριθμός των εργασιών U, η συνολική χρησιμοποίηση του επεξεργαστή από τις εργασίες ώστε n U = i= 1 Ci P i (1.5) Για πολύ μεγάλο αριθμό εργασιών n, η χρησιμοποίηση συγκλίνει στο 69%. Έτσι αν μία ομάδα εργασιών έχει χρησιμοποίηση λιγότερη του 69%, είναι εγγυημένο ότι μπορεί να χρονοπρογραμματιστεί με τον αλγόριθμο μονότονου ρυθμού. Ωστόσο, ο περιορισμός χρονοπρογραμματισμού είναι μία αναγκαία αλλά όχι και ικανή συνθήκη. Δηλαδή, υπάρχουν ομάδες εργασιών που μπορούν να χρονοπρογραμματιστούν με τον αλγόριθμο μονότονου ρυθμού αλλά δεν ικανοποιούν το όριο της χρησιμοποίησης. Βρέθηκε, λοιπόν, ένας ικανός και αναγκαίος περιορισμός χρονοπρογραμματισμού [11,12]. Η ομάδα εργασιών περιγράφηκε παραπάνω αποτελείται από n εργασίες. 24

25 { τ, τ..., τ τ } 1 2 j,..., n όπου οι εργασίες είναι με κατιούσα σειρά προτεραιότητας. Η περίοδος της εργασίας τ j είναι Τ j. Ο φόρτος εργασίας στο διάστημα t [0,t] (για αυθαίρετο t>0) λόγω όλων των εργασιών που έχουν μικρότερη ή ίση προτεραιότητα με την τj δίνεται ως: j t W I (t)= = C j i 1 T j (1.6) Η εργασία τj είναι χρονοπρογραμματίσιμη αν για όλες τις εργασίες κάτω από αυτήν ισχύει min ( 0 < t Tj ) W j ( t) t 1 (1.7) ολόκληρη η ομάδα εργασιών είναι χρονοπρογραμματίσιμη αν η παραπάνω συνθήκη ισχύει για όλες τις εργασίες. Ένα ακόμη πρόβλημα με τον αλγόριθμο μονότονου ρυθμού είναι ότι δεν επιτρέπει δυναμικές αλλαγές στις προτεραιότητες των εργασιών. Αν για κάποιο λόγο κατά τη διάρκεια λειτουργίας του συστήματος πραγματικού χρόνου αλλάξει η περίοδος εκτέλεσης μιας εργασίας, ο αλγόριθμος μονότονου ρυθμού δεν μπορεί να κάνει ξανά ανάθεση προτεραιοτήτων, καθώς κάτι τέτοιο παραβιάζει την παραδοχή ότι οι προτεραιότητες είναι στατικές. Έχουν προταθεί αρκετές παραλλαγές του αλγόριθμου μονότονου ρυθμού, όπως είναι ο αλγόριθμος μονότονης χρονικής προθεσμίας (deadline-monotonic scheduling algorithm) [19] ή ο αλγόριθμος μονότονου βάρους (weight-monotonic scheduling algorithm) [20] Χρονοδρομολόγηση αντίστροφης ή μονότονης χρονικής προθεσμίας (Inverse deadline or deadline monotonic algorithm) 25

26 Ο αλγόριθμος αντίστροφης χρονικής προθεσμίας αποδίδει προτεραιότητες στις εργασίες βάσει των χρονικών τους προθεσμιών. Στην εργασία με την μικρότερη χρονική προθεσμία αποδίδεται η μεγαλύτερη προτεραιότητα, ενώ στην εργασία με την μεγαλύτερη χρονική προθεσμία αποδίδεται η χαμηλότερη προτεραιότητα. Ο αλγόριθμος αντίστροφης χρονικής προθεσμίας είναι βέλτιστος, με την έννοια ότι αν κάποιος αλγόριθμος στατικών προτεραιοτήτων μπορεί να χρονοπρογραμματίσει μία ομάδα εργασιών με χρονικές προθεσμίες μικρότερες των περιόδων, τότε και ο αλγόριθμος αντίστροφης χρονικής προθεσμίας μπορεί επίσης να χρονοπρογραμματίσει αυτή την ομάδα εργασιών. Για έναν τυχαίο αριθμό από n εργασίες με χρονικές προθεσμίες μικρότερες των περιόδων μία ικανή συνθήκη είναι η εξής: n i= 1 Ci D i n 1 2 n 1 (1.8) Αλγόριθμοι για εργασίες με δυναμικές προτεραιότητες First, EDF) Αλγόριθμος συντομότερης χρονικής προθεσμίας (Earliest Deadline Ο αλγόριθμος αυτός σχεδιάστηκε και επαληθεύτηκε από τους Liu και Layland το Σύμφωνα με αυτόν οι προτεραιότητες στις εργασίες αποδίδονται με βάση την απόλυτη χρονική τους προθεσμία. Η εργασία με την μικρότερη χρονική προθεσμία έχει την μεγαλύτερη προτεραιότητα. Ο αλγόριθμος είναι επίσης βέλτιστος με την έννοια που αναλύθηκε παραπάνω. Όταν μία νέα εργασία φτάνει στο σύστημα, ο χρονοδρομολογητής ξαναϋπολογίζει τις προτεραιότητες όλων των εργασιών που είναι σε εκκρεμότητα και στη συνέχεια αναδιοργανώνει τη σειρά της επεξεργασίας. Εάν η νέα άφιξη έχει την πιο υψηλή προτεραιότητα, η εργασία που εκτελείται εκείνη τη 26

27 στιγμή προεκχωρείται (γίνεται preempted) και η νέα εργασία εξυπηρετείται αμέσως. Η εργασία που διακόπηκε θα ξεκινήσει αργότερα από το σημείο διακοπής. Διαφορετικά, αν η προτεραιότητα της νέας άφιξης είναι μικρότερη, θα τοποθετηθεί σε κατάλληλη θέση στη σειρά των εργασιών. Μία ομάδα περιοδικών εργασιών, με χρονικές προθεσμίες ίσες με την περίοδο, είναι χρονοπρογραμματίσιμη με τον EDF αν και μόνο αν η χρησιμοποίηση του επεξεργαστή είναι μικρότερη ή ίση της μονάδας: n U= i= 1 C T i i 1 (1.9) Τα δύο μεγάλα πλεονεκτήματα του αλγόριθμου EDF είναι αφενός ότι μπορεί να επιτύχει μέχρι και 100% χρησιμοποίηση του επεξεργαστή και αφετέρου ότι υποστηρίζει δυναμικές προτεραιότητες. Επίσης, ο EDF αλγόριθμος δεν κάνει καμία υπόθεση περί των περιόδων των εργασιών έτσι μπορεί να χρησιμοποιείται για τον χρονοπρογραμματισμό τόσο περιοδικών όσο και απεριοδικών εργασιών. Υπάρχουν και σε αυτήν την περίπτωση μελέτες που επεκτείνουν τον αρχικό αλγόριθμο, όπως για παράδειγμα ο αλγόριθμος πρόβλεψης χρονικής προθεσμίας (Predictive Deadline algorithm) [21] ή ο πολύ ενδιαφέρων αλγόριθμος του εξυπηρετητή ολικού εύρους ζώνης (Total Bandwidth Server) [22], ο οποίος είναι πολύ σημαντικός, γιατί βασίζεται στο γεγονός ότι πολλά συστήματα πραγματικού χρόνου αποτελούνται από αυστηρές περιοδικές εργασίες (hard periodic tasks) και σταθερές απεριοδικές εργασίες (firm aperiodic tasks). LLF) Αλγόριθμος της μικρότερης περιόδου χαλαρότητας (Least Laxity First, 27

28 Ο αλγόριθμος αυτός είναι μία παραλλαγή του αλγόριθμου συντομότερης χρονικής προθεσμίας (EDF). Εισάγει την έννοια της περιόδου χαλαρότητας. Όταν λέμε περίοδος χαλαρότητας, εννοούμε τη χρονική διάρκεια μέχρι τη στιγμή που η εργασία δεν έχει άλλα περιθώρια να καθυστερήσει την εκτέλεσή της. Όπως επισημάνθηκε και παραπάνω η περίοδος χαλαρότητας ορίζεται ως L=D-C. Δηλαδή είναι το αποτέλεσμα της αφαίρεσης του χρόνου υπολογισμού χειρότερης περίπτωσης μιας εργασίας, μείον την χρονική της προθεσμία. Σχήμα 1.5. Περίοδος χαλαρότητας/laxity για μία εργασία. Ο αλγόριθμος αποδίδει την υψηλότερη προτεραιότητα στην εργασία με την μικρότερη περίοδο χαλαρότητας. Είναι βέλτιστος με την έννοια που αναλύθηκε παραπάνω και μπορεί να χρονοπρογραμματίσει όποια ομάδα εργασιών χρονοπρογραμματίζει και ο αλγόριθμος EDF. Μια περίοδος χαλαρότητας t i υποδηλώνει ότι ακόμα και αν η εργασία καθυστερήσει για t i χρονικές μονάδες, θα μπορέσει να προλάβει τη χρονική προθεσμία της. Αν η περίοδος χαλαρότητας μιας εργασίας είναι 0, αυτό σημαίνει ότι η εργασία πρέπει να αρχίσει να εκτελείται αμέσως. Σε διαφορετική περίπτωση η χρονική της προθεσμία δεν θα ικανοποιηθεί. Το μέτρο της περιόδου χαλαρότητας επιτρέπει την απόρριψη των εργασιών που σίγουρα δε θα προλάβαιναν να εκτελεστούν πριν από τη χρονική τους προθεσμία. Η κύρια διαφορά μεταξύ του LLF και του EDF είναι ότι ο LLF λαμβάνει υπόψη τους χρόνους εκτέλεσης κάθε εργασίας. Αξίζει να σημειωθεί ότι ο αλγόριθμος αυτός παρουσιάζει υψηλή χρησιμοποίηση και συμπεριφέρεται καλύτερα από τον EDF σε κατάσταση υπερφόρτωσης του συστήματος. 28

29 Σύγκριση Παραδείγματα των RM και EDF αλγορίθμων χρονοδρομολόγησης Παράδειγμα RM αλγορίθμου Έστω ότι σε ένα σύστημα πραγματικού χρόνου υπάρχει ένα σύνολο από 3 περιοδικές προεκχωρητικές εργασίες J1, J2 και J3 με περιόδους και χρόνους εκτέλεσης αντίστοιχα όπως δίνονται παρακάτω: J1 = (4,1) J2 = (5,2) J3 = (7,2) Στο παρακάτω σχήμα [37] φαίνεται ο χρονοπρογραμματισμός των εργασιών σύμφωνα με τον αλγόριθμο RM : Σχήμα 1.6 Χρονοπρογραμματισμός εργασιών με τον RM αλγόριθμο [37]. Η μεγαλύτερη προτεραιότητα βάσει του αλγορίθμου (απόδοση υψηλότερης προτεραιότητας στην εργασία με τη μικρότερη περίοδο) δίνεται στην εργασία J1, η μεσαία προτεραιότητα στην εργασία J2 και η χαμηλότερη προτεραιότητα στην εργασία J3, αφού οι περίοδοι είναι αντίστοιχα 4, 5 και 7. Στην αρχή εκτελείται η J1 και καθώς ο χρόνος εκτέλεσής της είναι μία χρονική μονάδα, επιλέγεται μετά η J2. Η J2 έχει χρόνο εκτέλεσης ίσο με 2 χρονικές μονάδες και μόλις τελειώσει την εκτέλεσή της η μόνη που απομένει είναι η J3, καθώς οι άλλες εργασίες έχουν ήδη ολοκληρώσει την εκτέλεσή 29

30 τους για την τρέχουσα περίοδό τους. Κατά τη χρονική στιγμή 4 συμβαίνει κάτι που δημιουργεί πρόβλημα στο σύστημα. Ενώ η J3 δεν έχει ολοκληρώσει την εκτέλεσή της, αρχίζει ο νέος κύκλος της περιόδου για την J1, οπότε λόγω του ότι έχει μεγαλύτερη προτεραιότητα από την J3, θα την εκτοπίσει (η J3 θα γίνει preempted) και θα αρχίσει την εκτέλεσή της η J1. Για την J3 έχει απομείνει μία χρονική μονάδα χρόνου εκτέλεσης. Ωστόσο, μόλις τελειώσει την εκτέλεσή της η J1, έχει ξεκινήσει ο δεύτερος κύκλος για την εκτέλεση της J2 και καθώς έχει μεγαλύτερη προτεραιότητα από την J3, θα ξεκινήσει την εκτέλεσή της. Όταν ολοκληρώνεται η εκτέλεση της J2 μετά από δύο χρονικές μονάδες, τη χρονική στιγμή 7 είναι πλέον αργά για την εργασία J3, καθώς έχει ξεπεραστεί η χρονική προθεσμία που είχε για την εκτέλεσή της μέσα στην πρώτη της περίοδο. Θα μπορούσε να προβλεφθεί η χρήση μιας χρονικής μονάδας, για να προλάβει να εκτελεστεί η J3, αλλά σύμφωνα με τον αλγόριθμο οι προτεραιότητες ανατίθενται στην αρχή και δεν μπορούν να αλλάξουν Παράδειγμα EDF αλγορίθμου Στο παρακάτω σχήμα [37] φαίνεται ο χρονοπρογραμματισμός των εργασιών με τον αλγόριθμο EDF: Σχήμα 1.7 Χρονοπρογραμματισμός εργασιών με τον EDF αλγόριθμο [37]. Στο σχήμα αυτό δεν υπάρχουν χαμένες χρονικές προθεσμίες. Στη χρονική στιγμή 0 αποφασίζεται η εκτέλεση της εργασίας J1 όχι επειδή έχει τη μικρότερη περίοδο, αλλά επειδή το τέλος της χρονικής προθεσμίας της είναι στη χρονική στιγμή 4, ενώ για 30

31 τις άλλες δύο είναι 5 και 7 αντίστοιχα. Παρομοίως στη δεύτερη χρονική στιγμή, αποφασίζεται η εκτέλεση της εργασίας J2, επειδή η J1 έχει ολοκληρώσει την εκτέλεσή της και η χρονική προθεσμία της J3 αργεί περισσότερο. Παρατηρείται κάτι πολύ σημαντικό. Κατά τη χρονική στιγμή 4 θα ξεκινήσει ο νέος κύκλος για την εργασία J1. Ωστόσο, αντίθετα με τον αλγόριθμο RM, δε σταματά η εκτέλεση της εργασίας J3, αλλά συνεχίζεται κανονικά, καθώς η χρονική προθεσμία της εργασίας J1 αργεί περισσότερο σε αυτήν την περίπτωση η εργασία J1 έχει μικρότερη προτεραιότητα από την J3. Παρατηρείται λοιπόν ότι η εργασία J3 έχει προλάβει να εκτελεστεί πριν από το πέρας της χρονικής προθεσμίας και αυτό επιτυγχάνεται με τη δυναμική αλλαγή προτεραιότητας. Ενώ στην αρχή (στη χρονική στιγμή 0) η εργασία J1 έχει μεγαλύτερη προτεραιότητα από την J3, τα πράγματα αλλάζουν στη χρονική στιγμή 4, όπου η εργασία J1 έχει μικρότερη προτεραιότητα από την J3. Πρέπει να πούμε ότι ο αλγόριθμος της μικρότερης περιόδου χαλαρότητας λειτουργεί με τον ίδιο τρόπο όπως και ο EDF, μόνο που αντί για να ελέγχεται η χρονική προθεσμία, ελέγχεται η περίοδος χαλαρότητας. Θα μπορούσε αβίαστα να εξαχθεί το συμπέρασμα ότι ο αλγόριθμος EDF είναι καλύτερος από τον RM. Ωστόσο, δεν παρέχει την απαιτούμενη προβλεψιμότητα και έχει το πρόβλημα του ντόμινο (domino effect), καθώς σε περίπτωση υπερφορτώσεων του συστήματος αρχίζουν διαδοχικές χαμένες προθεσμίες, κάτι που δε θα γινόταν με τον RM, όπου κάποιες εργασίες έχουν σταθερά υψηλή προτεραιότητα και σίγουρα δε θα χάσουν τη χρονική προθεσμία τους. Ακολουθεί μία σύγκριση των δύο βασικών αλγορίθμων, κατά την οποία γίνονται κατανοητά τα πλεονεκτήματα και τα μειονεκτήματά τους Σύγκριση RM και EDF Συγκρίνοντας τους δύο αυτούς αλγόριθμους [25] διαπιστώνει κανείς ότι ο EDF είναι πιο δυναμικός. Πρέπει όμως να εκτελείται συχνά και έτσι προκαλεί μεγαλύτερη χρονική επιβάρυνση χρονοδρομολόγησης. Το πλεονέκτημα είναι ότι μπορεί να επιτύχει χρησιμοποίηση του επεξεργαστή και μέχρι 100%, ενώ ο αλγόριθμος RM μέχρι 69%. Ο αλγόριθμος του μονότονου ρυθμού αντίθετα είναι στατικός, αφού η 31

32 προτεραιότητα που αποδίδεται στις εργασίες υπολογίζεται μόνο μια φορά. Αυτό όμως προσδίδει προβλεψιμότητα στην εκτέλεση των εργασιών. Επειδή οι προτεραιότητες αποδίδονται σύμφωνα με το ρυθμό αίτησης των διεργασιών, περισσότερες εναλλαγές περιεχομένου συμβαίνουν κατά τη χρονοδρομολόγηση μονότονου ρυθμού παρά στον EDF. Επειδή η χρονοδρομολόγηση μονότονου ρυθμού δεν εισάγει καθόλου καθυστερήσεις χρονοδρομολόγησης και είναι βέλτιστη για περιοδικές εργασίες, είναι κατάλληλη για εφαρμογές συνεχών μέσων. Ο EDF έχει κακή συμπεριφορά σε κατάσταση υπερφόρτωσης του συστήματος. Ο RM έχει απλή υλοποίηση ακόμα και σε συστήματα χωρίς σαφή υποστήριξη για χρονικούς περιορισμούς (περιόδους και χρονικές προθεσμίες). 1.5 Χρονοπρογραμματισμός εξαρτημένων εργασιών Μέχρι τώρα μιλήσαμε για ανεξάρτητες εργασίες οι οποίες δεν έχουν σχέσεις μεταξύ τους. Όμως, σε πάρα πολλά συστήματα πραγματικού χρόνου, οι διαεργασιακές εξαρτήσεις είναι απαραίτητες. Η διαεργασιακή επικοινωνία μπορεί να εκφραστεί με διάφορους τρόπους: κάποιες εργασίες πρέπει να σέβονται την σειρά επεξεργασίας, την ανταλλαγή μηνυμάτων μεταξύ των εργασιών, την χρησιμοποίηση διαφόρων πόρων. Σε εργασίες πραγματικού χρόνου υπάρχουν δύο είδη τυπικών εξαρτήσεων που μπορούν να οριστούν. 1. Εξάρτηση των περιορισμών που αντικατοπτρίζονται στον συγχρονισμό ή την επικοινωνία μεταξύ των εργασιών 2. Αμοιβαίοι απαγορευτικοί περιορισμοί για την προστασία των διαμοιραζόμενων πόρων Εργασίες με σχέσεις προτεραιότητας 32

33 Ο πρώτος τύπος περιορισμού είναι οι σχέσεις προτεραιότητας μεταξύ των εργασιών πραγματικού χρόνου. Ορίζουμε έναν περιορισμό προτεραιότητας μεταξύ δύο εργασιών τ i και τ j, σημειώνοντας τον ως τ i τ j, αν η εκτέλεση της εργασίας τ i προηγείται από αυτή της τ j. Με άλλα λόγια η εργασία τ j θα πρέπει να περιμένει την εκτέλεση της εργασίας τ i πριν ξεκινήσει την δική της εκτέλεση. Αυτές οι σχέσεις μπορούν να περιγραφούν με έναν γράφο όπου οι κόμβοι αναπαριστούν τις εργασίες και τα βέλη τις σχέσεις προτεραιότητας μεταξύ των κόμβων όπως φαίνεται στο παρακάτω σχήμα. Σχήμα 1.8 Παράδειγμα γράφου σε σχέσεις προτεραιότητας ανάμεσα σε 5 εργασίες Διαμοιρασμός πόρων από εργασίες Όταν επιτρέπεται στις εργασίες να διαμοιράζονται πόρους, η πρόσβασή τους σε αυτούς πρέπει να ελέγχεται. Ας υποθέσουμε έναν πόρο R διαμοιραζόμενο από δύο εργασίες τ 1 και τ 2. Πρέπει να εξασφαλίσουμε ότι η εκτέλεση των δύο προεκχωρητικών εργασιών πάνω στον πόρο γίνεται κάτω από συνθήκες αμοιβαίου αποκλεισμού. Ας υποθέσουμε ότι η εργασία τ 1 ενεργοποιείται πρώτη και χρησιμοποιεί τον πόρο R, δηλαδή εκτελεί το κρίσιμο τμήμα της. Έπειτα η εργασία τ 2, έχουσα μεγαλύτερη προτεραιότητα, αιτείται της χρησιμοποίησης τους πόρου. Εφόσον έχει μεγαλύτερη προτεραιότητα από την εργασία τ 1, προκύπτει προεκχώρηση. Η εργασία τ 1 μπλοκάρεται και η τ 2 αρχίζει την εκτέλεσή της. Ωστόσο, όταν η τ 2 επιθυμεί πρόσβαση στον διαμοιραζόμενο πόρο R, αποκλείεται λόγω του αμοιβαίου 33

34 αποκλεισμού. Επομένως η τ 1 μπορεί να συνεχίσει την εκτέλεσή της. Όταν η τ 1 τελειώσει την εκτέλεση του κρίσιμου τμήματος της, η μεγαλύτερης προτεραιότητας εργασία τ 2 μπορεί να εκτελεστεί χρησιμοποιώντας τον πόρο. Αυτή η διεργασία μπορεί να οδηγήσει σε ανεξέλεγκτο μπλοκάρισμα της εργασίας τ 2. Για την ικανοποίηση αυστηρών απαιτήσεων πραγματικού χρόνου, μία εφαρμογή πρέπει να ελέγχεται από έναν χρονοπρογραμματιστικό αλγόριθμο ο οποίος να μπορεί πάντα να εγγυηθεί ένα προβλέψιμο χρόνο απόκρισης του συστήματος. Είναι επιτακτική ανάγκη λοιπόν να διασφαλίζεται ένας προβλέψιμος χρόνος απόκρισης μέσω ενός προεκχωρητικού χρονοπρογραμματιστικού αλγορίθμου, ο οποίος να λαμβάνει υπόψη τους περιορισμούς που τίθενται από τους πόρους Φαινόμενο αντιστροφής προτεραιοτήτων (Priority inversion phenomenon) Το φαινόμενο της αντιστροφής προτεραιότητας μπορεί να συμβεί στον προεκχωρητικό χρονοπρογραμματισμό οδηγούμενο από καθορισμένες προτεραιότητες όπου οι κρίσιμοι πόροι προστατεύονται από τον μηχανισμό του αμοιβαίου αποκλεισμού (Kaiser, 1981, Rajkumar, 1990). Προκειμένου να εξηγηθεί αυτό το πρόβλημα, ας υποθέσουμε μία ομάδα εργασιών αποτελούμενη από τέσσερις εργασίες {τ 1, τ 2, τ 3, τ 4 } με μειούμενη σειρά προτεραιοτήτων. Οι εργασίες τ 2 και τ 4 μοιράζονται έναν κρίσιμο πόρο, R 1, η πρόσβαση στον οποίο είναι αμοιβαίως αποκλειόμενη. Ας επικεντρώσουμε την προσοχή μας στον χρόνο απόκρισης της εργασίας τ 2. Η σειρά χρονοπρογραμματισμού φαίνεται στο παρακάτω σχήμα. Η χαμηλότερης προτεραιότητας εργασία τ 4 ξεκινά πρώτη την εκτέλεσή της και μετά από κάποιο χρονικό διάστημα εισέρχεται στο κρίσιμο τμήμα της χρησιμοποιώντας τον πόρο R1. όταν η εργασία τ 4 βρίσκεται στο κρίσιμο τμήμα της, η υψηλότερης προτεραιότητας εργασία τ 2 ελευθερώνεται και προεκχωρεί την εργασία τ 4. Κατά την διάρκεια της εκτέλεσης της τ 2 ελευθερώνεται η τ 3, όμως λόγω της χαμηλότερης προτεραιότητάς της σε σχέση με την τ 2 υποχρεούται να περιμένει. Όταν η εργασία τ 2 πρέπει να εισέλθει στο κρίσιμο τμήμα της που συνδέεται με τον κρίσιμο πόρο R 1 τον οποίο 34

Χρονοδρομολόγηση Ι Μοντέλα διεργασιών, Προθεσμίες και Αλγόριθμοι

Χρονοδρομολόγηση Ι Μοντέλα διεργασιών, Προθεσμίες και Αλγόριθμοι Λειτουργικά Συστήματα Πραγματικού Χρόνου 2006-07 Χρονοδρομολόγηση Ι Μοντέλα διεργασιών, Προθεσμίες και Αλγόριθμοι Μ.Στεφανιδάκης Χρονοδρομολόγηση (scheduling) αλγόριθμος επιλογή (init) READY RUNNING (terminate)

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

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

ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΠΡΑΓΜΑΤΙΚΟΥ ΧΡΟΝΟΥ ΤΟ ΠΕΡΙΟΔΙΚΟ ΜΟΝΤΕΛΟ ΣΤΑΜΑΤΙΟΥ Α. ΑΣΗΜΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ Μεταπτυχιακή Εργασία ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΠΡΑΓΜΑΤΙΚΟΥ ΧΡΟΝΟΥ ΤΟ ΠΕΡΙΟΔΙΚΟ ΜΟΝΤΕΛΟ υπό ΣΤΑΜΑΤΙΟΥ Α. ΑΣΗΜΗ Διπλωματούχου Μηχανικού Παραγωγής

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

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

Ένα αφαιρετικό πραγματικού χρόνου μοντέλο λειτουργικού συστήματος για MPSoC Ένα αφαιρετικό πραγματικού χρόνου μοντέλο λειτουργικού συστήματος για MPSoC Αρχιτεκτονική Πλατφόρμας Μπορεί να μοντελοποιηθεί σαν ένα σύνολο από διασυνδεδεμένα κομμάτια: 1. Στοιχεία επεξεργασίας (processing

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

Το μάθημα. Λειτουργικά Συστήματα Πραγματικού Χρόνου Βασικές Έννοιες 6. Ενσωματωμένα Συστήματα (embedded systems) Παραδείγματα

Το μάθημα. Λειτουργικά Συστήματα Πραγματικού Χρόνου Βασικές Έννοιες 6. Ενσωματωμένα Συστήματα (embedded systems) Παραδείγματα Λειτουργικά Συστήματα Πραγματικού Χρόνου 2006-07 Λειτουργικά Συστήματα Πραγματικού Χρόνου Βασικές Έννοιες Το μάθημα ΛΣ Πραγματικού Χρόνου Θεωρητικό υπόβαθρο Αρχές Προγραμματισμού Παραδείγματα ΛΣ Εργασίες

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

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

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

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

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

Ανάλυση Επιδόσεων Συστημάτων Πραγματικού Χρόνου ΣΥΣΤΗΜΑΤΑ ΠΡΑΓΜΑΤΙΚΟΥ ΧΡΟΝΟΥ Μάθημα Επιλογής Ανάλυση Επιδόσεων Συστημάτων Πραγματικού Χρόνου Δρ. Γεώργιος Κεραμίδας e-mail: gkeramidas@teimes.gr 1 Διεργασίες: Κατάσταση Εκτέλεσης (3-σταδίων) Κατάσταση

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

Λειτουργικά Συστήματα Πραγματικού Χρόνου

Λειτουργικά Συστήματα Πραγματικού Χρόνου Λειτουργικά Συστήματα Πραγματικού Χρόνου 2006-07 Λειτουργικά Συστήματα Πραγματικού Χρόνου Βασικές Έννοιες Μ.Στεφανιδάκης Το μάθημα ΛΣ Πραγματικού Χρόνου Θεωρητικό υπόβαθρο Αρχές Προγραμματισμού Παραδείγματα

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

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

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

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

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

Λειτουργικά συστήματα πραγματικού χρόνου Λειτουργικά συστήματα πραγματικού χρόνου Τι είναι λειτουργικό σύστημα πραγματικού χρόνου; Λειτουργικό Σύστημα Πραγματικού Χρόνου (ΛΣΠΧ) είναι ένα λειτουργικό σύστημα που προορίζεται για εφαρμογές πραγματικού

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

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

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

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

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

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

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

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

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 lalis@inf.uth.gr Ο κώδικας δεν εκτελείται «μόνος του» Ο εκτελέσιμος κώδικας αποθηκεύεται σε ένα αρχείο Το αρχείο είναι μια «παθητική» οντότητα

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

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

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

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

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

Λειτουργικά Συστήματα (Λ/Σ) Λειτουργικά Συστήματα (Λ/Σ) Διαχείριση Κεντρικής Μονάδας Επεξεργασίας (CPU) Βασίλης Σακκάς 4/12/2013 1 Xρονοδρομολόγηση Διεργασιών 1 Η χρονοδρομολόγηση σε ένα Λ/Σ αποφασίζει ποια διεργασία θα χρησιμοποιεί

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

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

Κεφάλαιο 3. Διδακτικοί Στόχοι Κεφάλαιο 3 Σε ένα υπολογιστικό σύστημα η Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) εκτελεί τις εντολές που βρίσκονται στην κύρια μνήμη του. Οι εντολές αυτές ανήκουν σε προγράμματα τα οποία, όταν εκτελούνται,

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

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

Ανάλυση επιδόσεων συστημάτων πραγματικού χρόνου Ανάλυση επιδόσεων συστημάτων πραγματικού χρόνου Τι είναι διεργασία; Διεργασία είναι ένα εκτελούμενο πρόγραμμα Η διεργασία είναι ενεργός οντότητα o έχει κατάσταση (τιμές μεταβλητών, τιμές καταχωρητών, δεδομένα

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

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

Μάθημα 7: Αλγόριθμοι Χρονοδρομολόγησης Μάθημα 7: Αλγόριθμοι Χρονοδρομολόγησης 7.1 Ορισμός Στόχοι Αλγόριθμο χρονοδρομολόγησης (scheduling algorithm) ονομάζουμε την μεθοδολογία την οποία χρησιμοποιεί ο κάθε χρονοδρομολογητής (βραχυχρόνιος, μεσοχρόνιος

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

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

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, και Ε/Ε) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

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

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

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, και Ε/Ε) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

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

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

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

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

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

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

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

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

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 lalis@inf.uth.gr Πρόγραμμα και εκτέλεση προγράμματος Ο εκτελέσιμος κώδικας αποθηκεύεται σε ένα αρχείο Το αρχείο είναι μια «παθητική» οντότητα

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

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

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων Μαρία Ι. Ανδρέου ΗΜΥ417, ΗΜΥ 663 Κατανεµηµένα Συστήµατα Χειµερινό Εξάµηνο 2006-2007 Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Πανεπιστήµιο

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

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

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

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

ΚΕΦΑΛΑΙΟ 18. 18 Μηχανική Μάθηση

ΚΕΦΑΛΑΙΟ 18. 18 Μηχανική Μάθηση ΚΕΦΑΛΑΙΟ 18 18 Μηχανική Μάθηση Ένα φυσικό ή τεχνητό σύστηµα επεξεργασίας πληροφορίας συµπεριλαµβανοµένων εκείνων µε δυνατότητες αντίληψης, µάθησης, συλλογισµού, λήψης απόφασης, επικοινωνίας και δράσης

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

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

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

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

«Λειτουργικά Συστήματα Πραγματικού Χρόνου»

«Λειτουργικά Συστήματα Πραγματικού Χρόνου» Όνο/επώνυμο:Ιωάννης Χατζής Αριθμός Μητρώου:265 Θέμα Εργασίας «Λειτουργικά Συστήματα Πραγματικού Χρόνου» επιβλέπων: Μηνάς Δασυγένης http://arch.icte.uowm.gr Λειτουργικά Συστήματα Πραγματικού Χρόνου 1 Εισαγωγή

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

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

Εργαστήριο Λειτουργικών Συστημάτων - Αλγόριθμοι Χρονοπρογραμματισμού. Εργαστηριακή Άσκηση Εργαστηριακή Άσκηση Οι Αλγόριθμοι Χρονοπρογραμματισμού First Come First Serve (FCFS), Shortest Job First (SJF), Round Robin (RR), Priority Weighted (PRI) Επιμέλεια: Βασίλης Τσακανίκας Περιεχόμενα Αλγόριθμοι

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

Εγγυημένη ποιότητα υπηρεσίας

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

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

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

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Λειτουργικά Συστήματα Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Λειτουργικά Συστήματα», 2015-2016 Κεφάλαιο 4: Διεργασίες Πρόγραμμα Πρόγραμμα 1 Πρόγραμμα

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Θοδωρής Ανδρόνικος Τμήμα Πληροφορικής, Ιόνιο Πανεπιστήμιο Θοδωρής Ανδρόνικος Τμήμα Πληροφορικής, Ιόνιο Πανεπιστήμιο Για το μάθημα «Διαχείριση Λειτουργικών Συστημάτων» του ακαδημαϊκού έτους 2015 2016, το προτεινόμενο σύγγραμμα είναι το: Operating Systems: Internals

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr Διπλωματικές

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

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Μια δομή δεδομένων στην πληροφορική, συχνά αναπαριστά οντότητες του φυσικού κόσμου στον υπολογιστή. Για την αναπαράσταση αυτή, δημιουργούμε πρώτα ένα αφηρημένο μοντέλο στο οποίο προσδιορίζονται

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

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

Κατανεμημένα Συστήματα Ι Συναίνεση με σφάλματα διεργασιών Κατανεμημένα Συστήματα Ι 5η Διάλεξη 10 Νοεμβρίου 2016 Παναγιώτα Παναγοπούλου Κατανεμημένα Συστήματα Ι 5η Διάλεξη 1 Συναίνεση με σφάλματα διεργασιών Προηγούμενη διάλεξη

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

Συστήματα πολυμέσων. Εισαγωγή Υλικό συστημάτων πολυμέσων Λογισμικό συστημάτων πολυμέσων Συστήματα πραγματικού χρόνου Χρονοπρογραμματισμός

Συστήματα πολυμέσων. Εισαγωγή Υλικό συστημάτων πολυμέσων Λογισμικό συστημάτων πολυμέσων Συστήματα πραγματικού χρόνου Χρονοπρογραμματισμός Συστήματα πολυμέσων Εισαγωγή Υλικό συστημάτων πολυμέσων Λογισμικό συστημάτων πολυμέσων Συστήματα πραγματικού χρόνου Χρονοπρογραμματισμός Τεχνολογία Πολυμέσων και Πολυμεσικές Επικοινωνίες 03-1 Εισαγωγή

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

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

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

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

Κατανεμημένα συστήματα και Επικοινωνία Πραγματικού Χρόνου

Κατανεμημένα συστήματα και Επικοινωνία Πραγματικού Χρόνου Λειτουργικά Συστήματα Πραγματικού Χρόνου 2006-07 Κατανεμημένα συστήματα και Επικοινωνία Πραγματικού Χρόνου Μ.Στεφανιδάκης Κατανεμημένα συστήματα ελέγχου Α Β διασυνδετικό δίκτυο Γ Δ Ε π.χ. οι επιμέρους

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

3. Προσομοίωση ενός Συστήματος Αναμονής.

3. Προσομοίωση ενός Συστήματος Αναμονής. 3. Προσομοίωση ενός Συστήματος Αναμονής. 3.1. Διατύπωση του Προβλήματος. Τα συστήματα αναμονής (queueing systems), βρίσκονται πίσω από τα περισσότερα μοντέλα μελέτης της απόδοσης υπολογιστικών συστημάτων,

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

Σκελετός Παρουσίασης

Σκελετός Παρουσίασης Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια χρήσης άλλου τύπου, αυτή πρέπει να αναφέρεται ρητώς. Σκελετός

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

ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή

ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή Οι σηµερινές δραστηριότητες των επιχειρήσεων δηµιουργούν την ανάγκη για όσο το δυνατό µεγαλύτερη υποστήριξη από τα πληροφοριακά τους

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

Ασφαλή Συστήματα Μέθοδοι ελέγχου και εξακρίβωσης ορθής λειτουργίας

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

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

Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi

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

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

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία Λειτουργικά Συστήματα Ι Καθηγήτρια Παπαδάκη Αναστασία 2013 1 Ηλεκτρονικός Υπολογιστής αποτελείται: 1. Από Υλικό Hardware (CPUs, RAM, Δίσκοι), & 2. Λογισμικό - Software Και μπορεί να εκτελέσει διάφορες

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

Κεφάλαιο 3 Πολυπλεξία

Κεφάλαιο 3 Πολυπλεξία Κεφάλαιο 3 Πολυπλεξία Μάθημα 3.1: Μάθημα 3.2: Μάθημα 3.3: Πολυπλεξία επιμερισμού συχνότητας χρόνου Συγκριτική αξιολόγηση τεχνικών πολυπλεξίας Στατιστική πολυπλεξία Μετάδοση Δεδομένων Δίκτυα Υπολογιστών

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

ΠΑΡΑΔΕΙΓΜΑ ΣΤΟ BIZAGI ΕΘΝΙΚΗ ΣΧΟΛΗ ΔΗΜΟΣΙΑΣ ΔΙΟΙΚΗΣΗΣ & ΑΥΤΟΔΙΟΙΚΗΣΗΣ

ΠΑΡΑΔΕΙΓΜΑ ΣΤΟ BIZAGI ΕΘΝΙΚΗ ΣΧΟΛΗ ΔΗΜΟΣΙΑΣ ΔΙΟΙΚΗΣΗΣ & ΑΥΤΟΔΙΟΙΚΗΣΗΣ Ανάλυση - Προσομοίωση ΠΑΡΑΔΕΙΓΜΑ ΣΤΟ BIZAGI ΕΘΝΙΚΗ ΣΧΟΛΗ ΔΗΜΟΣΙΑΣ ΔΙΟΙΚΗΣΗΣ & ΑΥΤΟΔΙΟΙΚΗΣΗΣ 1 Προσομοίωση Η προσομοίωση είναι μέθοδος μελέτης ενός συστήματος και εξοικείωσης με τα χαρακτηριστικά του με

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

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

Εισαγωγή στην Πληροφορική. Αντώνης Σταµατάκης Εισαγωγή στην Πληροφορική Α σ κ ή σ ε ι ς σ τ η ν Χ ρ ο ν ο δ ρ ο µ ο λ ό γ η σ η ς Αντώνης Σταµατάκης Αλγόριθµοι Χρονοδροµολόγησης (1/5) Υπάρχουν διάφοροι αλγόριθµοι χρονοδροµολόγησης της κεντρικής µονάδας

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

ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΕΡΓΑΣΙΩΝ & ΑΝΑΘΕΣΗΣ ΑΝΘΡΩΠΙΝΩΝ ΠΟΡΩΝ ΣΕ ΠΟΛΛΑΠΛΑ ΕΡΓΑ ΠΑΡΑΓΩΓΗΣ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΠΟΛΛΑΠΛΕΣ ΟΜΑΔΕΣ

ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΕΡΓΑΣΙΩΝ & ΑΝΑΘΕΣΗΣ ΑΝΘΡΩΠΙΝΩΝ ΠΟΡΩΝ ΣΕ ΠΟΛΛΑΠΛΑ ΕΡΓΑ ΠΑΡΑΓΩΓΗΣ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΠΟΛΛΑΠΛΕΣ ΟΜΑΔΕΣ Σχολή Μηχανικής και Τεχνολογίας Πτυχιακή εργασία ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΕΡΓΑΣΙΩΝ & ΑΝΑΘΕΣΗΣ ΑΝΘΡΩΠΙΝΩΝ ΠΟΡΩΝ ΣΕ ΠΟΛΛΑΠΛΑ ΕΡΓΑ ΠΑΡΑΓΩΓΗΣ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΠΟΛΛΑΠΛΕΣ ΟΜΑΔΕΣ Ηλίας Κωνσταντίνου Λεμεσός,

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

Πρωτόκολλα Ελέγχου προσπέλασης μέσου

Πρωτόκολλα Ελέγχου προσπέλασης μέσου Πρωτόκολλα Ελέγχου προσπέλασης μέσου Πρόβλημα: ταυτόχρονη μετάδοση δύο ή περισσότερων κόμβων στο ίδιο κανάλι (μήκος κύματος). Ένα τέτοιο γεγονός ονομάζεται σύγκρουση. Ένα πρωτόκολλο MAC έχει συνήθως ως

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

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

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

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

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

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

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

Ενότητα 6 (Κεφάλαιο 9) Χρονοδρομολόγηση

Ενότητα 6 (Κεφάλαιο 9) Χρονοδρομολόγηση ΕΠΛ222: Λειτουργικά Συστήματα (μετάφραση στα ελληνικά των διαφανειών του βιβλίου Operating Systems: Internals and Design Principles, 8/E, William Stallings) Ενότητα 6 (Κεφάλαιο 9) Χρονοδρομολόγηση Οι διαφάνειες

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

Συστήματα σε Ολοκληρωμένα Κυκλώματα

Συστήματα σε Ολοκληρωμένα Κυκλώματα Συστήματα σε Ολοκληρωμένα Κυκλώματα Κεφάλαιο 4: Αρχιτεκτονική των Embedded Μικροεπεξεργαστών Διδάσκων: Καθηγητής Οδυσσέας Κουφοπαύλου Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών ΕΙΣΑΓΩΓΗ Παρουσιάζεται

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

Μετρικές & Επιδόσεις. Κεφάλαιο V

Μετρικές & Επιδόσεις. Κεφάλαιο V Μετρικές & Επιδόσεις Κεφάλαιο V Χρόνος εκτέλεσης & επιτάχυνση Σειριακός χρόνος εκτέλεσης: Τ (για τον καλύτερο σειριακό αλγόριθμο) Παράλληλος χρόνος εκτέλεσης: (με επεξεργαστές) Επιτάχυνση (speedup): S

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

K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων

K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων Γιάννης Λιαπέρδος TEI Πελοποννήσου Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής ΤΕ Η έννοια του συνδυαστικού

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

Αρχές Δικτύων Επικοινωνιών. Επικοινωνίες Δεδομένων Μάθημα 4 ο

Αρχές Δικτύων Επικοινωνιών. Επικοινωνίες Δεδομένων Μάθημα 4 ο Αρχές Δικτύων Επικοινωνιών Επικοινωνίες Δεδομένων Μάθημα 4 ο Τα επικοινωνιακά δίκτυα και οι ανάγκες που εξυπηρετούν Για την επικοινωνία δύο συσκευών απαιτείται να υπάρχει μεταξύ τους σύνδεση από σημείο

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

ΠΙΛΟΤΙΚΗ ΕΦΑΡΜΟΓΗ ΑΥΤΟΝΟΜΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΛΟΗΓΗΣΗΣ ΓΙΑ ΤΗΝ ΠΑΡΑΓΩΓΗ ΥΨΗΛΗΣ ΑΝΑΛΥΣΗΣ ΟΡΘΟΦΩΤΟΓΡΑΦΙΩΝ ΓΕΩΡΓΙΚΩΝ ΕΚΤΑΣΕΩΝ

ΠΙΛΟΤΙΚΗ ΕΦΑΡΜΟΓΗ ΑΥΤΟΝΟΜΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΛΟΗΓΗΣΗΣ ΓΙΑ ΤΗΝ ΠΑΡΑΓΩΓΗ ΥΨΗΛΗΣ ΑΝΑΛΥΣΗΣ ΟΡΘΟΦΩΤΟΓΡΑΦΙΩΝ ΓΕΩΡΓΙΚΩΝ ΕΚΤΑΣΕΩΝ Σχολή Μηχανικής & Τεχνολογίας Τμήμα Πολιτικών & Μηχανικών Γεωπληροφορικής Μεταπτυχιακή διατριβή ΠΙΛΟΤΙΚΗ ΕΦΑΡΜΟΓΗ ΑΥΤΟΝΟΜΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΛΟΗΓΗΣΗΣ ΓΙΑ ΤΗΝ ΠΑΡΑΓΩΓΗ ΥΨΗΛΗΣ ΑΝΑΛΥΣΗΣ ΟΡΘΟΦΩΤΟΓΡΑΦΙΩΝ ΓΕΩΡΓΙΚΩΝ

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

ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων Εισαγωγή

ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων Εισαγωγή ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων 1.1. Εισαγωγή Γενικότερα δεν υπάρχει κάποια ταξινόμηση των πιθανών δικτύων κάτω από την οποία να ταιριάζουν όλα τα δίκτυα. Παρόλα αυτά η ταξινόμηση τους είθισται να γίνεται

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

Case 08: Επιλογή Διαφημιστικών Μέσων Ι ΣΕΝΑΡΙΟ (1)

Case 08: Επιλογή Διαφημιστικών Μέσων Ι ΣΕΝΑΡΙΟ (1) Case 08: Επιλογή Διαφημιστικών Μέσων Ι ΣΕΝΑΡΙΟ (1) Το πρόβλημα της επιλογής των μέσων διαφήμισης (??) το αντιμετωπίζουν τόσο οι επιχειρήσεις όσο και οι διαφημιστικές εταιρείες στην προσπάθειά τους ν' αναπτύξουν

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

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

Λειτουργικά Συστήματα Λειτουργικά Συστήματα Κλειώ Σγουροπούλου Λειτουργικό Σύστημα Ένα πρόγραμμα που διαχειρίζεται τους πόρους ενός υπολογιστικού συστήματος και ενεργεί ως μεσάζων μεταξύ του χρήστη και των πόρων αυτών user

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

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Πτυχιακή εργασία

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Πτυχιακή εργασία ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Πτυχιακή εργασία ΕΠΙΛΥΣΗ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΜΕΤΑΔΟΣΗΣ ΣΕ ΑΣΥΡΜΑΤΑ ΔΙΚΤΥΑ ΜΕ ΣΥΣΚΕΥΕΣ ΔΙΑΚΡΙΤΩΝ ΤΙΜΩΝ ΙΣΧΥΟΣ ΜΕ ΤΗ ΧΡΗΣΗ

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

Φυσικά και λογικά ρολόγια. Κατανεμημένα Συστήματα 1

Φυσικά και λογικά ρολόγια. Κατανεμημένα Συστήματα 1 Φυσικά και λογικά ρολόγια Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Τοπικά γεγονότα/συμβάντα Ορίζουμε ως γεγονός e i.x την x-οστή ενέργεια που έλαβε χώρα τοπικά στην διεργασία P i Το επίπεδο αφαίρεσης

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

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

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

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

Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES)

Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES) Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES) Εισαγωγή H κεντρική μονάδα επεξεργασίας (ΚΜΕ) και η κύρια μνήμη αποτελούν τα βασικά δομικά στοιχεία ενός υπολογιστικού συστήματος. Η πρώτη εκτελεί εντολές χειρισμού δεδομένων

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

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

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

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

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

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

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

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

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

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

Pascal, απλοί τύποι, τελεστές και εκφράσεις

Pascal, απλοί τύποι, τελεστές και εκφράσεις Pascal, απλοί τύποι, τελεστές και εκφράσεις 15 Νοεμβρίου 2011 1 Γενικά Στην standard Pascal ορίζονται τέσσερις βασικοί τύποι μεταβλητών: integer: Παριστάνει ακέραιους αριθμούς από το -32768 μέχρι και το

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

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

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

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

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

Εισαγωγή στην Πληροφορική Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόµων Τοπογράφων Μηχανικών Εισαγωγή στην Πληροφορική Αστροφυσικός Αναπλ. Καθηγητής ΕΜΠ romylos@survey.ntua.gr Λειτουργικά συστήµατα, διεργασίες και δροµολόγηση Σύνδεση

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

Υλοποίηση τεχνικών για την αποφυγή συμφόρησης σε τοπικά ασύρματα δίκτυα αισθητήρων

Υλοποίηση τεχνικών για την αποφυγή συμφόρησης σε τοπικά ασύρματα δίκτυα αισθητήρων Πανεπιστήμιο Πατρών Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Τομέας Ηλεκτρονικής και Υπολογιστών Εργαστήριο Ηλεκτρονικών Εφαρμογών Υλοποίηση τεχνικών για την αποφυγή συμφόρησης σε τοπικά

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

Rule Based systems Συστήματα Βασισμένα σε κανόνες

Rule Based systems Συστήματα Βασισμένα σε κανόνες Rule Based systems Συστήματα Βασισμένα σε κανόνες Τμήματα ενός έμπειρου συστήματος βασισμένου σε κανόνες Βάση Γνώσης (Κανόνες) Μηχανισμός Εξαγωγής Συμπερασμάτων Χώρος Εργασίας (Γεγονότα) Μηχανισμός Επεξήγησης

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

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

ροµολόγηση Επεξεργαστή ροµολόγηση Επεξεργαστή Κεφάλαιο 9 Στόχοι της ροµολόγησης Χρόνος Απόκρισης Throughput Αποδοτική χρήση επεξεργαστή Τύποι ροµολόγησης Μακροπρόθεσµη δροµολόγηση Μεσοπρόθεσµη δροµολόγηση Βραχυπρόθεσµη δροµολόγηση

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

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της; 1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες (μορφές) της; Η δομή επανάληψης χρησιμοποιείται όταν μια σειρά εντολών πρέπει να εκτελεστεί σε ένα σύνολο περιπτώσεων, που έχουν κάτι

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

Αντισταθμιστική ανάλυση

Αντισταθμιστική ανάλυση Αντισταθμιστική ανάλυση Θεωρήστε έναν αλγόριθμο Α που χρησιμοποιεί μια δομή δεδομένων Δ : Κατά τη διάρκεια εκτέλεσης του Α η Δ πραγματοποιεί μία ακολουθία από πράξεις. Παράδειγμα: Θυμηθείτε το πρόβλημα

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

Συστήματα σε Ολοκληρωμένα Κυκλώματα

Συστήματα σε Ολοκληρωμένα Κυκλώματα Συστήματα σε Ολοκληρωμένα Κυκλώματα Κεφάλαιο 6: MPSoC Απόδοση, Μοντελοποίηση και Ανάλυση Διδάσκων: Καθηγητής Οδυσσέας Κουφοπαύλου Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών ΕΙΣΑΓΩΓΗ Οι απαιτήσεις

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Τμήμα Πληροφορικής

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Τμήμα Πληροφορικής Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Τμήμα Πληροφορικής Άσκηση : Λυμένες Ασκήσεις Έστω ένα σύστημα μνήμης, στο οποίο έχουμε προσθέσει μια κρυφή μνήμη θυμάτων 6 θέσεων

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

Σκοπός Μαθήματος. Λειτουργικά Συστήματα Η/Υ. Γενικές Πληροφορίες. Στόχοι Μαθήματος ΚΕΦΑΛΑΙΟ 1 - ΕΙΣΑΓΩΓΗ. Θεωρία: Εργαστήριο: Κεφάλαιο 1 «Εισαγωγή»

Σκοπός Μαθήματος. Λειτουργικά Συστήματα Η/Υ. Γενικές Πληροφορίες. Στόχοι Μαθήματος ΚΕΦΑΛΑΙΟ 1 - ΕΙΣΑΓΩΓΗ. Θεωρία: Εργαστήριο: Κεφάλαιο 1 «Εισαγωγή» Σκοπός Μαθήματος Λειτουργικά Συστήματα Η/Υ Θεωρία: Βασικές έννοιες των λειτουργικών συστημάτων Βασικές αρχές σχεδιασμού τους Κεφάλαιο 1 «Εισαγωγή» Εργαστήριο: Πρακτική εξάσκηση στη χρήση των λειτουργικών

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

ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ

ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ ΜΕΡΛΙΑΟΥΝΤΑΣ ΣΤΕΦΑΝΟΣ, ΠΕ19 ΚΕΦΑΛΑΙΟ 3 Αλγόριθμοι 3. Αλγόριθμοι 2 3. Αλγόριθμοι 3.1 Η έννοια του αλγορίθμου 3.2 Χαρακτηριστικά αλγορίθμου 3.3 Ανάλυση αλγορίθμων

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

Δίκτυα Υπολογιστών Εργαστήρια

Δίκτυα Υπολογιστών Εργαστήρια Δίκτυα Υπολογιστών Εργαστήρια Άσκηση 6 η Πολλαπλή Πρόσβαση με Ακρόαση Φέροντος (CSMA-CD) Πανεπιστήμιο Ιωαννίνων Τμήμα Μηχανικών Η/Υ και Πληροφορικής Διδάσκων: Παπαπέτρου Ευάγγελος 2 1 Εισαγωγή Σκοπός της

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

Προχωρημένα Θέματα Προγραμματισμού Δικτύων

Προχωρημένα Θέματα Προγραμματισμού Δικτύων Ελληνική ημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Προχωρημένα Θέματα Προγραμματισμού Δικτύων Ενότητα 5: ΠΠΔ για Guaranteed Service συνδέσεις Φώτης Βαρζιώτης 1 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ

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

ΤΟ ΜΟΝΤΕΛΟ Οι Υποθέσεις Η Απλή Περίπτωση για λi = μi 25 = Η Γενική Περίπτωση για λi μi..35

ΤΟ ΜΟΝΤΕΛΟ Οι Υποθέσεις Η Απλή Περίπτωση για λi = μi 25 = Η Γενική Περίπτωση για λi μi..35 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΤΟΜΕΑΣ ΣΤΑΤΙΣΤΙΚΗΣ ΚΑΙ ΕΠΙΧΕΙΡΗΣΙΑΚΗΣ ΕΡΕΥΝΑΣ ΑΝΑΛΥΣΗ ΤΩΝ ΣΥΣΧΕΤΙΣΕΩΝ ΧΡΕΟΚΟΠΙΑΣ ΚΑΙ ΤΩΝ

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

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

ΤΕΙ Κρήτης, Παράρτηµα Χανίων ΠΣΕ, Τµήµα Τηλεπικοινωνιών & ικτύων Η/Υ Εργαστήριο ιαδίκτυα & Ενδοδίκτυα Η/Υ ( ηµιουργία συστήµατος µε ροint-tο-ροint σύνδεση) ρ Θεοδώρου Παύλος Χανιά 2003 Περιεχόµενα 1 ΕΙΣΑΓΩΓΗ...2 2 ΤΟ ΚΑΝΑΛΙ PΟINT-TΟ-PΟINT...2

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

Ερώτηση 1 η μεταγωγής κυκλώματος? : Ποια είναι τα κύρια χαρακτηριστικά της. Ερώτηση 2 η : Ποια είναι τα κύρια χαρακτηριστικά της μεταγωγής μηνύματος?

Ερώτηση 1 η μεταγωγής κυκλώματος? : Ποια είναι τα κύρια χαρακτηριστικά της. Ερώτηση 2 η : Ποια είναι τα κύρια χαρακτηριστικά της μεταγωγής μηνύματος? Μετάδοση Δεδομένων Δίκτυα Υπολογιστών 68 Ερώτηση 1 η μεταγωγής κυκλώματος? : Ποια είναι τα κύρια χαρακτηριστικά της Απάντηση : Στα δίκτυα μεταγωγής κυκλώματος (circuit switching networks), η μετάδοση των

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

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

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

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

ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Εισαγωγή (2/2) Επισκόπηση Γνώσεων Πιθανοτήτων (1/2)

ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Εισαγωγή (2/2) Επισκόπηση Γνώσεων Πιθανοτήτων (1/2) ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Εισαγωγή (2/2) Επισκόπηση Γνώσεων Πιθανοτήτων (1/2) Βασίλης Μάγκλαρης maglaris@netmode.ntua.gr 8/3/2017 ΠΑΡΑΜΕΤΡΟΙ (1/4) (Επανάληψη) Ένταση φορτίου (traffic intensity)

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

ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems

ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Εισαγωγή (1/2) Βασίλης Μάγκλαρης maglaris@netmode.ntua.gr 1/3/2017 ΠΕΡΙΕΧΟΜΕΝΑ (1/3) http://www.netmode.ntua.gr/main/index.php?option=com_content&task=view& id=130&itemid=48

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

Βασικές Δομές μοντέλων Petri Nets. C.A. Petri

Βασικές Δομές μοντέλων Petri Nets. C.A. Petri Βασικές Δομές μοντέλων Petri Nets C.A. Petri - 1962 Γιατί χρήση Petri model? Φυσικό Πρόβλημα! Μοντέλο Petri abstract Software Simulation ανάλυση σε μοντέλο Petri Net Βασικές δομές μοντέλων Petri Διαδοχική

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

Κεφάλαιο 6: Προσομοίωση ενός συστήματος αναμονής

Κεφάλαιο 6: Προσομοίωση ενός συστήματος αναμονής Κεφάλαιο 6: Προσομοίωση ενός συστήματος αναμονής Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Γιάννης Γαροφαλάκης Αν. Καθηγητής ιατύπωση του προβλήματος (1) Τα συστήματα αναμονής (queueing systems), βρίσκονται

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

Ποιότητα μετάδοσης πολυμεσικού περιεχομένου στο διαδίκτυο

Ποιότητα μετάδοσης πολυμεσικού περιεχομένου στο διαδίκτυο ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΓΡΑΦΙΚΕΣ ΤΕΧΝΕΣ ΠΟΛΥΜΕΣΑ ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΓΤΠ 61 Πληροφορική Πολυμέσα Ποιότητα μετάδοσης πολυμεσικού περιεχομένου στο διαδίκτυο Παρουσίαση 13-12-2009 Δροσοπούλου Χρυσάνθη

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