Χρονοδρομολόγηση CPU Βασικές Αρχές Κριτήρια Χρονοδρομολόγησης

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Λειτουργικό Σύστημα (Operating System) 1o μέρος
Advertisements

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΔΙΕΡΓΑΣΙΩΝ
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι
1 • Το μέγεθος του ‘παραθύρου’ πρέπει να αλλάζει με τον αριθμό των συνόδων. • Τόσο η ρυθμαπόδοση όσο και η καθυστέρηση δεν έχουν εγγυήσεις. • Για συνόδους.
Λειτουργικά Συστήματα
Η επιστήμη των υπολογιστών
Λειτουργικά Συστήματα
Slide 1 Δίκτυα Τηλεπικοινωνιών ENOTHTA 7 η ΔΙΑΚΙΝΗΣΗ ΤΗΛΕΦΩΝΙΚΩΝ ΚΛΗΣΕΩΝ (ΜΕΡΟΣ Α’) 1. ΘΕΩΡΙΑ ΤΗΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΗΣ ΚΙΝΗΣΗΣ  Εκτός από τις τερματικές.
ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ.
ΛΟΓΙΣΜΙΚΟ ΣΥΣΤΗΜΑΤΟΣ Κεφάλαιο 4 ο Ελληνογαλλική Σχολή Καλαμαρί - Τίκβα Χριστίνα.
Λειτουργικό Σύστημα 2ο μέρος.
ΣΥΓΧΡΟΝΕΣ ΤΕΧΝΙΚΕΣ ΜΙΚΡΟΡΥΘΜΙΣΗΣ ΚΥΚΛΟΦΟΡΙΑΣ Κ. ΣΚΙΑΔΟΠΟΥΛΟΣ Α.ΖΕΙΜΠΕΚΗ Υ.Π.Ε.Χ.Ω.Δ.Ε.
Ζητήματα Σελιδοποίησης
Λογισμικο συστηματοσ Κεφάλαιο 4ο
Χρονοπρογραμματισμός Διεργασιών (Process Scheduling)
7. Διαχείριση κύριας μνήμης
Εναλλαγή εκρήξεων ΚΜΕ και Ε/Ε μιας διεργασίας
Στατιστική Ι Παράδοση 5 Οι Δείκτες Διασποράς Διασπορά ή σκεδασμός.
ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Εισαγωγή II ΣΥΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Κοινά χαρακτηριστικά (1) –Πελάτης (όχημα, πελάτης καταστήματος, τηλεφωνική κλήση, πακέτο δεδομένων.
Moντέλα Καθυστέρησης και Ουρές
10. Δρομολόγηση σε σύστημα ενός επεξεργαστή
Το Μ/Μ/1 Σύστημα Ουράς Μ (η διαδικασία αφίξεων είναι Poisson) /
ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems
ΠΑΡΑΔΟΣΕΙΣ ΜΑΘΗΜΑΤΟΣ «ΔΙΚΤΥΑ ΕΛΕΓΧΟΥ» ΟΚΤΩΒΡΙΟΣ 2004.
Χρονοδρομολόγηση CPU Βασικές Αρχές Κριτήρια Χρονοδρομολόγησης
Σχεδίαση αλγορίθμων (2ο μέρος)
Διαχείριση μνήμης Υπόβαθρο Εναλλαγή Συνεχής κατανομή Σελιδοποίηση
ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ Τμήμα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Εργαστήριο Τηλεπικοινωνιών και Πληροφορίας & Δικτύων ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ “Χρονοπρογραμματισμός.
ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ 25/04/13 Παραδείγματα χρήσης ουρών Μ/Μ/c/K.
1 ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Εισαγωγή Β. Μάγκλαρης Β. Μάγκλαρης Σ. Παπαβασιλείου Σ. Παπαβασιλείου
Χαρακτηριστικά ενός Μ/Μ/1 συστήματος :
Δρομολόγηση. Δρομολόγηση ονομάζεται το έργο εύρεσης του πως θα φθάσει ένα πακέτο στον προορισμό του Ο αλγόριθμος δρομολόγησης αποτελεί τμήμα του επιπέδου.
1 ΤΜΗΜΑ ΜΠΕΣ Αλγόριθμοι Αναζήτησης Εργασία 1 Τυφλή Αναζήτηση.
Χρονική Πολυπλοκότητα
ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ 2/03/05. ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Μοντέλα συμφόρησης (congestion) –Κυκλοφορία (οδική, σταθερής τροχιάς) –Ουρές σε καταστήματα, ταχυδρομεία,
Διεργασίες.
1 ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Περιεχόμενα (1/3) 1.Εισαγωγή Περιεχόμενα Γενική Περιγραφή Συστημάτων Αναμονής Τεχνικές.
Κωνσταντίνος Αντωνής © 2014Διαδικτυακός και Ταυτόχρονος Προγραμματισμός Ομοιόμορφη Αποδοτική Διαχείριση του Ταυτοχρονισμού των Εξυπηρετητών 1.
1 Αδιέξοδα Μοντέλο συστήματος Χαρακτηρισμός αδιεξόδου Μέθοδοι διαχείρισης αδιεξόδων Πρόληψη Αποφυγή Ανίχνευση.
Ουρές Αναμονής.
1 Διαχείριση Έργων Πληροφορικής Διάλεξη 7 η Διαχείριση Πόρων.
1 Τ.Ε.Ι Θεσσαλονίκης – Τμήμα Πληροφορικής Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Εργαστηριακό Μέρος Μοντέλα ουρών αναμονής (Queuing Network Models)
1 Λειτουργικά Συστήματα Ενότητα 13 : Δρομολόγηση Διεργασιών 3/3 Δημήτριος Λιαροκάπης Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
Πληροφορική 2 Λειτουργικά Συστήματα 1. Λογισμικό Υπολογιστών 2 Υπολογιστής ΥλικόΛογισμικό Λειτουργικό Σύστημα Προγράμματα Εφαρμογών.
1 Λειτουργικά Συστήματα Ενότητα 11 : Δρομολόγηση Διεργασιών 1/3 Δημήτριος Λιαροκάπης Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
Ηλεκτρονικό Χρονόμετρο Ρ / Ν 1236 Φωτοπύλες Ρ / Ν 1460 Μια σύντομη παρουσίαση της λειτουργίας τους.
Διαχείριση Πόρων (1/10) Εισαγωγή στην Πληροφορκή 1 Στα πρώτα χρόνια των υπολογιστών, όπου μόνο ένα πρόγραμμα είχε τη δυνατότητα να βρίσκεται στην κύρια.
Λειτουργικά Συστήματα
Διαχείριση Διεργασιών (1/5)
Θέμα Πτυχιακής Εργασίας
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι
Οι Δομές Δεδομένων Ουρά και Στοίβα
ΟΙΚΟΝΟΜΙΚΗ ΔΙΑΧΕΙΡΙΣΗ ΈΡΓΩΝ
Χειρισμός Χρόνου και Μεθοδολογίες Προσομοίωσης
Κατανεμημένα Συστήματα
Λειτουργικά Συστήματα
Χρονοπρογραμματισμός CPU - SCHEDULING
Ανάπτυξη Μοντέλων Διακριτών Συστημάτων Μέρος Β
Λειτουργικά Συστήματα και Ασφάλεια Πληροφοριακών Συστημάτων ΔΙΕΡΓΑΣΙΕΣ
ΕΦΑΡΜΟΓΗ ΤΗΣ ΝΟΣΗΛΕΥΤΙΚΗΣ ΦΡΟΝΤΙΔΑΣ - ΑΞΙΟΛΟΓΗΣΗ ΤΩΝ ΑΠΟΤΕΛΕΣΜΑΤΩΝ
Αµοιβαίος αποκλεισµός
Ομοιόμορφη Αποδοτική Διαχείριση του Ταυτοχρονισμού των Εξυπηρετητών
Κεφάλαιο 7: Διαδικτύωση-Internet Μάθημα 7.9: Δρομολόγηση
Διπλωματική Εργασία για το Μεταπτυχιακό Δίπλωμα Ειδίκευσης
Οι Δομές Δεδομένων Ουρά και Στοίβα
οι 3 Δομές Επανάληψης ή αλλιώς οι τρεις σωματοφύλακες…
ΠΛΗΡΟΦΟΡΙΚΗ Γ΄ Γυμνασίου Α΄ Τρίμηνο
ΣΥΓΧΡΟΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Τρίτη Έκδοση ANDREW S
ΣΥΓΧΡΟΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Τρίτη Έκδοση ANDREW S
Χρονοπρογραμματισμός CPU - SCHEDULING
Μεταγράφημα παρουσίασης:

Χρονοδρομολόγηση CPU Βασικές Αρχές Κριτήρια Χρονοδρομολόγησης Αλγόριθμοι Χρονοδρομολόγησης

Βασικές Αρχές Μέγιστη εκμετάλλευση της CPU μέσω πολυπρογραμματισμού Η εκτέλεση της διεργασίας αποτελείται από την εναλλαγή διαστημάτων (έντονης) χρήσης CPU και I/O.

Εκτέλεση διεργασίας

Χρονοδρομολογητής CPU 1. Αλλάζει από κατάσταση running σε waiting. 2. Αλλάζει από κατάσταση running σε ready. 3. Αλλάζει από κατάσταση waiting σε ready. 4. Ολοκληρώνει. Η χρονοδρομολόγηση σύμφωνα με τις περιπτώσεις 1 και 4 είναι μη προεκτοπιστική. Όλες οι άλλες περιπτώσεις αναφέρονται σε προεκτοπιστική χρονοδρομολόγηση.

Dispatcher O Dispatcher δίνει τον έλεγχο της CPU στην διεργασία που επιλέγεται από τον short-term scheduler. Απαιτούνται: Context switching Εναλλαγή σε user mode Μετακίνηση στο κατάλληλο σημείο μέσα στο πρόγραμμα για την επανεκκίνηση του.

Κριτήρια Χρονοδρομολόγησης Εκμετάλλευση CPU – προσπάθεια να μην μείνει αδρανής η CPU Ρυθμοαπόδοση – αριθμός διεργασιών που ολοκληρώνουν την εκτέλεση τους στην μονάδα του χρόνου Χρόνος διεκπεραίωσης (Turnaround time) – ο χρόνος που απαιτείται για την εκτέλεση μίας συγκεκριμένης διεργασίας Χρόνος αναμονής – χρόνος αναμονής μίας διεργασίας στην ουρά «ready»

First-Come, First-Served (FCFS) Διεργασίας Χρόνος P1 24 P2 3 P3 3 Σειρά άφιξης: P1 , P2 , P3 Το διάγραμμα χρονικής αλληλουχίας (Gantt) είναι: Χρονος αναμονής για P1 = 0; P2 = 24; P3 = 27 Μέσος χρόνος αναμονής : (0 + 24 + 27)/3 = 17 P1 P2 P3 24 27 30

FCFS Χρονοδρομολόγηση Σειρά άφιξης διεργασιών: P2 , P3 , P1 Το διάγραμμα Gantt είναι: Χρόνος αναμονής P1 = 6; P2 = 0; P3 = 3 Μέσος χρόνος αναμονής: (6 + 0 + 3)/3 = 3 Βελτίωση σε σχέση με το προηγούμενο σενάριο. Convoy effect: μικρής διάρκειας διεργασίες αναμένουν τις διεργασίες μεγάλης διάρκειας. P1 P3 P2 6 3 30

Shortest-Job-First (SJR) Για κάθε διεργασία προσδιορίζεται το μήκος της επόμενης περιόδου χρήσης της CPU. Αυτά τα μήκη χρησιμοποιούνται για να χρονοδρομολογηθεί η διεργασία με τον χαμηλότερο χρόνο. Δύο σχήματα: Μη προεκτοπιστικό – αν δοθεί η CPU σε μία διεργασία δεν μπορεί να της «αφαιρεθεί» εάν πρώτα δεν ολοκληρώσει την περίοδο χρήστης της CPU. Εκτοπιστικός – εάν έρθει μία νέα διεργασία με χρόνο χρήσης CPU μικρότερο από τον υπολειπόμενο χρόνο της τρέχουσας, αφαιρείται από την τρέχουσα ο έλεγχος. Το σχήμα είναι γνωστό ως Shortest-Remaining-Time-First (SRTF).

Παράδειγμα Non-Preemptive SJF Διεργασία Χρόνος άφιξης Διάρκεια P1 0.0 7 P2 2.0 4 P3 4.0 1 P4 5.0 4 SJF (non-preemptive) Μέσος χρόνος αναμονής = (0 + 6 + 3 + 7)/4 - 4 P1 P3 P2 7 3 16 P4 8 12

Παράδειγμα Preemptive SJF Διεργασία Χρόνος Άφιξης Διάρκεια P1 0.0 7 P2 2.0 4 P3 4.0 1 P4 5.0 4 SJF (preemptive) Μέσος χρόνος ανάμονής = (9 + 1 + 0 +2)/4 - 3 P1 P3 P2 4 2 11 P4 5 7 16

Εκτίμηση του μήκους της περιόδου χρήσης CPU Μπορούμε να εκτιμήσουμε το μήκος. Η εκτίμηση μπορεί να γίνει βάσει των παλαιότερων μετρήσεων, χρησιμοποιώντας exponential averaging. τn+1=α*tn+(1-α)*τn τn+1= εκτίμηση για την επόμενη περίοδο 1>=α>=0 τn= εκτίμηση για την τρέχουσα περίοδο tn= προηγούμενη μέτρηση

Παραδείγματα  =0  =1 Εάν επεκτείνουμε τον τύπο έχουμε: n+1 = n Η πρόσφατη ιστορία δεν έχει σημασία.  =1 n+1 = tn Μόνο η πρόσφατη μέτρηση έχει σημασία. Εάν επεκτείνουμε τον τύπο έχουμε: n+1 =  tn+(1 - )  tn -1 + … +(1 -  )j  tn -1 + … +(1 -  )n=1 tn 0 Εάν το  και το (1 - ) είναι μικρότερα ή ίσα από 1, ο κάθε όρος έχει μικρότερη σημασία (βάρος) από τον προηγούμενο όρο.

Χρονοδρομολόγηση βάσει προτεραιοτήτων Σε κάθε διεργασία δίνεται αριθμός προτεραιότητας Η CPU εκχωρείται στη διεργασία με την υψηλότερη προτεραιότητα. Προεκτοπιστικό σχημα Μη-προεκτοπιστικό σχήμα Πρόβλημα  λιμοκτονία – οι διεργασίες χαμηλής προτεραιότητας μπορεί να μην εκτελεστούν ποτέ. Λύση  Γήρανση – καθώς εξελίσσεται ο χρόνος αυξάνεται η προτεραιότητα της διεργασίας.

Round Robin (RR) Η κάθε διεργασία «λαμβάνει» ένα τμήμα του χρόνου CPU (κβάντο), που συνήθως είναι της τάξης 10-100 milliseconds. Μετά από αυτό το χρόνο, αφαιρείται ο έλεγχος της CPU από την διεργασία η οποία τοποθετείται στο τέλος της ready queue. Εάν υπάρχουν n διεργασίες στην ουρά και το χρονικό κβάντο είναι q, η κάθε διεργασία λαμβάνει το 1/n του χρόνου της CPU σε δέσμες των q χρονικών μονάδων. Καμμία διεργασία δεν περιμένει περισσότερο από (n-1)q χρονικές μονάδες. Επιδόσεις q μεγάλο  FIFO q μικρό  το q θα πρέπει να είναι μεγάλο σε σχέση με το χρονικό κόστος του context switching, διαφορετικά η επιβάρυνση είναι ανεπίτρεπτη.

Παράδειγμα RR με κβάντο = 20 Process Διάρκεια P1 53 P2 17 P3 68 P4 24 Διάγραμμα Χρονικής Αλληλουχίας: P1 P2 P3 P4 20 37 57 77 97 117 121 134 154 162

Χρονοδρομολόγηση Πολλαπλών Επιπέδων Η Ready queue διαιρείται σε διάφορες ουρές : foreground (διαδραστικά) background (δέσμης) Η κάθε ουρά έχει τον δικό της αλγόριθμο χρονοδρομολόγησης, foreground – RR background – FCFS Και οι ίδιες οι ουρές χρονοδρομολογούνται. Χρονοδρομολόγηση σε σταθερές προτεραιότητες (π.χ., εξυπηρέτηση όλων των διεργασιών στο foreground, μετά των διεργασιών στο background). Ενδεχόμενο λιμοκτονίας. Τμήμα χρόνου – η κάθε ουρά λαμβάνει ένα ποσοστό του χρόνου της CPU στο οποίο μπορεί να χρονοδρομολογήσει τις διεργασίες της; π.χ., 80% στις foreground διεργασίες οι οποίες αντιμετωπίζονται RR 20% σε background διεργασίες που εξυπηρετούνται FCFS.

Χρονοδρομολόγηση πολλαπλών επιπέδων

Χρονοδρομολόγηση Πολλαπλών Επιπέδων με ανατροφοδότηση (Multilevel Feedback Queue) Μία διεργασία μπορεί να μετακινηθεί σε διάφορες ουρές; Με αυτόν τον τρόπο μπορεί να υλοποιηθεί και η γήρανση. Ο χρονοδρομολογητής Multilevel-feedback-queue λειτουργεί σύμφωνα με τις παρακάτω παραμέτρους: Αριθμός ουρών Πολιτική εξυπηρέτησης της κάθε ουράς Σχήμα αναβάθμισης της κάθε διεργασίας Σχήμα υποβάθμισης της κάθε διεργασίας Προσδιορισμός της ουράς στην οποία θα καταχωρηθεί μία διεργασία

Παράδειγμα Multilevel Feedback Queue 3 ουρές διεργασιών: Q0 – κβάντο: 8 milliseconds Q1 – κβάντο: 16 milliseconds Q2 – FCFS Χρονοδρομολόγηση Μία νέα διεργασία μπαίνει στην Q0 η οποία εξυπηρετείται FCFS. Οταν αποκτάει τον έλεγχο της CPU, η διεργασία εξυπηρετείται για 8 milliseconds. Εάν δεν ολοκληρώσει σε 8 milliseconds, η διεργασία μετακινείται στην ουρά Q1. Στην Q1 η διεργασία εξυπηρετείται FCFS για 16 milliseconds. Εάν πάλι δεν ολοκληρώσει, της αφαιρείται ο έλεγχος και μετακινείται στην Q2.

Multilevel Feedback Queue