1 / 14

Χρονοδρομολόγηση CPU

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

aquene
Download Presentation

Χρονοδρομολόγηση CPU

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

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

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

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

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

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

  10. Παράδειγμα Non-Preemptive SJF P1 P3 P2 P4 0 3 7 8 12 16 ΔιεργασίαΧρόνος άφιξης Διάρκεια 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

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

  12. Με βάση τον Υπολειπόμενο Χρόνο Εκτέλεσης μίας διεργασίας • O χρονοδρομολογητής διαλέγει για εκτέλεση τη διεργασία εκείνη για την οποία εκτιμάται ότι έχει το λιγότερο υπολειπόμενο χρόνο εκτέλεσης (shortest remaining time). • H άφιξη στην ουρά των διεργασιών που είναι έτοιμες για εκτέλεση μίας διεργασίας που ο υπολειπόμενος χρόνος εκτέλεσής της είναι μικρότερος από αυτόν της διεργασίας που εκτελείται εκείνη τη στιγμή, οδηγεί σε αναστολή της εκτέλεσης της τελευταίας αυτής διεργασίας.

  13. 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, διαφορετικά η επιβάρυνση είναι ανεπίτρεπτη.

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

More Related