10. Δρομολόγηση σε σύστημα ενός επεξεργαστή Εισαγωγή Κριτήρια αποτίμησης της απόδοσης Κριτήρια βελτιστοποίησης Τύποι δρομολόγησης του επεξεργαστή Ο κύκλος καταιγισμού CPU-I/O Πολιτικές δρομολόγησης Αλγόριθμοι Δρομολόγησης First Come First Served (FCFS) Shortest Job First (SJF) Shortest Remaining Time First (SRTF) Round Robin (RR) Χρόνος καταιγισμού Δρομολόγηση με ουρές πολλαπλών επιπέδων Δρομολόγηση με ανάδραση ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
1. Εισαγωγή Στόχοι της δρομολόγησης Η ενότητα αυτή εξετάζει τη δρομολόγηση της χρήσης ενός επεξεργαστή μεταξύ όλων των πιθανών επεξεργαστών του συστήματος Στόχοι της δρομολόγησης Μεγάλη χρήση του επεξεργαστή (CPU utilization) Υψηλή ρυθμο-απόδοση (High throughput) Πλήθος διεργασιών που ολοκληρώνονται στη μονάδα του χρόνου Μικρός χρόνος απόκρισης (response time) Ο χρόνος που μεσολαβεί από την υποβολή μιας απαίτησης μέχρι την έναρξη της απόκρισης του συστήματος Ορισμένοι στόχοι είναι αλληλοσυγκρουόμενοι !! ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
2. Κριτήρια αποτίμησης της απόδοσης Δικαιοσύνη (FAIRNESS) : συχνή χρήση της CPU από κάθε διεργασία Χρησιμοποίηση (UTILIZATION) : το ποσοστό του χρόνου κατά το οποίο μια συσκευή χρησιμοποιείται ( χρόνος χρήσης / συνολικός χρόνος) Ρυθμο-απόδοση (THROUGHPUT) : ο αριθμός των εργασιών που ολοκληρώνονται σε μια χρονική περίοδο (εργασίες / second ) Χρόνος επιστροφής (TURNAROUND TIME) :ο χρόνος εκτέλεσης μιας διεργασίας – από την αρχή μέχρι την ολοκλήρωση. Χρόνος εξυπηρέτησης (SERVICE TIME) : ο χρόνος που απαιτείται από μια συσκευή για να διαχειριστεί μια απαίτηση ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
SERVICE TIME + QUEUEING TIME Χρόνος αναμονής (WAITING TIME) : Ο χρόνος σε μια ουρά αναμονής ΕΤΟΙΜΩΝ διεργασιών (seconds) Χρόνος παραμονής (RESIDENCE TIME) : ο χρόνος που ξοδεύεται από μια απαίτηση σε μια συσκευή RESIDENCE TIME = SERVICE TIME + QUEUEING TIME Χρόνος απόκρισης (RESPONSE TIME) : ο χρόνος από τότε που μια απαίτηση υποβάλλεται μέχρι τη στιγμή που παράγεται η πρώτη απόκριση, όχι την έξοδο Εναλλαγές πλαισίων (context switches) : χρόνος που σπαταλάται και διατηρεί την CPU άεργη Πολυπλοκότητα του αλγορίθμου δρομολόγησης : χρόνος που απαιτείται για την επιλογή της επόμενης διεργασίας ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
3. Κριτήρια βελτιστοποίησης Μεγιστοποίηση : Χρήσης της CPU Ρυθμοαπόδοσης Ελαχιστοποίηση των χρόνων : επιστροφής αναμονής απόκρισης Τα κριτήρια αυτά είναι συχνά αλληλοσυγκρουόμενα!!! ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
4. Τύποι δρομολόγησης του επεξεργαστή ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Βραχυπρόθεσμη (Short-term): ποια διαθέσιμη διεργασία θα εκτελεστεί Μακροπρόθεσμη (Long-term): ποια διεργασία θα γίνει αποδεκτή για επεξεργασία από το σύστημα Μεσοπρόθεσμη (Medium-term): ποια διεργασία θα προστεθεί στις διεργασίες που βρίσκονται ολόκληρες ή εν μέρει στην κύρια μνήμη Βραχυπρόθεσμη (Short-term): ποια διαθέσιμη διεργασία θα εκτελεστεί ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Μακροπρόθεσμη δρομολόγηση Καθορίζει ποια προγράμματα θα γίνουν αποδεκτά για επεξεργασία από το σύστημα Ελέγχει τον βαθμό πολυπρογραμματισμού του συστήματος Αν γίνουν αποδεκτές περισσότερες διεργασίες Λιγότερες διεργασίες θα ανασταλούν, θα υπάρξει καλύτερη χρήση της CPU Κάθε διεργασία θα λάβει λιγότερο ποσοστό χρόνου της CPU Ο μακροπρόθεσμος δρομολογητής προσπαθεί να διατηρήσει μια ισορροπία ανάμεσα στις προοριζόμενες για τον επεξεργαστή διεργασίες (processor-bound) και στις προοριζόμενες για λειτουργίες Ι/Ο διεργασίες (I/O-bound) ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Μεσοπρόθεσμη δρομολόγηση Οι αποφάσεις για εναλλαγή των διεργασιών βασίζονται στην ανάγκη της διαχείρισης του πολυπρογραμματισμού Γίνεται από το λογισμικό της διαχείρισης μνήμης ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Βραχυπρόθεσμη δρομολόγηση Αποφασίζει ποια διεργασία πρόκειται να εκτελεστεί ως επόμενη (αναφέρεται συνήθως ως CPU scheduling) Είναι το αντικείμενο αυτής της ενότητας Είναι γνωστή και ως διεκπεραίωση (ο βραχυπρόθεσμος δρομολογητής λέγεται διεκπεραιωτής – dispatcher). Ενεργοποιείται από ένα γεγονός που μπορεί να οδηγήσει στην επιλογή μιας άλλης διεργασίας για εκτέλεση : διακοπές ρολογιού διακοπές I/O κλήσεις του Λ.Σ. σήματα ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Κριτήρια βραχυπρόθεσμης δρομολόγησης Κριτήρια προσανατολισμένα στο χρήστη Χρόνος απόκρισης Χρόνος επιστροφής Κριτήρια προσανατολισμένα στο σύστημα Χρησιμοποίηση επεξεργαστή Δικαιοσύνη Ρυθμοαπόδοση ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Διεκπεραιωτής (Dispatcher) Ο έλεγχο της CPU δίνεται στη διεργασία που έχει επιλεγεί από τον βραχυχρόνιο δρομολογητή. Η εκχώρηση αυτή περιλαμβάνει : Εναλλαγή πλαισίου Εναλλαγή σε κατάσταση χρήστη Άλμα στην κατάλληλη διεύθυνση του προγράμματος του χρήστη για την εκκίνηση του προγράμματος Dispatch latency (λανθάνουσα κατάσταση διεκπεραιωτή)– χρόνος που χρειάζεται ο διεκπεραιωτής για να σταματήσει μια διεργασία και να αρχίσει την εκτέλεση μιας άλλης ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Dispatch Latency ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Προτεραιότητες Εφαρμόζονται με την ύπαρξη πολλαπλών ουρών έτοιμων διεργασιών όπου κάθε ουρά αντιπροσωπεύει ένα επίπεδο προτεραιότητας Ο δρομολογητής θα επιλέγει πάντοτε μια διεργασία υψηλότερης προτεραιότητας έναντι μιας με μικρότερη προτεραιότητα Η χαμηλή προτεραιότητα μπορεί να υποφέρει από παρατεταμένη στέρηση Επιτρέπεται σε μια διεργασία να αλλάζει την προτεραιότητά της, ανάλογα με το διάστημα που βρίσκεται στο σύστημα ή με το ιστορικό εκτέλεσής της ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Διάγραμμα ουρών κατά τη δρομολόγηση ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
5. Ο κύκλος καταιγισμού CPU-I/O CPU - I/O burst cycle :χαρακτηρίζει την εκτέλεση της διεργασίας, που εναλλάσσεται μεταξύ των δραστηριοτήτων της CPU και των I/O. Οι χρόνοι της CPU είναι γενικά πολύ μικρότεροι των χρόνων για I/O. (burst = καταιγισμός) Οι διεργασίες απαιτούν εναλλασσόμενη χρήση του επεξεργαστή και των μονάδων, με επαναλαμβανόμενο τρόπο Κάθε κύκλος αποτελείται από ένα CPU burst, διάρκειας συνήθως μερικών msecs, ακολουθούμενο από ένα (συνήθως μεγαλύτερο) I/O burst Μια διεργασία τερματίζεται κατά τη διάρκεια ενός CPU burst Οι προοριζόμενες για τον επεξεργαστή διεργασίες έχουν μεγαλύτερα CPU bursts από εκείνα όσων προορίζονται για Ι/Ο ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Ιστόγραμμα συχνοτήτων των χρόνων καταιγισμού της CPU ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
6. Πολιτικές δρομολόγησης Η συνάρτηση επιλογής : αποφασίζει ποια διεργασία στην ουρά των έτοιμων διεργασιών επιλέγεται ως επόμενη για εκτέλεση Η κατάσταση απόφασης: καθορίζει τα στιγμιότυπα του χρόνου στα οποία εξετάζεται η συνάρτηση επιλογής Χωρίς προεκχώρηση (Non-preemption) Κάθε φορά που μια διεργασία βρίσκεται σε εκτελούμενη κατάσταση και συνεχίζει να εκτελείται μέχρι να τερματιστεί ή να ανασταλεί από μόνη της περιμένοντας για την ολοκλήρωση I/O Προεκχώρηση (Preemption) Η τρέχουσα εκτελούμενη διεργασία μπορεί να έχει διακοπεί και να έχει μετακινηθεί σε κατάσταση Ready από το Λ.Σ. Διευκολύνει την καλύτερη εξυπηρέτηση μια και κάθε διεργασία δεν θα μονοπωλεί τη χρήση του επεξεργαστή για μεγάλο χρονικό διάστημα ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Η δρομολόγηση είναι μη προεκχωρούμενη (non-preemptive) όταν η εκτέλεση μιας διεργασίας δεν μπορεί να διακοπεί αν δεν ολοκληρωθεί ο καταιγισμός της. Όταν η εκτέλεση μιας διεργασίας μπορεί να ανασταλεί, χωρίς να ολοκληρώσει τον καταιγισμό της στη CPU, και να δρομολογηθεί προς εκτέλεση μια άλλη διεργασία τότε η δρομολόγηση είναι προεκχωρούμενη (preemptive). ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Ο δρομολογητής της CPU Ο δρομολογητής της CPU επιλέγει από τις έτοιμες διεργασίες που βρίσκονται στην κύρια μνήμη Είναι συστατικό του Λ.Σ. Είναι από μόνος του μια διεργασία Χρησιμοποιεί τους πόρους του συστήματος Ειδικότερα το χρόνο της CPU και τη μνήμη Δεν θα πρέπει να καταναλώνει σημαντικό χρόνο της CPU, διαφορετικά η επιβράδυνση θα είναι μεγάλη ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Παράγοντες που επιδρούν στη δρομολόγηση Αν η διεργασία είναι CPU-bound ή I/O-bound Αν η διεργασία είναι αλληλεπιδραστική ή batch Προτεραιότητα διεργασιών Χρόνος που έχει εκτελεστεί Χρόνος που απαιτείται για να ολοκληρωθεί Συχνότητα προεκχώρησης Συχνότητα εμφάνισης σφαλμάτων σελίδας ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Ο νόμος της διατήρησης του Kleinrock Ανεξάρτητα από τον αλγόριθμο δρομολόγησης που χρησιμοποιείται, δεν είναι δυνατόν να ωφεληθεί μια κατηγορία διεργασιών χωρίς να υπάρξει επίπτωση στις υπόλοιπες. Παράδειγμα: μια μικρή βελτίωση για τις μικρές διεργασίες (π.χ. στον χρόνο αναμονής) προκαλεί δυσανάλογη επιβράδυνση στις μεγάλες διεργασίες. ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Άσκηση - 51 Σε έναν επεξεργαστή δρομολογούνται n διεργασίες. Πόσοι διαφορετικοί συνδυασμοί δρομολόγησης υπάρχουν ( το αποτέλεσμα να εκφραστεί σαν συνάρτηση του n ) Απάντηση n!=n*(n-1)*(n-2)*(n-3)*…*3*2*1 Οι αλγόριθμοι με πολυπλοκότητα O(n!) είναι μη - αποτελεσματικοί ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
7. Αλγόριθμοι Δρομολόγησης Καθορίζουν τον τρόπο επιλογής της επόμενης προς εκτέλεση διεργασίας καθώς και τη σειρά με την οποία εκτελούνται οι διεργασίες Ορίζουν τις ενέργειες εκ μέρους του δρομολογητή ΤΥΠΟΙ αλγορίθμων δρομολόγησης Προεκχωρούμενοι, μη προεκχωρούμενοι ΠΑΡΑΔΕΙΓΜΑΤΑ αλγορίθμων δρομολόγησης FCFS, SJF, SRTF, priority-based, round robin multilevel, multilevel feedback ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Μη προεκχωρούμενη δρομολόγηση Μια διεργασία παραμένει στη CPU μέχρι να απελευθερώσει από μόνη της τη CPU Μεγάλοι χρόνοι αναμονής και απόκρισης Ενδεχόμενο παρατεταμένης στέρησης Απλή και εύκολη στην υλοποίηση Δεν είναι κατάλληλη για συστήματα multi-user ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Προεκχωρούμενη δρομολόγηση Η εκτέλεση μιας διεργασίας μπορεί να διακόπτεται από το Λ.Σ. οποιαδήποτε στιγμή. Πιθανές αιτίες : Η άφιξη μιας νέας διεργασίας με υψηλότερη προτεραιότητα Η πρόκληση μιας διακοπής Η αλλαγή της κατάστασης μιας διεργασίας Η υπέρβαση ενός χρονικού ορίου Εμποδίζεται η μονοπώληση της χρήσης της CPU από μία διεργασία Μπορεί να οδηγήσει σε συνθήκες ανταγωνισμού Επιλύονται χρησιμοποιώντας συγχρονισμό μεταξύ των διεργασιών ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
ΠΑΡΑΔΕΙΓΜΑΤΑ αλγορίθμων δρομολόγησης FCFS (First Come First Served) – πρώτη ήλθε πρώτη εξυπηρετήθηκε SJF ή SPN (Shortest Job First ή Shortest Process (Job) Next) – η συντομότερη διεργασία πρώτη Shortest-Remaining-Time-First (SRTF) - η διεργασία με το μικρότερο εναπομείναντα χρόνο πρώτη . RR (Round Robin) – εξυπηρέτηση εκ περιτροπής ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Ι. First-Come, First-Served (FCFS) Βασικές αρχές Οι διεργασίες εξυπηρετούνται με τη σειρά που φθάνουν Ακόμη και αν φθάνουν την ίδια χρονική στιγμή, η σειρά άφιξης είναι διακριτή, αλλιώς η διεργασία που θα εξυπηρετηθεί κατά προτεραιότητα επιλέγεται τυχαία Κατάσταση απόφασης : χωρίς προεκχώρηση Η διεργασία εκτελείται μέχρι να ανασταλεί από μόνη της Είναι πολύ απλός αλγόριθμος και υλοποιείται εύκολα αλλά είναι ακατάλληλος για συστήματα πολλών χρηστών. ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
FCFS - ιδιότητες Χρησιμοποιεί μια ουρά FIFO Η επιλογή της επόμενης διεργασίας είναι ταχύτατη και ανεξάρτητη από το πλήθος των διεργασιών στην ουρά των έτοιμων διεργασιών Συχνά προκύπτουν μεγάλοι χρόνοι αναμονής και απόκρισης ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
FCFS - μειονεκτήματα Μια διεργασία που δεν χρησιμοποιεί I/O θα μονοπωλεί τη χρήση του επεξεργαστή Ευνοούνται οι προοριζόμενες για τη CPU διεργασίες. Οι προοριζόμενες για I/O διεργασίες θα περιμένουν μέχρι να ολοκληρωθούν οι προοριζόμενες για τη CPU διεργασίες. Θα περιμένουν ακόμη και αν οι I/O λειτουργίες τους έχουν ολοκληρωθεί Υπάρχουν μεγάλες διακυμάνσεις στον μέσο χρόνο επιστροφής Είναι ακατάλληλος αλγόριθμος για αλληλεπιδραστικά συστήματα ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
FCFS - παράδειγμα 10 20 30 5 15 25 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
FCFS - παράδειγμα 10 20 30 5 15 25 P1 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
FCFS - παράδειγμα 10 20 30 5 15 25 P1 P2 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
FCFS - παράδειγμα 10 20 30 5 15 25 P1 P2 P3 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
FCFS - παράδειγμα 10 20 30 5 15 25 P1 P2 P3 P4 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
FCFS - παράδειγμα P1 P2 P3 P4 P5 10 20 30 5 15 25 10 20 30 5 15 25 P1 P2 P3 P4 P5 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
FCFS - παράδειγμα P1 P2 P3 P4 P5 10 20 30 5 15 25 10 20 30 5 15 25 P1 P2 P3 P4 P5 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
II. Shortest-Job-First (SJF) Η διεργασία δηλώνει το χρόνο καταιγισμού της στην CPU Δύο σχήματα: Non-Preemptive – αν εκχωρηθεί η CPU, η διεργασία δεν προεκχωρείται μέχρι να ολοκληρωθεί ο καταιγισμός της. Preemptive – αν υπάρξει μια νέα διεργασία με χρόνο καταιγισμού της CPU μικρότερο από τον εναπομένοντα χρόνο της τρέχουσας διεργασίας, τότε την αντικαθιστά. Η περίπτωση με προεκχώρηση είναι γνωστή και ως ο αλγόριθμος : Η διεργασία με το μικρότερο εναπομείναντα χρόνο πρώτη (Shortest-Remaining-Time-First (SRTF). Είναι η βέλτιστη λύση : δίνει τον ελάχιστο μέσο χρόνο αναμονής για ένα δεδομένο σύνολο διεργασιών. ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
SJF Βασικές αρχές επιλέγεται η διεργασία με το μικρότερο χρόνο καταιγισμού στη CPU ενσωματώνει αναμφίβολα προτεραιότητες : οι συντομότερες διεργασίες έχουν δεδομένη προτεραιότητα αποτελεί μια προφανή βελτίωση του αλγορίθμου FCFS απαιτείται ο υπολογισμός του χρόνου καταιγισμού (CPU burst time) για κάθε διεργασία ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
SJF – ιδιότητες Δίνει πολύ καλύτερο μέσο χρόνο αναμονής σε σχέση με τον αλγόριθμο FCFS Χωρίς προεκχώρηση ωστόσο η έλλειψη προεκχώρησης δεν είναι κατάλληλη σε ένα περιβάλλον καταμερισμού χρόνου Απαιτείται η γνώση των χρόνων καταιγισμού στη CPU που γενικά είναι δύσκολο και συνήθως ακατόρθωτο Η επιλογή είναι περισσότερο σύνθετη από αυτήν του FCFS Είναι πιθανή η παρατεταμένη στέρηση Αν νέες μικρής διάρκειας διεργασίας φθάνουν στο σύστημα οι προγενέστερες, μεγάλης διάρκειας διεργασίες, δεν θα εξυπηρετηθούν ποτέ ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
SJF – παράδειγμα-1 10 20 30 5 15 25 P5 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
SJF – παράδειγμα-1 10 20 30 5 15 25 P5 P3 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
SJF – παράδειγμα-1 10 20 30 5 15 25 P5 P3 P4 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
SJF – παράδειγμα-1 10 20 30 5 15 25 P5 P3 P4 P1 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
SJF – παράδειγμα-1 P5 P3 P4 P1 P2 10 20 30 5 15 25 10 20 30 5 15 25 P5 P3 P4 P1 P2 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
SJF – παράδειγμα-1 P5 P3 P4 P1 P2 10 20 30 5 15 25 10 20 30 5 15 25 P5 P3 P4 P1 P2 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
SJF – παράδειγμα - 2 ready queue at time 0 P1: 6 10 20 30 5 15 25 10 20 30 5 15 25 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
SJF – παράδειγμα - 2 ready queue at time 3 P1 P1: 6 P2: 15 10 20 30 5 10 20 30 5 15 25 P1 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
SJF – παράδειγμα - 2 ready queue at time 5 P1 P3 P2: 15 P1: 6 P2: 15 10 20 30 5 15 25 P1 P3 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
SJF – παράδειγμα - 2 P1 P3 P4 P2: 15 P2: 15 P1: 6 P2: 15 P3: 3 P4: 4 10 20 30 5 15 25 P1 P3 P4 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
SJF – παράδειγμα - 2 P1 P3 P4 P2 P2: 15 P2: 15 P1: 6 P2: 15 P3: 3 10 20 30 5 15 25 P1 P3 P4 P2 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
SJF – παράδειγμα - 2 P1 P3 P4 P2 P5 P2: 15 P2: 15 P1: 6 P2: 15 P3: 3 10 20 30 5 15 25 P1 P3 P4 P2 P5 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
SJF – παράδειγμα - 2 P1 P3 P4 P2 P5 P2: 15 P2: 15 P1: 6 P2: 15 P3: 3 10 20 30 5 15 25 P1 P3 P4 P2 P5 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
ΙΙΙ. Shortest Remaining Time First (SRTF) Βασικές αρχές: επιλέγεται η διεργασία με το μικρότερο εναπομείναντα χρόνο Ο εναπομένων χρόνος είναι ο συνολικός χρόνος καταιγισμού μείον το χρόνο που παρέμεινε προς εξυπηρέτηση η διεργασία στη CPU Αν φθάσει μια διεργασία με μικρότερο χρόνο καταιγισμού από τον υπολειπόμενο χρόνο καταιγισμού της τρέχουσας διεργασίας, η τρέχουσα διεργασία προεκχωρείται. Δεν είναι πρακτική εξ αιτίας της αναγκαστικής πρόβλεψης που απαιτείται για τους χρόνους καταιγισμού ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
SRTF Ο χρόνος άφιξης μιας νέας διεργασίας είναι σημαντικός Είναι χρήσιμη η καταγραφή των διεργασιών που βρίσκονται στην ουρά των έτοιμων διεργασιών Η πολιτική που συνήθως ακολουθείται: οι προεκχωρούμενες διεργασίες οδηγούνται στην ουρά των έτοιμων διεργασιών Η απόφαση για δρομολόγηση λαμβάνεται όταν Μια διεργασία έχει ολοκληρώσει το χρόνο καταιγισμού της στη CPU Μια νέα διεργασία φθάνει στην ουρά των έτοιμων διεργασιών Δίνει καλούς χρόνους απόκρισης στις διεργασίες μικρής διάρκειας γι’ αυτό προτιμάται στα multi-user συστήματα Αν ληφθούν υπόψη οι εναλλαγές πλαισίων η χρονική επιβάρυνση είναι σημαντική Η παρατεταμένη στέρηση είναι πιθανή ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
SRTF - παράδειγμα P1: 6 10 20 30 5 15 25 P1 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
SRTF - παράδειγμα P1 P1 P1: 3 P1: 6 P2: 15 10 20 30 5 15 25 10 20 30 5 15 25 P1 P1 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
SRTF - παράδειγμα P1 P1 P2 P1: 3 P1: 6 P2: 15 P2: 15 10 20 30 5 15 25 10 20 30 5 15 25 P1 P1 P2 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
SRTF - παράδειγμα P1 P1 P2 P3 P1: 3 P2: 12 P1: 6 P2: 15 P2: 15 P3: 3 10 20 30 5 15 25 P1 P1 P2 P3 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
SRTF - παράδειγμα P1 P1 P2 P3 P2 P1: 3 P2: 12 P1: 6 P2: 15 P2: 15 10 20 30 5 15 25 P1 P1 P2 P3 P2 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
SRTF - παράδειγμα P1 P1 P2 P3 P2 P4 P1: 3 P2: 12 P2: 10 P1: 6 P2: 15 10 20 30 5 15 25 P1 P1 P2 P3 P2 P4 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
SRTF - παράδειγμα P1 P1 P2 P3 P2 P4 P4: 1 P1: 3 P2: 12 P2: 10 P5: 2 10 20 30 5 15 25 P1 P1 P2 P3 P2 P4 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
SRTF - παράδειγμα P1 P1 P2 P3 P2 P4 P5 P4: 1 P1: 3 P2: 12 P2: 10 P5: 2 10 20 30 5 15 25 P1 P1 P2 P3 P2 P4 P5 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
SRTF - παράδειγμα P1 P1 P2 P3 P2 P4 P5 P2 P4: 1 P1: 3 P2: 12 P2: 10 10 20 30 5 15 25 P1 P1 P2 P3 P2 P4 P5 P2 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
SRTF - παράδειγμα P1 P1 P2 P3 P2 P4 P5 P2 P4: 1 P1: 3 P2: 12 P2: 10 10 20 30 5 15 25 P1 P1 P2 P3 P2 P4 P5 P2 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Παράδειγμα σύγκρισης SJF και SRTF Process Arrival Time Burst Time P1 0.0 7 P2 2.0 4 P3 4.0 1 P4 5.0 4 SJF Average waiting time = (0 + 6 + 3 + 7)/4 = 4 P1 P3 P2 7 3 16 P4 8 12 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Παράδειγμα σύγκρισης SJF και SRTF Process Arrival Time Burst Time P1 0.0 7 P2 2.0 4 P3 4.0 1 P4 5.0 4 SRTF Average waiting time = (9 + 1 + 0 +2)/4 = 3 P1 P3 P2 4 2 11 P4 5 7 16 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
IV. Round Robin Βασικές αρχές Συνάρτηση επιλογής : ίδια με τον FCFS Στις διεργασίες δίνεται ένα σταθερό ποσό χρόνου της CPU και αναφέρεται ως : time quantum, time slice, slot Η σειρά των διεργασιών είναι συνήθως FIFO Συνάρτηση επιλογής : ίδια με τον FCFS Κατάσταση απόφασης : προεκχώρηση Μια διεργασία επιτρέπεται να εκτελείται μέχρι να συμπληρωθεί το κβάντο χρόνου (συνήθως 10 έως 100 ms) Στη συνέχεια δημιουργείται μια διακοπή ρολογιού και η εκτελούμενη διεργασία τίθεται στην ουρά των έτοιμων διεργασιών Χρησιμοποιείται συχνά σε περιβάλλοντα καταμερισμού χρόνου ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Round Robin: κριτική Ευνοούνται οι προοριζόμενες στην CPU διεργασίες Μια προοριζόμενη για I/O διεργασία χρησιμοποιεί την CPU για χρονικό διάστημα μικρότερο του quantum χρόνου και στη συνέχεια αναστέλλεται περιμένοντας για I/O Μια προοριζόμενη για την CPU διεργασία εκτελείται για όλο το quantum χρόνου και τίθεται μετά στην ουρά των έτοιμων διεργασιών (μπροστά από τις ανασταλμένες διεργασίες) Λύση: ιδεατό round robin Όταν μια I/O ολοκληρώνεται, η ανασταλμένη διεργασία μετακινείται σε μια βοηθητική ουρά που προτιμάται έναντι της βασικής ουράς των έτοιμων διεργασιών Μια διεργασία που αποστέλλεται από την βοηθητική ουρά εκτελείται όχι περισσότερο από το βασικό quantum χρόνου μείον το συνολικό χρόνο που δαπανήθηκε για εκτέλεση ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Διάγραμμα ουράς για ιδεατό Round Robin ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Round Robin Πλεονεκτήματα: απλότητα, χαμηλό overhead, λειτουργεί αποτελεσματικά για αλληλεπιδραστικά συστήματα Μειονεκτήματα: αν το quantum είναι πολύ μικρό, δαπανάται πολύς χρόνος για εναλλαγή πλαισίων. Αν είναι πολύ μεγάλο προσεγγίζει τον FCFS. Τυπικές τιμές για το quantum : 10 - 100 msec Γενικός κανόνας: επιλογή quantum έτσι ώστε η μεγάλη πλειοψηφία (80-90%) των διεργασιών να ολοκληρώνουν τον καταιγισμό τους σε ένα quantum ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Μέγεθος του quantum χρόνου Επιλογές Μικρό ή μεγάλο quantum Σταθερό ή μεταβλητό quantum Το ίδιο για όλες τις διεργασίες ή διαφορετικό Αν το quantum είναι πολύ μεγάλο ο αλγόριθμος RR εκφυλίζεται σε FCFS Αν το quantum είναι πολύ μικρό υπάρχουν πολλές εναλλαγές πλαισίων Βασική αρχή: το quantum πρέπει να είναι ελαφρά μεγαλύτερο από το χρόνο που απαιτεί μια τυπική αλληλεπίδραση ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
RR - παράδειγμα time quantum: 3 units P1 P1: 6 10 20 30 5 15 25 10 20 30 5 15 25 P1 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
RR - παράδειγμα time quantum: 3 units P1 P2 P1: 3 P1: 6 P2: 15 10 20 10 20 30 5 15 25 P1 P2 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
RR - παράδειγμα time quantum: 3 units P1 P2 P1 P1: 3 P2: 12 P1: 6 10 20 30 5 15 25 P1 P2 P1 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
RR - παράδειγμα time quantum: 3 units P1 P2 P1 P2 P1: 3 P2: 12 P3: 3 10 20 30 5 15 25 P1 P2 P1 P2 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
RR - παράδειγμα time quantum: 3 units P1 P2 P1 P2 P3 P1: 3 P2: 12 10 20 30 5 15 25 P1 P2 P1 P2 P3 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
RR - παράδειγμα time quantum: 3 units P1 P2 P1 P2 P3 P2 P1: 3 P2: 12 10 20 30 5 15 25 P1 P2 P1 P2 P3 P2 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
RR - παράδειγμα time quantum: 3 units P1 P2 P1 P2 P3 P2 P4 P2: 6 P1: 3 10 20 30 5 15 25 P1 P2 P1 P2 P3 P2 P4 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
RR - παράδειγμα time quantum: 3 units P1 P2 P1 P2 P3 P2 P4 P5 P2: 6 10 20 30 5 15 25 P1 P2 P1 P2 P3 P2 P4 P5 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
RR - παράδειγμα time quantum: 3 units P1 P2 P1 P2 P3 P2 P4 P5 P2 P2: 6 10 20 30 5 15 25 P1 P2 P1 P2 P3 P2 P4 P5 P2 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
RR - παράδειγμα time quantum: 3 units P4 P1 P2 P1 P2 P3 P2 P4 P5 P2 10 20 30 5 15 25 P4 P1 P2 P1 P2 P3 P2 P4 P5 P2 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
RR - παράδειγμα time quantum: 3 units P4 P1 P2 P1 P2 P3 P2 P4 P5 P2 P2 10 20 30 5 15 25 P4 P1 P2 P1 P2 P3 P2 P4 P5 P2 P2 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
RR - παράδειγμα time quantum: 3 units P4 P1 P2 P1 P2 P3 P2 P4 P5 P2 P2 10 20 30 5 15 25 P4 P1 P2 P1 P2 P3 P2 P4 P5 P2 P2 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Παραδείγματα - Συμβολισμοί P = {pi | 0 i < n} = σύνολο διεργασιών S(pi) {Running, Ready, Blocked} t(pi) = Service Time W(pi) = Wait Time TTRnd(pi) = Turnaround Time ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
First-Come-First-Served i t(pi) 0 350 1 125 2 475 3 250 4 75 350 p0 TTRnd(p0) = t(p0) = 350 W(p0) = 0 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
First-Come-First-Served i t(pi) 0 350 1 125 2 475 3 250 4 75 350 475 p0 p1 TTRnd(p0) = t(p0) = 350 TTRnd(p1) = (t(p1) +TTRnd(p0)) = 125+350 = 475 W(p0) = 0 W(p1) = TTRnd(p0) = 350 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
First-Come-First-Served i t(pi) 0 350 1 125 2 475 3 250 4 75 350 475 950 p0 p1 p2 TTRnd(p0) = t(p0) = 350 TTRnd(p1) = (t(p1) +TTRnd(p0)) = 125+350 = 475 TTRnd(p2) = (t(p2) +TTRnd(p1)) = 475+475 = 950 W(p0) = 0 W(p1) = TTRnd(p0) = 350 W(p2) = TTRnd(p1) = 475 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
First-Come-First-Served i t(pi) 0 350 1 125 2 475 3 250 4 75 350 475 950 1200 p0 p1 p1 p2 p3 TTRnd(p0) = t(p0) = 350 TTRnd(p1) = (t(p1) +TTRnd(p0)) = 125+350 = 475 TTRnd(p2) = (t(p2) +TTRnd(p1)) = 475+475 = 950 TTRnd(p3) = (t(p3) +TTRnd(p2)) = 250+950 = 1200 W(p0) = 0 W(p1) = TTRnd(p0) = 350 W(p2) = TTRnd(p1) = 475 W(p3) = TTRnd(p2) = 950 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
First-Come-First-Served i t(pi) 0 350 1 125 2 475 3 250 4 75 350 475 950 1200 1275 p0 p1 p2 p3 p4 TTRnd(p0) = t(p0) = 350 TTRnd(p1) = (t(p1) +TTRnd(p0)) = 125+350 = 475 TTRnd(p2) = (t(p2) +TTRnd(p1)) = 475+475 = 950 TTRnd(p3) = (t(p3) +TTRnd(p2)) = 250+950 = 1200 TTRnd(p4) = (t(p4) +TTRnd(p3)) = 75+1200 = 1275 W(p0) = 0 W(p1) = TTRnd(p0) = 350 W(p2) = TTRnd(p1) = 475 W(p3) = TTRnd(p2) = 950 W(p4) = TTRnd(p3) = 1200 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
FCFS Average Wait Time Ευκολία στην εφαρμογή Δεν έχει μεγάλη απόδοση i t(pi) 0 350 1 125 2 475 3 250 4 75 Ευκολία στην εφαρμογή Δεν έχει μεγάλη απόδοση 350 475 950 1200 1275 p0 p1 p2 p3 p4 TTRnd(p0) = t(p0) = 350 TTRnd(p1) = (t(p1) +TTRnd(p0)) = 125+350 = 475 TTRnd(p2) = (t(p2) +TTRnd(p1)) = 475+475 = 950 TTRnd(p3) = (t(p3) +TTRnd(p2)) = 250+950 = 1200 TTRnd(p4) = (t(p4) +TTRnd(p3)) = 75+1200 = 1275 W(p0) = 0 W(p1) = TTRnd(p0) = 350 W(p2) = TTRnd(p1) = 475 W(p3) = TTRnd(p2) = 950 W(p4) = TTRnd(p3) = 1200 TTRnd = (350+475+950+1200+1275)/5 = 4250/5 = 850 Wavg = (0+350+475+950+1200)/5 = 2975/5 = 595 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Shortest Job First i t(pi) 0 350 1 125 2 475 3 250 4 75 0 350 1 125 2 475 3 250 4 75 75 p4 TTRnd(p4) = t(p4) = 75 W(p4) = 0 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Shortest Job First i t(pi) 0 350 1 125 2 475 3 250 4 75 0 350 1 125 2 475 3 250 4 75 75 200 p4 p1 TTRnd(p1) = t(p1)+t(p4) = 125+75 = 200 TTRnd(p4) = t(p4) = 75 W(p1) = 75 W(p4) = 0 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Shortest Job First i t(pi) 0 350 1 125 2 475 3 250 4 75 0 350 1 125 2 475 3 250 4 75 75 200 450 p4 p1 p3 TTRnd(p1) = t(p1)+t(p4) = 125+75 = 200 TTRnd(p3) = t(p3)+t(p1)+t(p4) = 250+125+75 = 450 TTRnd(p4) = t(p4) = 75 W(p1) = 75 W(p3) = 200 W(p4) = 0 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Shortest Job First i t(pi) 0 350 1 125 2 475 3 250 4 75 0 350 1 125 2 475 3 250 4 75 75 200 450 800 p4 p1 p3 p0 TTRnd(p0) = t(p0)+t(p3)+t(p1)+t(p4) = 350+250+125+75 = 800 TTRnd(p1) = t(p1)+t(p4) = 125+75 = 200 TTRnd(p3) = t(p3)+t(p1)+t(p4) = 250+125+75 = 450 TTRnd(p4) = t(p4) = 75 W(p0) = 450 W(p1) = 75 W(p3) = 200 W(p4) = 0 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Shortest Job First i t(pi) 0 350 1 125 2 475 3 250 4 75 0 350 1 125 2 475 3 250 4 75 75 200 450 800 1275 p4 p1 p3 p0 p2 TTRnd(p0) = t(p0)+t(p3)+t(p1)+t(p4) = 350+250+125+75 = 800 TTRnd(p1) = t(p1)+t(p4) = 125+75 = 200 TTRnd(p2) = t(p2)+t(p0)+t(p3)+t(p1)+t(p4) = 475+350+250+125+75 = 1275 TTRnd(p3) = t(p3)+t(p1)+t(p4) = 250+125+75 = 450 TTRnd(p4) = t(p4) = 75 W(p0) = 450 W(p1) = 75 W(p2) = 800 W(p3) = 200 W(p4) = 0 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Shortest Job First Ελαχιστοποιεί τον χρόνο αναμονής Γνώση εκ των προτέρων! των χρόνων εξυπηρέτησης i t(pi) 0 350 1 125 2 475 3 250 4 75 75 200 450 800 1275 p4 p1 p3 p0 p2 TTRnd(p0) = t(p0)+t(p3)+t(p1)+t(p4) = 350+250+125+75 = 800 TTRnd(p1) = t(p1)+t(p4) = 125+75 = 200 TTRnd(p2) = t(p2)+t(p0)+t(p3)+t(p1)+t(p4) = 475+350+250+125+75 = 1275 TTRnd(p3) = t(p3)+t(p1)+t(p4) = 250+125+75 = 450 TTRnd(p4) = t(p4) = 75 W(p0) = 450 W(p1) = 75 W(p2) = 800 W(p3) = 200 W(p4) = 0 TTRnd = (800+200+1275+450+75)/5 = 2800/5 = 560 Wavg = (450+75+800+200+0)/5 = 1525/5 = 305 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Σύγκριση δρομολογήσεων χωρίς προεκχώρηση First-Come-First-Serve Shortest Job First TTRnd = (350+475+950+1200+1275)/5 = 4250/5 = 850 Wavg = (0+350+475+950+1200)/5 = 2975/5 = 595 TTRnd = (800+200+1275+450+75)/5 = 2800/5 = 560 Wavg = (450+75+800+200+0)/5 = 1525/5 = 305 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Round Robin (TQ=50) i t(pi) 0 350 1 125 2 475 3 250 4 75 W(p0) = 0 50 0 350 1 125 2 475 3 250 4 75 50 p0 W(p0) = 0 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Round Robin (TQ=50) i t(pi) 0 350 1 125 2 475 3 250 4 75 W(p0) = 0 0 350 1 125 2 475 3 250 4 75 100 p0 p1 W(p0) = 0 W(p1) = 50 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Round Robin (TQ=50) i t(pi) 0 350 1 125 2 475 3 250 4 75 W(p0) = 0 0 350 1 125 2 475 3 250 4 75 100 p0 p1 p2 W(p0) = 0 W(p1) = 50 W(p2) = 100 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Round Robin (TQ=50) i t(pi) 0 350 1 125 2 475 3 250 4 75 W(p0) = 0 0 350 1 125 2 475 3 250 4 75 100 200 p0 p1 p2 p3 W(p0) = 0 W(p1) = 50 W(p2) = 100 W(p3) = 150 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Round Robin (TQ=50) i t(pi) 0 350 1 125 2 475 3 250 4 75 W(p0) = 0 0 350 1 125 2 475 3 250 4 75 100 200 p0 p1 p2 p3 p4 W(p0) = 0 W(p1) = 50 W(p2) = 100 W(p3) = 150 W(p4) = 200 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Round Robin (TQ=50) i t(pi) 0 350 1 125 2 475 3 250 4 75 W(p0) = 0 0 350 1 125 2 475 3 250 4 75 100 200 300 p0 p1 p2 p3 p4 p0 W(p0) = 0 W(p1) = 50 W(p2) = 100 W(p3) = 150 W(p4) = 200 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Round Robin (TQ=50) i t(pi) 0 350 1 125 2 475 3 250 4 75 0 350 1 125 2 475 3 250 4 75 100 200 300 400 475 550 p0 p1 p2 p3 p4 p0 p1 p2 p3 p4 p0 p1 TTRnd(p4) = 475 W(p0) = 0 W(p1) = 50 W(p2) = 100 W(p3) = 150 W(p4) = 200 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Round Robin (TQ=50) i t(pi) 0 350 1 125 2 475 3 250 4 75 0 350 1 125 2 475 3 250 4 75 100 200 300 400 475 550 p0 p1 p2 p3 p4 p0 p1 p2 p3 p4 p0 p1 TTRnd(p1) = 550 TTRnd(p4) = 475 W(p0) = 0 W(p1) = 50 W(p2) = 100 W(p3) = 150 W(p4) = 200 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Round Robin (TQ=50) i t(pi) 0 350 1 125 2 475 3 250 4 75 0 350 1 125 2 475 3 250 4 75 100 200 300 400 475 550 650 p0 p1 p2 p3 p4 p0 p1 p2 p3 p4 p0 p1 p2 p3 650 750 850 950 p0 p2 p3 p0 p2 p3 TTRnd(p1) = 550 TTRnd(p3) = 950 TTRnd(p4) = 475 W(p0) = 0 W(p1) = 50 W(p2) = 100 W(p3) = 150 W(p4) = 200 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Round Robin (TQ=50) i t(pi) 0 350 1 125 2 475 3 250 4 75 0 350 1 125 2 475 3 250 4 75 100 200 300 400 475 550 650 p0 p1 p2 p3 p4 p0 p1 p2 p3 p4 p0 p1 p2 p3 650 750 850 950 1050 p0 p2 p3 p0 p2 p3 p0 p2 p0 TTRnd(p0) = 1100 TTRnd(p1) = 550 TTRnd(p3) = 950 TTRnd(p4) = 475 W(p0) = 0 W(p1) = 50 W(p2) = 100 W(p3) = 150 W(p4) = 200 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Round Robin (TQ=50) i t(pi) 0 350 1 125 2 475 3 250 4 75 0 350 1 125 2 475 3 250 4 75 100 200 300 400 475 550 650 p0 p1 p2 p3 p4 p0 p1 p2 p3 p4 p0 p1 p2 p3 650 750 850 950 1050 1150 1250 1275 p0 p2 p3 p0 p2 p3 p0 p2 p0 p2 p2 p2 p2 TTRnd(p0) = 1100 TTRnd(p1) = 550 TTRnd(p2) = 1275 TTRnd(p3) = 950 TTRnd(p4) = 475 W(p0) = 0 W(p1) = 50 W(p2) = 100 W(p3) = 150 W(p4) = 200 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Round Robin (TQ=50) δίκαιη Χρησιμοποιείται ευρέως i t(pi) 0 350 1 125 0 350 1 125 2 475 3 250 4 75 100 200 300 400 475 550 650 p0 p1 p2 p3 p4 p0 p1 p2 p3 p4 p0 p1 p2 p3 650 750 850 950 1050 1150 1250 1275 p0 p2 p3 p0 p2 p3 p0 p2 p0 p2 p2 p2 p2 TTRnd(p0) = 1100 TTRnd(p1) = 550 TTRnd(p2) = 1275 TTRnd(p3) = 950 TTRnd(p4) = 475 W(p0) = 0 W(p1) = 50 W(p2) = 100 W(p3) = 150 W(p4) = 200 TTRnd_avg = (1100+550+1275+950+475)/5 = 4350/5 = 870 Wavg = (0+50+100+150+200)/5 = 500/5 = 100 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
RR with Overhead=10 (TQ=50) Η επιβάρυνση είναι σημαντική Κάθε εναλλαγή κοστίζει κύκλους i t(pi) 0 350 1 125 i t(pi) 2 475 3 250 4 75 120 240 360 480 540 575 635 670 790 p0 p1 p2 p3 p4 p0 p1 p2 p3 p4 p0 p1 p2 p3 790 910 1030 1150 1270 1390 1510 1535 p0 p2 p3 p0 p2 p3 p0 p2 p0 p2 p2 p2 p2 TTRnd(p0) = 1320 TTRnd(p1) = 660 TTRnd(p2) = 1535 TTRnd(p3) = 1140 TTRnd(p4) = 565 W(p0) = 0 W(p1) = 60 W(p2) = 120 W(p3) = 180 W(p4) = 240 TTRnd_avg = (1320+660+1535+1140+565)/5 = 5220/5 = 1044 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10 Wavg = (0+60+120+180+240)/5 = 600/5 = 120
8. Χρόνος καταιγισμού Πρόβλεψη Εκτίμηση Υπολογισμός παραδείγματα ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Πρόβλεψη του χρόνου καταιγισμού Στην πράξη, η διάρκεια του επόμενου καταιγισμού μιας διεργασίας στη CPU δεν είναι γνωστή Ως συνέπεια, αλγόριθμοι όπως οι SJF, SRTF στην απλή τους μορφή δεν μπορούν να χρησιμοποιηθούν σε συστήματα Η διάρκεια καταιγισμού της CPU μιας διεργασίας μπορεί να υπολογιστεί ως συνάρτηση των προηγούμενων καταιγισμών της ίδιας διεργασίας Ο υπολογισμός απαιτεί την ανάλυση Του κώδικα που θα εκτελεστεί ενώ θα λαμβάνεται η απόφαση για δρομολόγηση Γενικά η διαδικασία είναι δυσχείριστη (intractable) ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Εκτίμηση του χρόνου καταιγισμού Η διάρκεια του επόμενου καταιγισμού της CPU υπολογίζεται από τις διάρκειες των προηγούμενων καταιγισμών συχνά, οι πρόσφατοι καταιγισμοί είναι περισσότερο σημαντικοί από τους παλαιότερους Ο υπολογισμός προσθέτει επιπλέον επιβάρυνση στη διαδικασία απόφασης για τη δρομολόγηση Απαιτείται χρόνος για τους υπολογισμούς Απαιτείται μνήμη για την αποθήκευση των τιμών των πρόσφατων καταιγισμών ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Υπολογισμός του χρόνου καταιγισμού Ο γενικός τύπος για την εκτίμηση της διάρκειας του επόμενου καταιγισμού της CPU από τις διάρκειες των προηγουμένων : E i = a * B i-1 + (1-a) * E i-1 Ei εκτίμηση τη στιγμή i Bi-1 πραγματική διάρκεια καταιγισμού τη στιγμή i-1 a συντελεστής που εξισορροπεί τη σπουδαιότητα των πρόσφατων και των όχι πρόσφατων καταιγισμών ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Παράδειγμα Τη χρονική στιγμή Ti γίνεται εκτίμηση της διάρκειας του επόμενου καταιγισμού της CPU που βασίζεται σε πληροφορίες που προέρχονται από τις διάρκειες των προηγουμένων, από τον τύπο: E i = a * B i-1 + (1-a) * E i-1 Πρέπει να επιλεγεί μια τιμή για το a (π.χ. 0.75) Για την πρώτη τιμή B0, γίνεται μια εικασία, ενώ στη συνέχεια χρησιμοποιείται η μετρηθείσα τιμή για τον προηγούμενο καταιγισμό Οι μετρούμενες τιμές ίσως διαφέρουν σημαντικά από τις εκτιμώμενες ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Παράδειγμα Time Estimate Previous Burst ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Παράδειγμα Time Estimate Previous Burst ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Παράδειγμα Time Estimate Previous Burst ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Παράδειγμα Time Estimate Previous Burst ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Παράδειγμα Time Estimate Previous Burst ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Υπολογισμός της διάρκειας καταιγισμού : σχόλια Ο υπολογισμός της διάρκειας καταιγισμού σύμφωνα με τα προηγούμενα βασίζεται στις εξής παραδοχές : Τα πλέον πρόσφατα στιγμιότυπα είναι καταλληλότερα για να εκφράσουν τη μελλοντική συμπεριφορά, επομένως είναι επιθυμητό να δίνεται σε αυτά μεγαλύτερο βάρος Η χρήση του εκθετικού υπολογισμού του μέσου όρου της διάρκειας των πιο πρόσφατων καταιγισμών είναι μια κοινή τεχνική για την πρόβλεψη της μελλοντικής τιμής που προσεγγίζει καλύτερα την πραγματικότητα Συνήθως χρησιμοποιείται μια σταθερή τιμή για το a, ανεξάρτητη από το πλήθος των παλαιότερων παρατηρήσεων. Έτσι λαμβάνονται υπόψη όλες οι παλιές τιμές αλλά αυτές με τη μεγαλύτερη απόσταση από την τρέχουσα έχουν το μικρότερο βάρος Ο εκθετικός μέσος όρος παρακολουθεί τις αλλαγές στη συμπεριφορά της διεργασίας ταχύτερα από τον απλό μέσον όρο ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Εκθετικοί συντελεστές σταθεροποίησης ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
9. Δρομολόγηση με ουρές πολλαπλών επιπέδων Η ουρά των έτοιμων διεργασιών διαμοιράζεται σε αρκετές ξεχωριστές ουρές Οι ουρές έχουν διαφορετικές προτεραιότητες Οι ουρές χρησιμοποιούν διαφορετικούς αλγορίθμους δρομολόγησης Οι διεργασίες εκχωρούνται μόνιμα σε μια ουρά Οι διεργασίες αλληλεπίδρασης ανήκουν στις ουρές υψηλής προτεραιότητας ενώ οι διεργασίες που εκτελούνται σωρηδόν (batch) στις ουρές χαμηλής προτεραιότητας ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
10. Δρομολόγηση με ανάδραση Δρομολόγηση με προεκχώρηση και δυναμικό μηχανισμό προτεραιότητας Διαφορετικές ουρές των έτοιμων διεργασιών με φθίνουσες προτεραιότητες : P(RQ0) > P(RQ1) > ... > P(RQn) Σε κάθε ουρά (εκτός από τη χαμηλότερης προτεραιότητας ουρά) χρησιμοποιείται ένας απλός μηχανισμός, τύπου FCFS. Στη χαμηλότερης προτεραιότητας ουρά μια διεργασία δεν μπορεί να μετακινηθεί χαμηλότερα αλλά επιστρέφει στην ουρά επανειλημμένα, μέχρι να ολοκληρωθεί η εκτέλεσή της (εξυπηρέτηση Round Robin) ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Παράδειγμα Μια νέα διεργασία τοποθετείται στην RQ0 Όταν φθάσει στο quantum χρόνου, τοποθετείται στην RQ1. Όταν αυτό ξανασυμβεί τοποθετείται στην RQ2... μέχρι να φθάσει στην RQn. Οι προοριζόμενες για I/O διεργασίες θα παραμένουν σε υψηλότερης προτεραιότητας ουρές. Οι προοριζόμενες για CPU διεργασίες θα κατευθύνονται χαμηλότερα. Ο διεκπεραιωτής επιλέγει μια διεργασία για εκτέλεση στην RQi μόνον αν RQi-1 έως RQ0 είναι κενές Και εδώ οι μεγάλες διεργασίες μπορούν να παρουσιάσουν παρατεταμένη στέρηση ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Δρομολόγηση με ανάδραση ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Δρομολόγηση με ανάδραση με ουρές πολλαπλών επιπέδων Η ουρά των έτοιμων διεργασιών διαμοιράζεται σε αρκετές ξεχωριστές ουρές Οι ουρές έχουν διαφορετικές προτεραιότητες Οι ουρές χρησιμοποιούν διαφορετικούς αλγορίθμους δρομολόγησης Υπάρχει ένας αλγόριθμος για τη δρομολόγηση των ουρών Συνήθως σε κάθε ουρά εκχωρείται ένα καθορισμένο ποσοστό του χρόνου της CPU Οι διεργασίες μπορούν να μετακινούνται από ουρά σε ουρά Παρέχεται ευελιξία στις διεργασίες των οποίων τα χαρακτηριστικά μεταβάλλονται κατά τη διάρκεια ζωής τους Προλαμβάνεται η πιθανότητα παρατεταμένης στέρησης ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Παράδειγμα : Ανάδραση Τρεις ουρές: Δρομολόγηση Q1 – quantum 8 msecs – υψηλή προτεραιότητα Q2 – quantum 16 msecs – μεσαία προτεραιότητα Q3 – FCFS – χαμηλή προτεραιότητα Δρομολόγηση Οι νέες διεργασίες εισέρχονται στην ουρά Q1 Οι διεργασίες με μικρούς χρόνους καταιγισμού έχουν υψηλή προτεραιότητα Οι διεργασίες με μεγάλους χρόνους καταιγισμού ολοκληρώνονται στην ουρά χαμηλής προτεραιότητας ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Multilevel Queues Example 12 28 36 46 P1 P2 P3 P4 P5 17-8 = 9 25-8 = 17 8-8 = 0 32-8 = 24 18-8 = 10 10 20 30 40 50 60 70 80 90 100 P5 P2 P4 P4 P5 Queue 2 P1 P1 P2 P2 P2 P4 P5 10 20 30 40 50 60 70 80 90 100 P1 P1 P2 P2 P2 P4 P5 9-4 = 5 5-5 = 0 17-3 = 14 14-2 = 12 12-11 = 1 24-16 = 8 10-10 = 0 P4 P4 Queue 3 P2 P2 P2 P4 10 20 30 40 50 60 70 80 90 100 P2 P4 1-1 = 0 8-8 = 0 Gantt Chart 8 12 20 25 28 36 44 46 54 65 81 91 92 10 20 30 40 50 60 70 80 90 100 P1 P1 P2 P1 P2 P3 P4 P2 P5 P2 P4 P5 P2 P4 Q 1 Q2 Q 1 Q2 Q2 Q 1 Q 1 Q2 Q 1 Q2 Q2 Q2 Q3 Q3 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Σύγκριση αλγορίθμων δρομολόγησης Ποιος είναι ο καλύτερος; Η απάντηση εξαρτάται από : Το φορτίο του συστήματος (ισχυρά μεταβαλλόμενο) Την υποστήριξη υλικού για το δρομολογητή Το σχετικό βάρος των κριτηρίων απόδοσης (χρόνος απόκρισης, χρήση της, ρυθμοαπόδοση...) Τη μέθοδο αποτίμησης που χρησιμοποιείται (καθεμιά έχει τους περιορισμούς της...) ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Άσκηση - 52 process Burst time priority P1 10 3 P2 1 P3 2 P4 4 P5 5 Θεωρείστε το ακόλουθο σύνολο διεργασιών, στο οποίο το μήκος των CPU burst times είναι σε milliseconds Υποθέστε ότι οι διεργασίες έχουν φθάσει με τη σειρά P1, P2, P3, P4, και P5, όλες τη χρονική στιγμή 0 process Burst time priority P1 10 3 P2 1 P3 2 P4 4 P5 5 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Σχεδιάστε το διάγραμμα εκτέλεσης για καθεμία από τις πολιτικές δρομολόγησης : FCFS, SJF, RR Βρείτε για κάθε διεργασία τον turnaround time και τον waiting time καθώς και τις μέσες τιμές τους. ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Λύση άσκησης 52 Time 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 FCFS: P1 P1 P1 P1 P1 P1 P1 P1 P1 P1 P2 P3 P3 P4 P5 P5 P5 P5 P5 SJF: P2 P4 P3 P3 P5 P5 P5 P5 P5 P1 P1 P1 P1 P1 P1 P1 P1 P1 P1 RR: P1 P2 P3 P4 P5 P1 P3 P5 P1 P5 P1 P5 P1 P5 P1 P1 P1 P1 P1 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Turnaround time = waiting time + execution time FCFS SJF RR P1 10 19 19 P2 11 1 2 P3 13 4 7 P4 14 2 4 P5 19 9 14 Average 13.4 7.0 9.2 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Waiting time = turnaround time - burst time FCFS SJF RR P1 0 9 9 Average 9.6 3.2 5.4 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Άσκηση - 53 Θεωρείστε τις παρακάτω δύο διεργασίες. Κάθε διεργασία εκτελεί ένα CPU burst μετά ένα I/O burst, άλλο ένα CPU burst, άλλο ένα I/O burst και τερματίζει με ένα CPU burst. Τα μήκη των CPU burst και I/O burst χρόνων σε milliseconds δίνονται στον παρακάτω πίνακα: Process CPU-burst1 I/O-burst1 CPU-burst2 I/O-burst2 CPU-burst3 Arrival P1 3 2 2 3 2 0 P2 2 2 3 3 2 1 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Σχεδιάστε δύο διαγράμματα που θα δείχνουν την εκτέλεση των διεργασιών χρησιμοποιώντας τον αλγόριθμο δρομολόγησης round robin (RR) με quantum = 1 και quantum = 3. Αν μια I/O ολοκλήρωση και μια CPU timeout των δύο διεργασιών συμβαίνει την ίδια στιγμή εξυπηρετείται πρώτα η I/O ολοκλήρωση. Ποιος είναι ο waiting time κάθε διεργασίας σε κάθε περίπτωση; Ποια είναι η μέση τιμή; Ποιος είναι ο turn-around time κάθε διεργασίας σε κάθε περίπτωση; Ποια είναι η μέση τιμή; Τι θα συμβεί αν αντιστοιχηθεί προτεραιότητα σε κάθε διεργασία και η προτεραιότητα της P2 είναι υψηλότερη της P1. Να εξετάσετε και τις δύο περιπτώσεις (quantum=1 και quantum=3) ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Λύση άσκησης 53 xxx Process is running --- Process is ready III Process is blocked on I/O device iii CPU idle Time 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 q=1 P1: xxx---xxx---xxxIIIIIIxxx---xxxIIIIIIIIIxxx---xxxTerm P2: xxx---xxxIIIIIIxxx---xxx---xxxIIIIIIIIIxxx---xxxTerm CPU: iii iiiiii q=3 P1: xxxxxxxxxIIIIIIxxxxxxIIIIIIIIIxxxxxxTerm P2: ------xxxxxxIIIIIIxxxxxxxxxIIIIIIIIIxxxxxxTerm ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
(i) q = 1: P1:4; P2:4; Mean value: 4 Waiting times: (i) q = 1: P1:4; P2:4; Mean value: 4 (ii) q = 3: P1:0; P2:2; Mean value: 1 Turn around times: (i) q = 1: P1:16; P2:16; Mean value:16 (ii) q = 3: P1:12; P2:14; Mean value:13 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
III Process is blocked on I/O device xxx Process is running --- Process is ready III Process is blocked on I/O device Time 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 q=1 P1: xxx------xxxxxxIIIIII---xxxxxxIIIIIIIIIxxxxxxTerm P2: xxxxxxIIIIIIxxxxxxxxxIIIIIIIIIxxxxxxTerm q=3 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Άσκηση - 54 Process Arrival time Burst time Priority Να σχεδιάσετε το διάγραμμα Gantt για καθένα από τους παρακάτω αλγορίθμους δρομολόγησης : FCFS, RR με quantum=2 χρονικές μονάδες, Preemptive και Nonpreemptive SJF και να υπολογίσετε τον μέσο χρόνο επιστροφής για τον κάθε αλγόριθμο. Process Arrival time Burst time Priority A 0 3 2 B 2 6 4 C 4 4 1 D 6 5 5 E 8 2 3 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
FCFS : Gantt Chart A B C D E 3 9 13 18 20 3 9 13 18 20 Ave. TAT = 3 + 9 + 13 + 18 + 20 = 63 = 12.6 time units 5 5 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
RR : Time Quantum = 2 time units B C D E A B C D B D 2 4 6 8 10 11 13 15 17 19 20 Ave. TAT = 11 + 19 + 15 + 20 + 10 = 75 = 15 time units 5 5 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Nonpreemptive SJF Gantt Chart : D B 2 5 9 14 20 Ave. TAT = 2 + 5 + 9 + 14 + 20 = 50 = 10 time units 5 5 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Preemptive SJF Gantt Chart : B C C E B D 2 3 4 6 8 10 15 20 Ave. TAT = (3 - 0) + (15 - 2) + (8 – 4) + (20 – 6) + (10 – 8) = 7.2 time units 5 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Άσκηση - 55 Πέντε batch διεργασίες (A – E), φθάνουν σε ένα υπολογιστικό κέντρο ακριβώς την ίδια στιγμή. Έχει υπολογιστεί ότι οι χρόνοι εκτέλεσής τους είναι 10, 6, 2, 4, και 8 λεπτά. Οι προτεραιότητές τους είναι αντίστοιχα 3, 5, 2, 1, και 4, η μεγαλύτερη προτεραιότητα είναι η 5. Για κάθε έναν από τους παρακάτω αλγόριθμους δρομολόγησης να βρεθεί ο μέσος χρόνος επιστροφής (mean turnaround time). Να αγνοηθεί η επιβάρυνση λόγω εναλλαγής πλαισίου διεργασίας. (a) Round robin. (b) First-come, first-served (εκτέλεση κατά σειρά 10, 6, 2, 4, 8). (c) Shortest job first. Για την περίπτωση (a), υποθέστε ότι το σύστημα είναι πολυπρογραμματισμού και ότι κάθε διεργασία χρησιμοποιεί την CPU εξ ίσου με τις υπόλοιπες. Για τις περιπτώσεις (b) και (c) υποθέστε ότι κάθε στιγμή μόνον μια διεργασία μπορεί να εκτελείται, μέχρι να τερματιστεί. Όλες οι διεργασίες είναι εξ ολοκλήρου CPU bound. ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Round Robin Κατά τη διάρκεια των πρώτων 10 λεπτών κάθε διεργασία αποκτά τον έλεγχο της CPU για το 1/5 του χρόνου. Στο τέλος του 8ου λεπτού, η C τερματίζεται. Κατά τη διάρκεια των επόμενων 8 λεπτών κάθε διεργασία αποκτά τον έλεγχο της CPU για το ¼ του χρόνου μετά από το οποίο η διεργασία D τερματίζεται. Τότε καθεμία από τις εναπομένουσες διεργασίες αποκτά τον έλεγχο της CPU για το 1/3 του χρόνου για 6 λεπτά, μέχρι να τερματιστεί η διεργασία B κλπ. Οι χρόνοι ολοκλήρωσης είναι : A: 30, B:23, C:8, D:17 και E:28, με μέση τιμή 21.2 λεπτά. ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Άσκηση - 56 Να συγκρίνετε τους αλγορίθμους FCFS και RR ως προς το αν μεροληπτούν και σε τι βαθμό υπέρ των μικρής διάρκειας διεργασιών. ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Άσκηση - 57 Ποιο είναι το πλεονέκτημα της ύπαρξης διαφορετικού μεγέθους quantum χρόνου στα επίπεδα ενός συστήματος με ουρές πολλαπλών επιπέδων (multilevel queueing system); Οι διεργασίες που χρειάζονται συχνά εξυπηρέτηση, π.χ. διεργασίες αλληλεπίδρασης (interactive processes) όπως είναι οι editors, μπορούν να βρίσκονται σε μια ουρά με μικρό quantum χρόνου. Οι διεργασίες που δεν απαιτούν συχνά εξυπηρέτηση μπορούν να βρίσκονται σε μια ουρά με μεγαλύτερο quantum, απαιτώντας λιγότερες εναλλαγές πλαισίου για να ολοκληρώσουν την επεξεργασία τους, εξασφαλίζοντας έτσι περισσότερο αποδοτική χρήση του συστήματος. ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Άσκηση - 58 Ποια είναι η επίδραση της συνεχούς αύξησης του quantum χρόνου στον αλγόριθμο δρομολόγησης Round Robin ? Ο μέσος χρόνος αναμονής μειώνεται Ο μέσος χρόνος επιστροφής αυξάνεται Ο αλγόριθμος συμπεριφέρεται ακριβώς το ίδιο με τον FCFS Όλα τα παραπάνω Κανένα από τα παραπάνω 3 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Άσκηση - 59 Υποθέστε ότι ένα σύστημα έχει μια CPU και μέσο ρυθμό αφίξεων διεργασιών 20 jobs/minute. Κάθε διεργασία έχει μέσο χρόνο εξυπηρέτησης 2 seconds. Ποιο είναι το αναμενόμενο ποσοστό χρόνου κατά το οποίο η CPU είναι απασχολημένη; 40% 66.7% 83.3% 87.5% Κανένα από τα ανωτέρω 2 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Άσκηση - 60 Μια πολιτική δρομολόγησης προσπαθεί να βελτιστοποιήσει : CPU utilization Average wait time Average turnaround time Average throughput rate Όλα τα παραπάνω 5 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Άσκηση - 61 Ποιο από τα παρακάτω είναι αληθές για τον αλγόριθμο δρομολόγησης FCFS ; Ελαχιστοποιεί τον χρόνο αναμονής Μεγιστοποιεί την ρυθμοαπόδοση (throughput) Μεγιστοποιεί την δικαιοσύνη κατά τη χρήση της CPU. Τίποτε από τα παραπάνω Όλα τα παραπάνω 4 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Άσκηση - 62 Για τα παρακάτω προβλήματα, χρησιμοποιείστε τα εξής δεδομένα για τις διεργασίες : process Service time P0 150 P1 30 P2 130 P3 80 P4 90 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
FCFS, the average wait time? 96 180 206 302 Κανένα από τα παραπάνω 3 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
FCFS, the average turnaround time? 96 206 302 480 Κανένα από τα παραπάνω 3 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
SJN, the average wait time? 96 134 230 330 Κανένα από τα παραπάνω ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
SJN, the average turnaround time? 96 134 240 330 Κανένα από τα παραπάνω 5 (230) ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
RR scheduling (time quantum=40, no scheduling overhead), the average wait time? 74 164 188 Κανένα από τα παραπάνω 2 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
RR scheduling (time quantum=40, no scheduling overhead), the average turnaround time? 74 172 258 Κανένα από τα παραπάνω 5 (354) ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
RR scheduling (time quantum = 40 και overhead =10 (dispatching, context switching, etc.)) ,the average wait time? 40 74 86 94 Κανένα από τα παραπάνω 4 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
RR scheduling (time quantum = 40 και overhead =10 (dispatching, context switching, etc.)) ,the average turnaround time? 296 354 378 442 Κανένα από τα παραπάνω 4 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Άσκηση - 63 Ένας δρομολογητής χρησιμοποιεί αλγόριθμο RR με προτεραιότητες. Οι νέες διεργασίες λαμβάνουν ένα αρχικό quantum μεγέθους q. Κάθε φορά που μια διεργασία χρησιμοποιεί όλο το quantum χωρίς να διακοπεί (blocking), το νέο της quantum γίνεται διπλάσιο από το τρέχον. Αν μια διεργασία διακοπεί πριν λήξει το quantum της, το νέο της quantum είναι πάλι q. Υποθέστε επίσης ότι κάθε διεργασία απαιτεί ένα πεπερασμένο χρονικό διάστημα στην CPU. Υποθέστε ότι ο δρομολογητής δίνει μεγαλύτερη προτεραιότητα στις διεργασίες που έχουν μεγάλα quanta. Είναι πιθανή η παρατεταμένη στέρηση στο σύστημα; Υποθέστε ότι ο δρομολογητής δίνει μεγαλύτερη προτεραιότητα στις διεργασίες που έχουν μικρότερα quanta Είναι πιθανή η παρατεταμένη στέρηση στο σύστημα; ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Αν μια διεργασία χρησιμοποιεί όλο το q quantum ο δρομολογητής θα της επιτρέπει να εκτελείται μέχρι να τελειώσει ή να διακοπεί μια και έχει μεγαλύτερη προτεραιότητα από τις υπόλοιπες. Αν διακοπεί θα αναμένει στην ουρά. Δηλαδή είναι μια κανονική RR δρομολόγηση , που δίνει σε κάποιες διεργασίες ένα μεγαλύτερο quantum χρόνου. Δεν προκύπτει παρατεταμένη στέρηση. Υποθέστε ότι μια διεργασία P1 χρησιμοποιεί το συνολικό quantum q, και ένα σταθερό σύνολο νέων διεργασιών φθάνει στο σύστημα, τέτοιο ώστε να υπάρχει πάντοτε μια τουλάχιστον διεργασίες έτοιμη προς εκτέλεση. Αυτές οι διεργασίες θα έχουν μεγαλύτερη προτεραιότητα από την P1 και ο δρομολογητής θα επιλέγει πάντοτε για εκτέλεση από αυτές παρά την P1 . Η P1 θα είναι σε παρατεταμένη στέρηση. ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Άσκηση – 64 (Ιούνιος 2005) Ένα Λ.Σ. χρησιμοποιεί δρομολόγηση εκ περιτροπής (round-robin). Ο χρόνος καταιγισμού (time quantum) είναι Q και ο χρόνος που απαιτείται για την εναλλαγή πλαισίου (context switch) είναι C. Κατά τη διάρκεια μιας χρονικής περιόδου Τ, πολύ μεγαλύτερης από Q+C, υπάρχουν στο σύστημα N ενεργές διεργασίες και κατά τη διάρκεια αυτής της περιόδου καμία νέα δεν ξεκινά ούτε κάποια από τις ενεργές τερματίζεται. Υποθέστε επίσης ότι όλες οι διεργασίες χωρούν στη μνήμη, δηλαδή δεν απαιτείται εναλλαγή ή σελιδοποίηση. Να βρείτε και να δικαιολογήσετε ποιες από τις παρακάτω προτάσεις είναι αληθείς και κάτω από ποιες προϋποθέσεις : 1. όλες οι διεργασίες λαμβάνουν ίσο μερίδιο χρόνου της CPU. 2. αν η διεργασία P είναι έτοιμη, τότε θα δρομολογηθεί για εκτέλεση εντός χρόνου NC + (N-1)Q. 3. αν η διεργασία P έχει εξαντλήσει τον χρόνο καταιγισμού της θα πρέπει να περιμένει τουλάχιστον χρόνο NC + (N-1)Q. 4. αν η διεργασία P εκτελείται και μπλοκαριστεί, και η διεργασία W είναι γενικά έτοιμη τότε η W θα εκτελεστεί πριν η P εκτελεστεί ξανά. 5. η αποδοτικότητα του συστήματος , δηλαδή το ποσοστό του χρόνου κατά τον οποίο η CPU εκτελεί μια διεργασία, είναι πάντοτε ίση με Q/(Q+C). ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Άσκηση – 65 (Σεπτέμβριος 2005) Υποθέστε ότι οι παρακάτω διεργασίες εισέρχονται σε ένα σύστημα στους χρόνους που αναγράφονται και απαιτούν τους αντίστοιχους χρόνους εκτέλεσης: ΔΙΕΡΓΑΣΙΑ ΧΡΟΝΟΣ ΕΚΚΙΝΗΣΗΣ ΕΚΤΕΛΕΣΗΣ A 10 Β 2 3 C 4 8 D 7 6 E 1 F 17 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10
Να σχεδιάσετε το διάγραμμα εκτέλεσης των διεργασιών και να βρείτε τους χρόνους επιστροφής (turnaround time) κάθε διεργασίας καθώς και τους μέσους χρόνους επιστροφής για τους εξής αλγορίθμους δρομολόγησης : η διεργασία με τον μικρότερο εναπομείναντα χρόνο πρώτη, με προεκχώρηση εκ περιτροπής (round robin) χωρίς κόστος εναλλαγής πλαισίου (context switching). Ο χρόνος καταιγισμού (quantum) δεν είναι σταθερός αλλά εξαρτάται από το πλήθος των διεργασιών που βρίσκονται στο σύστημα κάθε στιγμή και : είναι αντιστρόφως ανάλογος του πλήθους των ενεργών διεργασιών μοιράζεται σε όλες εξ ίσου π.χ. αν οι διεργασίες P και Q είναι ενεργές κατά τη χρονική στιγμή 4 και η P χρειάζεται ακόμη 4 seconds για να τελειώσει και η Q 3 seconds, τότε τη χρονική στιγμή 5 η P θα χρειάζεται ακόμη 3.5 seconds για να τελειώσει και η Q 2.5 seconds. ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10