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

Σχετικά έγγραφα
ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

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

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

ENOTHTA 5 XPONO POMOΛOΓHΣH

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εξετάσεις Προόδου 8/1/2014 Τεχνικός Εφαρμογών Πληροφορικής (Πολυμέσα/ Web designer - developper/video games)

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

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

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

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

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

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

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

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

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΑ ΣΥΣΤΗΜΑΤΑ

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

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

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

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

Ι.Ε.Κ. Χαϊδαρίου ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ. Σημειώσεις Θεωρίας

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

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

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

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

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

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

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

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

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

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

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

Λειτουργικά Συστήματα Ι. Κεφάλαιο 1 Βασικές Έννοιες Λειτουργικών Συστημάτων

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

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

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

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

i Throughput: Ο ρυθμός ολοκλήρωσης έργου σε συγκεκριμένο χρόνο

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

Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά

ΕΙΣΑΓΩΓΗ. Παρέχει µια διεπαφή (interface) ανάµεσα στο υλισµικό και στα προγράµµατα εφαρµογών/χρηστών.

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

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Απόδοση ΚΜΕ. (Μέτρηση και τεχνικές βελτίωσης απόδοσης)

ΤΜΗΜΑ ΜΗΥΤΔ, ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ (ΗΥ222) ΔΙΔΑΣΚΩΝ: ΧΡΗΣΤΟΣ Δ. ΑΝΤΩΝΟΠΟΥΛΟΣ Τελική Εξέταση Σεπτεμβρίου 2009, Χρόνος: 2:30

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

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

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

Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi

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

[4] Στόχοι. Λογισμικό. Υπολογιστικά συστήματα: Στρώματα

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

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

Εισαγωγή στα Λειτουργικά Συστήματα (Λ/Σ) Το UNIX και οι εντολές του Παρουσίαση 2

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγικά & Βασικές Έννοιες

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

Transcript:

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

Xρονοδρομολόγηση Διεργασιών 1 Η χρονοδρομολόγηση σε ένα Λ/Σ αποφασίζει ποια διεργασία θα χρησιμοποιεί ανά πάσα στιγμή την ΚΜΕ. (Επιλογή από το ζαχαροπλάστη του γλυκού που παρασκευάζει κάθε φορά) Χρονοδρομολογητής ή χρονοπρογραμματιστής (scheduler) είναι το τμήμα του Λ/Σ το οποίο είναι επιφορτισμένο με την ευθύνη της απόφασης ποια εκτελέσιμη διεργασία θα εκτελεστεί πρώτη. Ο αλγόριθμος που χρησιμοποιείται από το χρονοδρομολογητή λέγεται αλγόριθμος χρονοδρομολόγησης (scheduling algorithm). Η συνήθης ακολουθητέα στρατηγική, είναι η στρατηγική αναστολής εκτέλεσης εκτελέσιμων διεργασιών και καλείται χρονοδρομολόγηση προεκχώρησης (preemptive scheduling). 2

Xρονοδρομολόγηση Διεργασιών 1β Σειρά άφιξης (first come first served) Μικρότερης/Συντομότερης διεργασίας (shortest job next) Κυκλική/εκ περιτροπής επιλογή (round robin) 3

Xρονοδρομολόγηση Διεργασιών 2 Μεγάλο χρονικό διάστημα ενεργοποίησης της CPU Σύντομο διάστημα ενεργοποίησης της CPU Αναμονή για I/O Χρόνος 4

Xρονοδρομολόγηση Διεργασιών 3 Τα κριτήρια επιλογής αλγορίθμων χρονοδρομολόγησης είναι: δικαιοσύνη (fairness) μεταξύ των διεργασιών αποδοτικότητα (efficiency) στην αξιοποίηση της CPU χρόνος απόκρισης (response time) για διαλογικούς χρήστες κύκλος διεκπεραίωσης (turn around) για χρήστες συστήματος δέσμης ρυθμός απόδοσης (throughput) εργασιών που επεξεργάζεται ένα σύστημα. Η επιλογή δεν είναι απλοϊκή, αφού ορισμένα από αυτά τα κριτήρια είναι αντικρουόμενα. 5

Xρονοδρομολόγηση Διεργασιών 4 Χρονοδρομολόγηση Εξυπηρέτησης εκ Περιτροπής Σύμφωνα με τον αλγόριθμο εξυπηρέτησης εκ περιτροπής (round robin scheduling), σε κάθε διεργασία εκχωρείται χρονικό διάστημα - κβάντο (quantum) στα όρια του οποίου επιτρέπεται η εκτέλεσή της. Αν η διεργασία δεν ολοκληρωθεί μέχρι το τέλος του χρονικού αυτού διαστήματος, τότε η CPU εκχωρείται σε άλλη διεργασία, δηλαδή λαμβάνει χώρα εναλλαγή διεργασιών (process switch) ή μεταγωγή περιβάλλοντος (context switch). Τρέχουσα Διεργασία Επόμενη Διεργασία Τρέχουσα Διεργασία 6

Xρονοδρομολόγηση Διεργασιών 5 Αν η διεργασία ολοκληρωθεί πριν το τέλος του χρονικού διαστήματος που της είχε ανατεθεί η CPU, τότε ο αλγόριθμος χρονοδρομολόγησης αναθέτει την CPU στην επόμενη στην ουρά διεργασία. Σημαντική παράμετρο αποτελεί η επιλογή του μεγέθους του κβάντου χρόνου (τυπική τιμή κβάντου 100msec). 7

Xρονοδρομολόγηση Διεργασιών 6 Χρονοδρομολόγηση Προτεραιοτήτων Ηαπαίτησηναληφθείυπόψηότιόλεςοιδιεργασίες δεν είναι εξίσου σημαντικές και η ανάγκη να ληφθούν υπόψη και εξωτερικοί παράγοντες, οδηγούν στη σχεδίαση χρονοδρομολόγησης προτεραιοτήτων (priority scheduling). Σε κάθε διεργασία ανατίθεται μία προτεραιότητα και εκτελείται η διεργασία με την υψηλότερη προτεραιότητα. Για την αποτροπή επ άπειρο εκτέλεσης διεργασιών υψηλής προτεραιότητας, ο χρονοδρομολογητής μειώνει την προτεραιότητα της τρέχουσας διεργασίας σε κάθε διακοπή ρολογιού. 8

Xρονοδρομολόγηση Διεργασιών 7 Οι προτεραιότητες μπορούν να ανατεθούν είτε στατικά είτε δυναμικά. Για παράδειγμα, οι διεργασίες που είναι ισχυρά εξαρτώμενες από είσοδο/έξοδο (I/O bound) πρέπει να έχουν υψηλή προτεραιότητα, ώστε να αποτρέπεται μακρά αναμονή ολοκλήρωσης εισόδου/εξόδου, η οποία θα οδηγούσε σε μακρά κατάληψη μνήμης. Ένας τυπικός αλγόριθμος καλής εξυπηρέτησης, αναθέτει προτεραιότητα: 1/f, όπου f είναι το μέρος του κβάντου χρόνου που χρησιμοποιήθηκε από τη διεργασία την τελευταία φορά. 9

Xρονοδρομολόγηση Διεργασιών 8 Υβριδικό σχήμα περιλαμβάνει την ομαδοποίηση διεργασιών σε κλάσεις προτεραιοτήτων (priority classes). Χρησιμοποιείται ταυτόχρονα: χρονοδρομολόγηση προτεραιοτήτων μεταξύ των κλάσεων χρονοδρομολόγηση εξυπηρέτησης εκ περιτροπής μεταξύ των διεργασιών της ίδιας κλάσης. Με τον αλγόριθμο αυτό, μπορεί να εμφανισθεί το πρόβλημα της παρατεταμένης στέρησης πόρων (starvation) της CPU για κάποιες διεργασίες. 10

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

Xρονοδρομολόγηση Διεργασιών 10 Μία αποτελεσματική επιλογή είναι η λύση των πολλαπλών ουρών (multiple queues) - κλάσεων προτεραιοτήτων: οι διεργασίες της ουράς υψηλότερης κλάσης εκτελούνται για ένα κβάντο χρόνου οι διεργασίες της ουράς της επόμενης κλάσης εκτελούνται για δύο κβάντα χρόνου όταν μια διεργασία χρησιμοποιεί όλο το κβάντο χρόνου που της ανατίθεται, υποβιβάζεται κατά μία κλάση. 12

Xρονοδρομολόγηση Διεργασιών 11 Τα πλεονεκτήματα της μεθόδου αυτής είναι: απαιτείται μικρότερος αριθμός εναλλαγών, σε σχέση με τον αλγόριθμο εξυπηρέτησης εκ περιτροπής όσο μια μεγάλη διεργασία βυθίζεται βαθύτερα στις ουρές προτεραιοτήτων, τόσο ευνοείται η ολοκλήρωση μικρών διαλογικών διεργασιών. 13

Xρονοδρομολόγηση Διεργασιών 12 Η Συντομότερη Εργασία Πρώτη Για συστήματα εργασιών δέσμης (batch jobs), ο συνηθέστερος αλγόριθμος είναι ο αλγόριθμος χρονοδρομολόγησης πρώτα-η- συντομότερη-εργασία (shortest-job-first scheduling). Στα συστήματα αυτά, ελαχιστοποιείται ο μέσος χρόνος διεκπεραίωσης (turnaround time). Αν θεωρήσουμε την εκτέλεση κάθε εντολής ως ξεχωριστή εργασία, τότε ο αλγόριθμος αυτός θα μπορούσε να χρησιμοποιηθεί και για διαλογικές εργασίες. Το πρόβλημα, όμως, που παραμένει είναι ποια από τις εκτελέσιμες εργασίες είναι η συντομότερη. 14

Xρονοδρομολόγηση Διεργασιών 13 Η τεχνική που ακολουθείται είναι γνωστή ως ωρίμανση (aging). Σύμφωνα με την τεχνική της ωρίμανσης, η εκτίμηση της διάρκειας ζωής μιας διεργασίας βασίζεται στην παρελθούσα συμπεριφορά των εργασιών. Έστω ότι ο εκτιμώμενος, για κάποιο τερματικό, χρόνος ανά εντολή είναι T0 και ο επόμενος χρόνος εκτέλεσης μετράται σε T1. Μπορούμε να ανανεώσουμε την εκτίμησή μας, θεωρώνταςωςνέα εκτίμηση το σταθμισμένο άθροισμα (weighted sum) των προηγούμενων τιμών, δηλαδή: at0 + (1-a)T1 Ητιμήτουa μπορεί να καθορίσει την ταχύτητα προσαρμογής στα νέα δεδομένα, ξεχνώντας παλαιές εκτιμήσεις και εκτελέσεις. 15

Xρονοδρομολόγηση Διεργασιών 14 Εγγυημένος Χρονοπρογραμματισμός Η τεθείσα απαίτηση είναι η συνολική υπολογιστική ισχύς να ισοκατανέμεται στους χρήστες (policy-driven scheduling). Συνεπώς απαιτείται γνώση: τουχρόνουπουηcpu διατέθηκε για τις διεργασίες κάθε χρήστη του χρόνου που ο κάθε χρήστης είναι συνδεδεμένος στο σύστημα. Ο αλγόριθμος αυτός μπορεί να χρησιμοποιηθεί σε συστήματα πραγματικού χρόνου (real-time systems), όπου τίθενται περιορισμοί, οι οποίοι πρέπει να επιτευχθούν. 16

Xρονοδρομολόγηση Διεργασιών 15 Πολιτικές έναντι μηχανισμών Συχνά, είναι επιθυμητό να επηρεάζεται από το χρήστη η απόφαση χρονοδρομολόγησης. Για παράδειγμα, υπάρχουν περιπτώσεις που μια γονική διεργασίαεπιθυμείνααποφασίσειποιααπότιςθυγατρικές διεργασίες είναι χρονικά κρίσιμη. Η λύση στο πρόβλημα αυτό, περιλαμβάνει το διαχωρισμό: του μηχανισμού χρονοδρομολόγησης (scheduling mechanism) από την πολιτική χρονοδρομολόγησης (scheduling policy). Με την ύπαρξη σχετικής κλήσης συστήματος, θα μπορούσε η διεργασία του χρήστη να χαράσσει την πολιτική, αλλά ο ακολουθούμενος μηχανισμός ορίζεται από τον πυρήνα. 17

Xρονοδρομολόγηση Διεργασιών 16 Χρονοπρογραμματισμός δύο επιπέδων Επειδή ο διατιθέμενος χώρος μνήμης είναι πεπερασμένος, υπάρχει περίπτωση κάποιες από τις διεργασίες να φυλάσσονται στο δίσκο. Το γεγονός αυτό έχει ως αποτέλεσμα να εμφανίζονται προβλήματα από τον απαιτούμενο υψηλό χρόνο εναλλαγής των διεργασιών που βρίσκονται στο δίσκο. Η λύση στο πρόβλημα είναι η σχεδίαση και αξιοποίηση χρονοδρομολογητή δύο επιπέδων (two-level scheduler): ο χρονοδρομολογητής χαμηλού επιπέδου (low level scheduler) ασχολείται με την επιλογή εκτελέσιμων διεργασιών που βρίσκονται εκείνη τη στιγμή στην κύρια μνήμη ο χρονοδρομολογητής υψηλού επιπέδου (high level scheduler) ασχολείται με τη μετακίνηση εκτελέσιμων διεργασιών από το δίσκο στη μνήμη και αντιστρόφως. 18

Xρονοδρομολόγηση Διεργασιών 17 Τα κριτήρια που λαμβάνει υπόψη του ο χρονοδρομολογητής μπορεί να περιλαμβάνουν τα εξής: πόσος χρόνος πέρασε από την εκτόπιση ή την επαναφορά της διεργασίας πόσο χρόνο της CPU χρησιμοποίησε τελευταία η διεργασία πόσο μεγάλης διάρκειας είναι η διεργασία πόσο υψηλή προτεραιότητα έχει η διεργασία. 19