Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

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

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "1 Χρονοδρομολόγηση CPU Βασικές Αρχές Κριτήρια Χρονοδρομολόγησης Αλγόριθμοι Χρονοδρομολόγησης."— Μεταγράφημα παρουσίασης:

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

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

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

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

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

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

7 7 First-Come, First-Served (FCFS) ΔιεργασίαςΧρόνος P 1 24 P 2 3 P 3 3 Σειρά άφιξης: P 1, P 2, P 3 Το διάγραμμα χρονικής αλληλουχίας (Gantt) είναι: Χρονος αναμονής για P 1 = 0; P 2 = 24; P 3 = 27 Μέσος χρόνος αναμονής : ( )/3 = 17 P1P1 P2P2 P3P

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

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

10 10 ΔιεργασίαΧρόνος άφιξης Διάρκεια P P P P SJF (non-preemptive) Μέσος χρόνος αναμονής = ( )/4 - 4 Παράδειγμα Non-Preemptive SJF P1P1 P3P3 P2P P4P4 812

11 11 Παράδειγμα Preemptive SJF ΔιεργασίαΧρόνος ΆφιξηςΔιάρκεια P P P P SJF (preemptive) Μέσος χρόνος ανάμονής = ( )/4 - 3 P1P1 P3P3 P2P P4P4 57 P2P2 P1P1 16

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

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

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

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

16 16 Παράδειγμα RR με κβάντο = 20 ProcessΔιάρκεια P 1 53 P 2 17 P 3 68 P 4 24 Διάγραμμα Χρονικής Αλληλουχίας: P1P1 P2P2 P3P3 P4P4 P1P1 P3P3 P4P4 P1P1 P3P3 P3P

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

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

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

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

21 21 Multilevel Feedback Queue


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

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google