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

Σχετικά έγγραφα
Μάθημα 7 ο. Αλγόριθμοι Χρονοδρομολόγησης

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

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

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

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

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

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

Χρονοπρογραµµατισµός ΚΜΕ (CPU Scheduling)

Εργαστηριακή Άσκηση. Τμήμα Μηχανικών Πληροφορικής ΤΕ

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

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

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

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

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

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

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

ENOTHTA 5 XPONO POMOΛOΓHΣH

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

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

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

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

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

Τεχνολογία Υπολογιστικών Συστηµάτων & Λειτουργικά Συστήµατα Κεφάλαιο 8

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

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

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

ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Εισαγωγή

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Χρονοπρογραμματισμός (ή Χρονοδρομολόγηση ή Δρομολόγηση)

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

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

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

Χρονοδρομολογητής Κυκλικής Επαναφοράς

1. Εισαγωγή. Λειτουργικά Συστήματα Η/Υ. Διεργασίες. Ορισμός ΚΕΦΑΛΑΙΟ 3 - ΔΙΕΡΓΑΣΙΕΣ. Κεφάλαιο 3 «Διεργασίες»

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

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

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

Εισαγωγή στους Η/Υ. Ενότητα 4: Λειτουργικά Συστήματα Ι. Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών

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

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

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

Σελίδα Φορτώθηκε Προσπελάστηκε Συχνότητα R Μ (dirty)

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

Περιγραφή και Έλεγχος ιεργασιών

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

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

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

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

ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Παράμετροι Συστημάτων Αναμονής Τύπος Little

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

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

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

Χρονοπρογραµµατισµός ιεργασιών (Process Scheduling)

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

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

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

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

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

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

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

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

Εισαγωγή στους Υπολογιστές

Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 1: Εισαγωγή. Γαροφαλάκης Ιωάννης Πολυτεχνική Σχολή Τμήμα Μηχ/κών Η/Υ & Πληροφορικής

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

ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Παράμετροι Συστημάτων Αναμονής Τύπος Little. Β. Μάγκλαρης, Σ. Παπαβασιλείου

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

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

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

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

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

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

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

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

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

Ενότητα 2 (Κεφάλαιο 3) Περιγραφή και Έλεγχος Διεργασιών. Περιεχόμενα. Ανάγκη ύπαρξης διεργασιών 1

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

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

Αρχιτεκτονική υπολογιστών

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Συστήματα Αυτομάτου Ελέγχου. Ενότητα Α: Γραμμικά Συστήματα

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

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Αρχιτεκτονική-ΙI. Ενότητα 5 : Αρχιτεκτονική ΙΑ-32

ΒΟΗΘΗΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ

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

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκό Έτος Κανονική Εξέταση Λύσεις

2. Σκοποί και Λειτουργίες των ΛΣ. Λειτουργικά Συστήματα Η/Υ. Περίληψη. Ι. Προστασία Υλικού ΚΕΦΑΛΑΙΟ 2 - ΕΞΕΛΙΞΗ ΚΑΙ ΣΚΟΠΟΙ ΛΣ

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

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

Σηματοφόροι (Σηματοφορείς) Ταυτόχρονος Προγραμματισμός 1

Διεργασίες και Νήματα (2/2)

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

Λειτουργικά. Συστήματα Ι. Διεργασίες-Νήματα. Φ ρ ο ν τ ι σ τ ή ρ ι ο. Αριστείδης Ηλίας. Εργαστήριο Ηλεκτρονικών Υπολογιστών

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

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

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

Σηματοφόροι (Σηματοφορείς) Ταυτόχρονος Προγραμματισμός 1

Απλα Συστήματα Αναμονής Υπενθύμιση

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

Αρχιτεκτονική υπολογιστών

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

Transcript:

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

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

Μοντέλο Διαμοιρασμού Χρόνου Πολλαπλές διεργασίες (P0,P1,P2,...) Οι διεργασίες έχουν την (ψευδ-)αίσθηση ότι χρησιμοποιούν αποκλειστικά τον επεξεργαστή Ο χρονοδρομολογητής (ΧΔ) αναλαμβάνει: Την επιλογή της διεργασίας που θα χρησιμοποιήσει τον επεξεργαστή Την αλλαγή της διεργασίας που εκτελείται στον επεξεργαστή (context switch)

Διαμοιρασμός χρόνου με διακοπές χρονιστή S P1 P2 S P3 S Επιλογή επόμενης διεργασίας (Αλγόριθμος χρονοδρομολόγησης) Αλλαγή περιβάλλοντος λειτουργίας (Context Switch) P1

Εναλλαγή Περιβάλλοντος Λειτουργίας (1) Context Switch Η KME αλλάζει από διεργασία σε διεργασία: Αποθήκευση κατάστασης παλιάς (στο PCB της) Επαναφορά νέας διεργασίας (από το PCB της) Πόσο διαρκεί; Είναι χαμένος χρόνος για τη CPU Πόσο συχνά; το σύστημα πρέπει να είναι αποκρίσιμο

Εναλλαγή Περιβάλλοντος Λειτουργίας (2) Διακοπή ή κλήση συστήματος Αποθήκευση κατάστασης στο PCB P0 Επαναφορά κατάστασης από PCB P1 Διακοπή ή κλήση συστήματος Τι ποσοστό του χρόνου χάνεται στο context switch; Αποθήκευση κατάστασης στο PCB P1 Επαναφορά κατάστασης από PCB P0 interrupt User Kernel

Λειτουργίες Διεργασιών Χρήση επεξεργαστή για Υπολογισμούς (computation) Αιτήσεις Ε/Ε μέσω του ΛΣ Οι χρόνοι απόκρισης των μονάδων Ε/Ε είναι τάξεις μεγέθους μεγαλύτεροι από τους αντίστοιχους χρόνους του επεξεργαστή και της μνήμης. Πρόσβαση στην L1: 1-2 κύκλοι Πρόσβαση στη μνήμη: 100-200 κύκλοι Πρόσβαση στο δίσκο: > 10.000.000 κύκλοι Στα σύγχρονα συστήματα οι διαδικασίες Ε/Ε μπορούν να διεκπεραιωθούν χωρίς να απασχολείται o επεξεργαστής. (πχ μέσω μηχανών DMA)

Συμπεριφορά Διεργασιών Ξεσπάσματα ΚΜΕ Ξεσπάσματα Ε/Ε Χρήση Αναμονή για Ε/Ε

Ιστόγραμμα ξεσπασπασμάτων ΚΜΕ

Καταστάσεις Διεργασίας Δημιουργία Εκπνοή κβάντου Υπό Εκτέλεση (Running) Έτοιμη (Ready) Επιλογή από Χρονοδρομολογητή Ολοκλήρωση Αίτηση Σε Αναμονή (Waiting) Έξοδος

Κύκλος Ζωής μιας Διεργασίας create() / fork() CPU Ουρά Έτοιμων Διεργασιών (Ready List) Εκπνοή κβάντου χρόνου I/O read() / write() Αίτηση I/Ο sleep() / wait() Διακοπή / Αναμονή για συμβάν exit()

Χρονοδρομολογητής Ρόλος Επιλογή διεργασίας (πολιτική) Αλλαγή περιβάλλοντος λειτουργίας dispatching (μηχανισμός) Στόχος: Ανάθεση της (των) ΚΜΕ στις διεργασίες ώστε: Να μην χάνεται χρόνος στην ΚΜΕ εν αναμονή ολοκλήρωσης λειτουργιών Ε/Ε Διαμοιρασμός της ΚΜΕ στις διεργασίες, ώστε η απόκριση του συστήματος να είναι η επιθυμητή

Πότε εκτελείται ο χρονοδρομολογητής; Χωρίς διακοπές (non-preemptive) ή συνεργατικός (cooperative) Όταν μια διεργασία μεταβεί σε κατάσταση αναμονής Όταν μια διεργασία τερματίσει Διακοπτός (preemptive) Όταν μια διεργασία μεταβεί σε κατάσταση εκτέλεσης (πχ ο ΧΔ ελέγχει αν η νέα διεργασία πρέπει να αντικαταστήσει την τρέχουσα) Όταν πραγματοποιηθεί μια διακοπή χρονιστή

Αλλαγή διεργασίας (Dispatcher) Δίνει τη ΚΜΕ σε άλλη διεργασία: Εναλλαγή περιβάλλοντος λειτουργίας (πχ αποκατάσταση τιμών καταχωρητών) Εναλλαγή σε τρόπο λειτουργίας χρήστη (user-mode) Μετάβαση στη σωστή θέση του προγράμματος (program counter register) Καθυστέρηση αλλαγής (dispatch latency)

Κριτήρια Αξιολόγησης Χρησιμοποίηση Επεξεργαστή (cpu utilization) ποσοστό χρόνου που είναι απασχολημένη η ΚΜΕ Ρυθμός Διεκπεραίωσης (throughput) διεργασίες που ολοκληρώνονται στη μονάδα χρόνου Χρόνος Ολοκλήρωσης (turnaround time) χρόνος ολοκλήρωσης διεργασίας Χρόνος Αναμονής (waiting time) χρόνος που η διεργασία βρίσκεται σε κατάσταση αναμονής Χρόνος Απόκρισης (response time) χρόνος από την υποβολή ενός αιτήματος μέχρι να παραχθεί η πρώτη απόκριση

Επιλογή Κριτηρίων Χρονοδρομολόγησης Εξαρτάται από τις απαιτήσεις του συστήματος Γενικά: Μεγιστοποίηση: Χρησιμοποίησης ΚΜΕ Ρυθμού διεκπεραίωσης Ελαχιστοποίηση Χρόνου Ολοκλήρωσης Αναμονής Απόκρισης Ελάχιστες, μέγιστες, μέσες τιμές, variance Απαιτούνται συμβιβασμοί!

Παράδειγματα Κριτήριων ΧΔ Οικιακή χρήση (Desktop) Ο χρήστης θέλει να έχει την αίσθηση ότι οι εφαρμογές του τρέχουν ταυτόχρονα Το σύστημα θα πρέπει να είναι αποκρίσιμο στις πράξεις του χρήστη (π.χ. πληκτρολόγηση) Γενικά απαιτείται χαμηλός χρόνος απόκρισης Kόμβος Υπολογισμών (Worker Node) Μεγιστοποίηση ρυθμού διεκπεραίωσης

Με βάση τη σειρά άφιξης (First Come First Served FCFS) Χρόνοι Ξεσπάσματος KME P1 P2 P3 24 3 3 Σειρά Άφιξης: P1, P2, P3 P1 0 P2 24 Μέσος Χρόνος Αναμονής: (0+24+27)/3 = 17 Φαινόμενο Φάλαγγας (convoy): όταν μικρές διεργασίες είναι πίσω από μεγάλες P3 27 30

Με βάση τη σειρά άφιξης (First Come First Served FCFS) Σειρά Άφιξης: Χρόνοι Ξεσπάσματος KME P1 P2 P3 P2 0 P3 3 P2, P3, P1 24 3 3 P1 6 30 Μέσος Χρόνος Αναμονής: (6+0+3)/3 = 3 Καλύτερη από προηγούμενη περίπτωση λόγω σειράς άφιξης

Με βάση τη μικρότερη Διάρκεια Εκτέλεσης (Shortest Job First - SJF) Επιλέγεται η διεργασία με το μικρότερο χρόνο ξεσπάσματος ΚΜΕ. Βέλτιστος: επιτυγχάνει ελάχιστο μέσο χρόνο αναμονής Ωστόσο: Το μήκος του επόμενου ξεσπάσματος ΚΜΕ δεν είναι (γενικά) γνωστό Προσέγγιση με βάση προηγούμενες τιμές

Παράδειγμα SJF P4 0 Διεργασία Χρόνος Ξεσπάσματος P1 6 P2 8 P3 7 P4 3 P1 3 P3 9 P2 16 Χρονοδρομολόγηση: P4, P1, P3, P2 Μέσος χρόνος αναμονής: (0 + 3 + 9 + 16) / 4 = 7 24

SJF: Προσέγγιση διάρκειας επόμενου ξεσπάσματος Γενικά δεν είναι γνωστή η διάρκεια του επόμενου ξεσπάσματος κάθε διεργασίας Προσέγγιση: Εκθετικός μέσος όρος: τn+1 = α tn + (1-α)τn τ: πρόβλεψη t: πραγματική τιμή α στο [0,1] : σχετικό βάρος t και τ α=0: Οι μετρήσεις πραγματικών τιμών καθυστέρησης δεν επηρεάζουν α=1: Μόνο η τελευταία πραγματική καθυστέρηση μετράει

Παράδειγμα Προσέγγισης διάρκειας επόμενου ξεσπάσματος a = 1/2 τ0 = 10

SJF: διακοπτός/μη-διακοπτός Μη-διακοπτός Όταν παραχωρηθεί η ΚΜΕ σε μία διεργασία, η διεργασία αυτή θα πρέπει να ολοκληρώσει τη χρήση της ΚΜΕ, έως ότου παρθεί νέα απόφαση χρονοδρομολόγησης Διακοπτός Αν εισέλθει στην ουρά έτοιμων διεργασιών μια νέα διεργασία με μικρότερο αναμενόμενο χρόνο εκτέλεσης από τον εναπομείναντα της τρέχουσας, η τρέχουσα θα αντικατασταθεί (Shortest Remaining Time First - SRTF)

SJF Παράδειγμα (χωρίς διακοπές) Διεργασία Άφιξη Διάρκεια P1 0 7 P2 2 4 P3 4 1 P4 5 4 P1 0 2 4 5 P3 7 8 P2 12 P4 16 Μέσος χρόνος αναμονής: (0 + (8-2) + (7-4) + (12-5) ) / 4 = 4

SJF Παράδειγμα (με διακοπές) t 0-2 2-4 4-5 5-7 7-11 11-16 Διεργασία Άφιξη Διάρκεια P1 0 7 P2 2 4 P3 4 1 P4 5 4 Γεγονός Διεργασίες Άφιξη P1 (P1,7) Άφιξη P2 (P1,5) (P2,4) Άφιξη P3 (P1,5) (P2,2) (P3,1) Άφιξη P4 / Ολοκλήρωση P3 (P1,5) (P2,2) (P4,4) Ολοκλήρωση P2 (P1,5) (P4,4) Ολοκλήρωση P4 (P1,5) Επιλογή P1 P2 P3 P2 P4 P1 Μέσος Χρόνος αναμονής: ((11-2) + (5-4) + (4-4) + (7-5))/4 = 3

Χρονοδρομολόγηση με Προτεραιότητες (priority scheduling) Σε κάθε διεργασία αντιστοιχίζεται μια προτεραίοτητα Σε κάθε απόφαση ΧΔ, επιλέγεται η διεργασία με την υψηλότερη προτεραιότητα Διακοπτή ΧΔ Μη-διακοπτή ΧΔ SJF Ειδική περίπτωση ΧΔ με προτεραιότητες Πρόβλημα Λιμοκτονίας Διεργασίες με χαμηλή προτεραιότητα μπορεί να μην εκτελσθούν ποτέ Λύση μέσω Γήρανσης Με την πάροδο του χρόνου μεγαλώνει η προτεραιότητα των διεργασιών που δεν εκτελούνται

Χρονοδρομολόγηση εκ Περιτροπής (Round Robin - RR) Ο ΧΔ διατηρεί μια ουρά (FIFO) για τις διεργασίες Διεργασίες λαμβάνουν ένα μικρό κλάσμα του χρόνου της ΚΜΕ (κβάντο χρόνου ΚΧ time quantum) Με το πέρας του ΚΧ η διεργασία διακόπτεται και τοποθετείται στο τέλος της ουράς Επιλέγεται η διεργασία που βρίσκεται στην αρχή της ουράς

RR: Παράδειγμα Διεργασία P1 P2 P3 P4 Ξέσπασμα KME 53 17 68 24 Γενικά, μεγαλύτερος χρόνος ολοκλήρωσης από τον SJF, αλλά καλύτερος χρόνος απόκρισης

RR Κβάντο Χρόνου Το Κβάντο χρόνου (ΚΧ) γενικά κυμαίνεται από 10 έως 100 ms Αν υπάρχουν N διεργασίες στην ουρά και q το ΚΧ, καμία διεργασία δεν περιμένει παραπάνω από (N1)q χρόνο. Κβάντο Χρόνου Μεγάλο : FCFS Μικρό: Το σύστημα αναλώνεται σε context switches

RR ΚΧ και χρόνος εναλλαγής περιβάλλοντος λειτουργίας Το ΚΧ πρέπει να είναι (σημαντικά) μεγαλύτερο από τον χρόνο εναλλαγής λειτουργίας Γενικά: Χρόνος εναλλαγής < 10μs ΚΧ: 10 έως 100 ms

RR ΚΧ και χρόνος ολοκλήρωσης Ο χρόνος ολοκλήρωσης εξαρτάται από το ΚΧ Δεν είναι απαραίτητο ότι για μεγάλο ΚΧ, αυξάνεται ο χρόνος ολοκλήρωσης

Χρονοδρομολόγηση Πολυεπίπεδων Ουρών Διαφορετικές κλάσεις διεργασιών (ως προς τη χρονοδρομολόγηση): Διεργασίες συστήματος (υψηλή προτεραιότητα) Διεργασίες μαζικής επεξεργασίας (batch) Αλληλεπιδραστικές διεργασίες (interactive) (σημαντικές για την εμπειρία του χρήστη) Διεργασίες χαμηλής προτεραιότητας (μόνο όταν το σύστημα είναι άδειο πχ SETI@home)

Χρονοδρομολόγηση Πολυεπίπεδων Ουρών Η ουρά με τις έτοιμες διεργασίες χωρίζεται σε πολλαπλές ουρές, ανάλογα με την κλάση Κάθε ουρά έχει τον δικό της αλγόριθμο ΧΔ Παράδειγμα Ουρά προσκηνίου (interactive), RR Ουρά παρασκηνίου (batch), FCFS ΧΔ μεταξύ των ουρών Προτεραιότητες (πιθανότητα λιμοκτονίας) Κάθε ουρά λαμβάνει ποσοστό χρήσης της ΚΜΕ

Χρονοδρομολόγηση Πολυεπίπεδων Ουρών

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

Πολυεπίπεδες Ουρές με Ανατροφοδότηση: Παράδειγμα 3 Ουρές: Q0: RR με ΚΧ=8ms Q1: RR με ΚΧ=16ms Q2: FCFS Χρονοδρομολόγηση: Νέα διεργασία εισέρχεται στην Q0 Αν δεν ολοκληρωθεί σε 8ms μεταφέρεται στην Q1 Αν δεν ολοκληρωθεί σε 16ms (8+16=24) μεταφέρεται στην Q2

Πολυεπίπεδες Ουρές με Ανατροφοδότηση: Παράδειγμα

Συστήματα Πολλαπλών Επεξεργαστών / Νημάτων Επεξεργαστές Πολλαπλοί πυρήνες Φυσικές KΜΕ Μοιράζονται μέρος ιεραρχίας μνήμης Πολλαπλά νήματα σε έναν πυρήνα Λογικές ΚΜΕ Μοιράζονται μονάδες (πχ ALU) Συστήματα πολλαπλών επεξεργαστών μοιραζόμενης μνήμης Ίδια ταχύτητα πρόσβασης στη μνήμη για κάθε ΚΜΕ Διαφορετική ταχύτητα πρόσβασης στη μνήμη για κάθε ΚΜΕ (NUMA)

Χρονοδρομολόγηση σε Συστήματα Πολλαπλών Επεξεργαστών Ασύμμετρη Ο ΧΔ τρέχει σε έναν επεξεργαστή Οι υπόλοιποι χρησιμοποιούνται για εκτέλεση κώδικα χρήστη Συμμετρική O ΧΔ τρέχει σε όλους τους επεξεργαστές Κάθε ΧΔ επιλέγει διεργασία προς εκτέλεση στον αντίστοιχο επεξεργαστή Απαιτείται συγχρονισμός

Ζητήματα σε ΧΔ σε Συστήματα Πολλαπλών Επεξεργαστών Προσκόλληση σε Επεξεργαστή (processor affinity) Επίδοση κρυφής μνήμης Εξισορρόπηση Φόρτου (load balancing) Απαιτεί μετακίνηση διεργασιών Μετακίνηση ώθησης (push migration) Μετακίνηση έλξης (pull migration) Γνώση φυσικής τοπολογίας συστήματος Πχ NUMA, SMT

Χρονοδρομολόγηση Νημάτων Νήματα χώρου πυρήνα Χρονοδρομολογούνται από ΛΣ Υψηλό (σχετικά) κόστος διαχείρισης Απλούστερη Υλοποίηση Νήματα χώρου χρήστη Χρονοδρομολόγηση προσαρμοσμένη στην εφαρμογή Χαμηλό (σχετικά) κόστος διαχείρισης Διακοπτή / συνεργατική χρονοδρομολόγηση Ζητήματα: Τι γίνεται με κλήσεις συστήματος που προκαλούν αναστολή εκτέλεσης (πχ read()) Εκμετάλλευση πολλαπλών επεξεργαστών

Συστήματα Πραγματικού Χρόνου (Real-Time systems) Αυστηρά (hard real-time systems) Πρέπει να είναι σε θέση να ολοκληρώσουν μια διεργασία σε αυστηρά χρονικά περιθώρια Χρησιμοποιούν δέσμευση πόρων Δύσκολο να υλοποιηθούν Συστήματα ειδικού σκοπού (Ιατρικές εφαρμογές) Χαλαρά (soft real-time systems) Δίνουν προτεραιότητα στις κρίσιμες (real-time) διεργασίες, έναντι των υπολοίπων Πχ εφαρμογές πολυμέσων σε συστήματα γενικού σκοπού

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα» του ΕΜΠ έχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.