Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
ΔημοσίευσεAileen Minga Τροποποιήθηκε πριν 10 χρόνια
1
Χρονοδρομολόγηση CPU Βασικές Αρχές Κριτήρια Χρονοδρομολόγησης
Αλγόριθμοι Χρονοδρομολόγησης
2
Βασικές Αρχές Μέγιστη εκμετάλλευση της CPU μέσω πολυπρογραμματισμού
Η εκτέλεση της διεργασίας αποτελείται από την εναλλαγή διαστημάτων (έντονης) χρήσης CPU και I/O.
3
Εκτέλεση διεργασίας
4
Χρονοδρομολογητής CPU
1. Αλλάζει από κατάσταση running σε waiting. 2. Αλλάζει από κατάσταση running σε ready. 3. Αλλάζει από κατάσταση waiting σε ready. 4. Ολοκληρώνει. Η χρονοδρομολόγηση σύμφωνα με τις περιπτώσεις 1 και 4 είναι μη προεκτοπιστική. Όλες οι άλλες περιπτώσεις αναφέρονται σε προεκτοπιστική χρονοδρομολόγηση.
5
Dispatcher O Dispatcher δίνει τον έλεγχο της CPU στην διεργασία που επιλέγεται από τον short-term scheduler. Απαιτούνται: Context switching Εναλλαγή σε user mode Μετακίνηση στο κατάλληλο σημείο μέσα στο πρόγραμμα για την επανεκκίνηση του.
6
Κριτήρια Χρονοδρομολόγησης
Εκμετάλλευση CPU – προσπάθεια να μην μείνει αδρανής η CPU Ρυθμοαπόδοση – αριθμός διεργασιών που ολοκληρώνουν την εκτέλεση τους στην μονάδα του χρόνου Χρόνος διεκπεραίωσης (Turnaround time) – ο χρόνος που απαιτείται για την εκτέλεση μίας συγκεκριμένης διεργασίας Χρόνος αναμονής – χρόνος αναμονής μίας διεργασίας στην ουρά «ready»
7
First-Come, First-Served (FCFS)
Διεργασίας Χρόνος P1 24 P2 3 P3 3 Σειρά άφιξης: P1 , P2 , P3 Το διάγραμμα χρονικής αλληλουχίας (Gantt) είναι: Χρονος αναμονής για P1 = 0; P2 = 24; P3 = 27 Μέσος χρόνος αναμονής : ( )/3 = 17 P1 P2 P3 24 27 30
8
FCFS Χρονοδρομολόγηση
Σειρά άφιξης διεργασιών: P2 , P3 , P1 Το διάγραμμα Gantt είναι: Χρόνος αναμονής P1 = 6; P2 = 0; P3 = 3 Μέσος χρόνος αναμονής: ( )/3 = 3 Βελτίωση σε σχέση με το προηγούμενο σενάριο. Convoy effect: μικρής διάρκειας διεργασίες αναμένουν τις διεργασίες μεγάλης διάρκειας. P1 P3 P2 6 3 30
9
Shortest-Job-First (SJR)
Για κάθε διεργασία προσδιορίζεται το μήκος της επόμενης περιόδου χρήσης της CPU. Αυτά τα μήκη χρησιμοποιούνται για να χρονοδρομολογηθεί η διεργασία με τον χαμηλότερο χρόνο. Δύο σχήματα: Μη προεκτοπιστικό – αν δοθεί η CPU σε μία διεργασία δεν μπορεί να της «αφαιρεθεί» εάν πρώτα δεν ολοκληρώσει την περίοδο χρήστης της CPU. Εκτοπιστικός – εάν έρθει μία νέα διεργασία με χρόνο χρήσης CPU μικρότερο από τον υπολειπόμενο χρόνο της τρέχουσας, αφαιρείται από την τρέχουσα ο έλεγχος. Το σχήμα είναι γνωστό ως Shortest-Remaining-Time-First (SRTF).
10
Παράδειγμα Non-Preemptive SJF
Διεργασία Χρόνος άφιξης Διάρκεια P P P P SJF (non-preemptive) Μέσος χρόνος αναμονής = ( )/4 - 4 P1 P3 P2 7 3 16 P4 8 12
11
Παράδειγμα Preemptive SJF
Διεργασία Χρόνος Άφιξης Διάρκεια P P P P SJF (preemptive) Μέσος χρόνος ανάμονής = ( )/4 - 3 P1 P3 P2 4 2 11 P4 5 7 16
12
Με βάση τον Υπολειπόμενο Χρόνο Εκτέλεσης μίας διεργασίας
O χρονοδρομολογητής διαλέγει για εκτέλεση τη διεργασία εκείνη για την οποία εκτιμάται ότι έχει το λιγότερο υπολειπόμενο χρόνο εκτέλεσης (shortest remaining time). H άφιξη στην ουρά των διεργασιών που είναι έτοιμες για εκτέλεση μίας διεργασίας που ο υπολειπόμενος χρόνος εκτέλεσής της είναι μικρότερος από αυτόν της διεργασίας που εκτελείται εκείνη τη στιγμή, οδηγεί σε αναστολή της εκτέλεσης της τελευταίας αυτής διεργασίας.
13
Round Robin (RR) Η κάθε διεργασία «λαμβάνει» ένα τμήμα του χρόνου CPU (κβάντο), που συνήθως είναι της τάξης milliseconds. Μετά από αυτό το χρόνο, αφαιρείται ο έλεγχος της CPU από την διεργασία η οποία τοποθετείται στο τέλος της ready queue. Εάν υπάρχουν n διεργασίες στην ουρά και το χρονικό κβάντο είναι q, η κάθε διεργασία λαμβάνει το 1/n του χρόνου της CPU σε δέσμες των q χρονικών μονάδων. Καμμία διεργασία δεν περιμένει περισσότερο από (n-1)q χρονικές μονάδες. Επιδόσεις q μεγάλο FIFO q μικρό το q θα πρέπει να είναι μεγάλο σε σχέση με το χρονικό κόστος του context switching, διαφορετικά η επιβάρυνση είναι ανεπίτρεπτη.
14
Παράδειγμα 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
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.