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

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

ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10 1 10. Δρομολόγηση σε σύστημα ενός επεξεργαστή 1.Εισαγωγή 2.Κριτήρια αποτίμησης της απόδοσης 3.Κριτήρια.

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


Παρουσίαση με θέμα: "ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10 1 10. Δρομολόγηση σε σύστημα ενός επεξεργαστή 1.Εισαγωγή 2.Κριτήρια αποτίμησης της απόδοσης 3.Κριτήρια."— Μεταγράφημα παρουσίασης:

1 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Δρομολόγηση σε σύστημα ενός επεξεργαστή 1.Εισαγωγή 2.Κριτήρια αποτίμησης της απόδοσης 3.Κριτήρια βελτιστοποίησης 4.Τύποι δρομολόγησης του επεξεργαστή 5.Ο κύκλος καταιγισμού CPU-I/O 6.Πολιτικές δρομολόγησης 7.Αλγόριθμοι Δρομολόγησης I.First Come First Served (FCFS) II.Shortest Job First (SJF) III.Shortest Remaining Time First (SRTF) IV.Round Robin (RR) 8.Χρόνος καταιγισμού 9.Δρομολόγηση με ουρές πολλαπλών επιπέδων 10.Δρομολόγηση με ανάδραση

2 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Εισαγωγή Η ενότητα αυτή εξετάζει τη δρομολόγηση της χρήσης ενός επεξεργαστή μεταξύ όλων των πιθανών επεξεργαστών του συστήματος Στόχοι της δρομολόγησης –Μεγάλη χρήση του επεξεργαστή (CPU utilization) –Υψηλή ρυθμο-απόδοση (High throughput) Πλήθος διεργασιών που ολοκληρώνονται στη μονάδα του χρόνου –Μικρός χρόνος απόκρισης (response time) Ο χρόνος που μεσολαβεί από την υποβολή μιας απαίτησης μέχρι την έναρξη της απόκρισης του συστήματος –Ορισμένοι στόχοι είναι αλληλοσυγκρουόμενοι !!

3 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Κριτήρια αποτίμησης της απόδοσης n Δικαιοσύνη (FAIRNESS) : συχνή χρήση της CPU από κάθε διεργασία n Χρησιμοποίηση (UTILIZATION) : το ποσοστό του χρόνου κατά το οποίο μια συσκευή χρησιμοποιείται ( χρόνος χρήσης / συνολικός χρόνος) n Ρυθμο-απόδοση (THROUGHPUT) : ο αριθμός των εργασιών που ολοκληρώνονται σε μια χρονική περίοδο (εργασίες / second ) n Χρόνος επιστροφής (TURNAROUND TIME) :ο χρόνος εκτέλεσης μιας διεργασίας – από την αρχή μέχρι την ολοκλήρωση. n Χρόνος εξυπηρέτησης (SERVICE TIME) : ο χρόνος που απαιτείται από μια συσκευή για να διαχειριστεί μια απαίτηση

4 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10 4 n Χρόνος αναμονής (WAITING TIME) : Ο χρόνος σε μια ουρά αναμονής ΕΤΟΙΜΩΝ διεργασιών (seconds) n Χρόνος παραμονής (RESIDENCE TIME) : ο χρόνος που ξοδεύεται από μια απαίτηση σε μια συσκευή RESIDENCE TIME = SERVICE TIME + QUEUEING TIME n Χρόνος απόκρισης (RESPONSE TIME) : ο χρόνος από τότε που μια απαίτηση υποβάλλεται μέχρι τη στιγμή που παράγεται η πρώτη απόκριση, όχι την έξοδο n Εναλλαγές πλαισίων (context switches) : χρόνος που σπαταλάται και διατηρεί την CPU άεργη n Πολυπλοκότητα του αλγορίθμου δρομολόγησης : χρόνος που απαιτείται για την επιλογή της επόμενης διεργασίας

5 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Κριτήρια βελτιστοποίησης Μεγιστοποίηση : –Χρήσης της CPU –Ρυθμοαπόδοσης Ελαχιστοποίηση των χρόνων : –επιστροφής –αναμονής –απόκρισης Τα κριτήρια αυτά είναι συχνά αλληλοσυγκρουόμενα!!!

6 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Τύποι δρομολόγησης του επεξεργαστή

7 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10 7 Μακροπρόθεσμη (Long-term): ποια διεργασία θα γίνει αποδεκτή για επεξεργασία από το σύστημα Μεσοπρόθεσμη (Medium-term): ποια διεργασία θα προστεθεί στις διεργασίες που βρίσκονται ολόκληρες ή εν μέρει στην κύρια μνήμη Βραχυπρόθεσμη (Short-term): ποια διαθέσιμη διεργασία θα εκτελεστεί

8 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10 8 Μακροπρόθεσμη δρομολόγηση Καθορίζει ποια προγράμματα θα γίνουν αποδεκτά για επεξεργασία από το σύστημα Ελέγχει τον βαθμό πολυπρογραμματισμού του συστήματος Αν γίνουν αποδεκτές περισσότερες διεργασίες –Λιγότερες διεργασίες θα ανασταλούν, θα υπάρξει καλύτερη χρήση της CPU –Κάθε διεργασία θα λάβει λιγότερο ποσοστό χρόνου της CPU Ο μακροπρόθεσμος δρομολογητής προσπαθεί να διατηρήσει μια ισορροπία ανάμεσα στις προοριζόμενες για τον επεξεργαστή διεργασίες (processor-bound) και στις προοριζόμενες για λειτουργίες Ι/Ο διεργασίες (I/O- bound)

9 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10 9 Μεσοπρόθεσμη δρομολόγηση Οι αποφάσεις για εναλλαγή των διεργασιών βασίζονται στην ανάγκη της διαχείρισης του πολυπρογραμματισμού Γίνεται από το λογισμικό της διαχείρισης μνήμης

10 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Βραχυπρόθεσμη δρομολόγηση Αποφασίζει ποια διεργασία πρόκειται να εκτελεστεί ως επόμενη (αναφέρεται συνήθως ως CPU scheduling) Είναι το αντικείμενο αυτής της ενότητας Είναι γνωστή και ως διεκπεραίωση (ο βραχυπρόθεσμος δρομολογητής λέγεται διεκπεραιωτής – dispatcher). Ενεργοποιείται από ένα γεγονός που μπορεί να οδηγήσει στην επιλογή μιας άλλης διεργασίας για εκτέλεση : –διακοπές ρολογιού –διακοπές I/O –κλήσεις του Λ.Σ. –σήματα

11 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Κριτήρια βραχυπρόθεσμης δρομολόγησης Κριτήρια προσανατολισμένα στο χρήστη –Χρόνος απόκρισης –Χρόνος επιστροφής Κριτήρια προσανατολισμένα στο σύστημα –Χρησιμοποίηση επεξεργαστή –Δικαιοσύνη –Ρυθμοαπόδοση

12 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Διεκπεραιωτής (Dispatcher) Ο έλεγχο της CPU δίνεται στη διεργασία που έχει επιλεγεί από τον βραχυχρόνιο δρομολογητή. Η εκχώρηση αυτή περιλαμβάνει : –Εναλλαγή πλαισίου –Εναλλαγή σε κατάσταση χρήστη –Άλμα στην κατάλληλη διεύθυνση του προγράμματος του χρήστη για την εκκίνηση του προγράμματος Dispatch latency (λανθάνουσα κατάσταση διεκπεραιωτή)– χρόνος που χρειάζεται ο διεκπεραιωτής για να σταματήσει μια διεργασία και να αρχίσει την εκτέλεση μιας άλλης

13 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Dispatch Latency

14 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Προτεραιότητες Εφαρμόζονται με την ύπαρξη πολλαπλών ουρών έτοιμων διεργασιών όπου κάθε ουρά αντιπροσωπεύει ένα επίπεδο προτεραιότητας Ο δρομολογητής θα επιλέγει πάντοτε μια διεργασία υψηλότερης προτεραιότητας έναντι μιας με μικρότερη προτεραιότητα Η χαμηλή προτεραιότητα μπορεί να υποφέρει από παρατεταμένη στέρηση Επιτρέπεται σε μια διεργασία να αλλάζει την προτεραιότητά της, ανάλογα με το διάστημα που βρίσκεται στο σύστημα ή με το ιστορικό εκτέλεσής της

15 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Διάγραμμα ουρών κατά τη δρομολόγηση

16 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Ο κύκλος καταιγισμού 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 από εκείνα όσων προορίζονται για Ι/Ο

17 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Ιστόγραμμα συχνοτήτων των χρόνων καταιγισμού της CPU

18 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Πολιτικές δρομολόγησης Η συνάρτηση επιλογής : αποφασίζει ποια διεργασία στην ουρά των έτοιμων διεργασιών επιλέγεται ως επόμενη για εκτέλεση Η κατάσταση απόφασης: καθορίζει τα στιγμιότυπα του χρόνου στα οποία εξετάζεται η συνάρτηση επιλογής –Χωρίς προεκχώρηση (Non-preemption)  Κάθε φορά που μια διεργασία βρίσκεται σε εκτελούμενη κατάσταση και συνεχίζει να εκτελείται μέχρι να τερματιστεί ή να ανασταλεί από μόνη της περιμένοντας για την ολοκλήρωση I/O –Προεκχώρηση (Preemption)  Η τρέχουσα εκτελούμενη διεργασία μπορεί να έχει διακοπεί και να έχει μετακινηθεί σε κατάσταση Ready από το Λ.Σ.  Διευκολύνει την καλύτερη εξυπηρέτηση μια και κάθε διεργασία δεν θα μονοπωλεί τη χρήση του επεξεργαστή για μεγάλο χρονικό διάστημα

19 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Η δρομολόγηση είναι μη προεκχωρούμενη (non- preemptive) όταν η εκτέλεση μιας διεργασίας δεν μπορεί να διακοπεί αν δεν ολοκληρωθεί ο καταιγισμός της. Όταν η εκτέλεση μιας διεργασίας μπορεί να ανασταλεί, χωρίς να ολοκληρώσει τον καταιγισμό της στη CPU, και να δρομολογηθεί προς εκτέλεση μια άλλη διεργασία τότε η δρομολόγηση είναι προεκχωρούμενη (preemptive).

20 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Ο δρομολογητής της CPU επιλέγει από τις έτοιμες διεργασίες που βρίσκονται στην κύρια μνήμη Είναι συστατικό του Λ.Σ. –Είναι από μόνος του μια διεργασία –Χρησιμοποιεί τους πόρους του συστήματος Ειδικότερα το χρόνο της CPU και τη μνήμη –Δεν θα πρέπει να καταναλώνει σημαντικό χρόνο της CPU, διαφορετικά η επιβράδυνση θα είναι μεγάλη Ο δρομολογητής της CPU

21 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Αν η διεργασία είναι CPU-bound ή I/O-bound Αν η διεργασία είναι αλληλεπιδραστική ή batch Προτεραιότητα διεργασιών Χρόνος που έχει εκτελεστεί Χρόνος που απαιτείται για να ολοκληρωθεί Συχνότητα προεκχώρησης Συχνότητα εμφάνισης σφαλμάτων σελίδας Παράγοντες που επιδρούν στη δρομολόγηση

22 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Ο νόμος της διατήρησης του Kleinrock Ανεξάρτητα από τον αλγόριθμο δρομολόγησης που χρησιμοποιείται, δεν είναι δυνατόν να ωφεληθεί μια κατηγορία διεργασιών χωρίς να υπάρξει επίπτωση στις υπόλοιπες. Παράδειγμα: μια μικρή βελτίωση για τις μικρές διεργασίες (π.χ. στον χρόνο αναμονής) προκαλεί δυσανάλογη επιβράδυνση στις μεγάλες διεργασίες.

23 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Άσκηση - 51 Σε έναν επεξεργαστή δρομολογούνται n διεργασίες. Πόσοι διαφορετικοί συνδυασμοί δρομολόγησης υπάρχουν ( το αποτέλεσμα να εκφραστεί σαν συνάρτηση του n ) Απάντηση n!=n*(n-1)*(n-2)*(n-3)*…*3*2*1 Οι αλγόριθμοι με πολυπλοκότητα O(n!) είναι μη - αποτελεσματικοί

24 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Αλγόριθμοι Δρομολόγησης Καθορίζουν τον τρόπο επιλογής της επόμενης προς εκτέλεση διεργασίας καθώς και τη σειρά με την οποία εκτελούνται οι διεργασίες Ορίζουν τις ενέργειες εκ μέρους του δρομολογητή ΤΥΠΟΙ αλγορίθμων δρομολόγησης –Προεκχωρούμενοι, μη προεκχωρούμενοι ΠΑΡΑΔΕΙΓΜΑΤΑ αλγορίθμων δρομολόγησης –FCFS, SJF, SRTF, priority-based, round robin –multilevel, multilevel feedback

25 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Μια διεργασία παραμένει στη CPU μέχρι να απελευθερώσει από μόνη της τη CPU –Μεγάλοι χρόνοι αναμονής και απόκρισης –Ενδεχόμενο παρατεταμένης στέρησης Απλή και εύκολη στην υλοποίηση Δεν είναι κατάλληλη για συστήματα multi-user Μη προεκχωρούμενη δρομολόγηση

26 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Η εκτέλεση μιας διεργασίας μπορεί να διακόπτεται από το Λ.Σ. οποιαδήποτε στιγμή. Πιθανές αιτίες : –Η άφιξη μιας νέας διεργασίας με υψηλότερη προτεραιότητα –Η πρόκληση μιας διακοπής –Η αλλαγή της κατάστασης μιας διεργασίας –Η υπέρβαση ενός χρονικού ορίου Εμποδίζεται η μονοπώληση της χρήσης της CPU από μία διεργασία Μπορεί να οδηγήσει σε συνθήκες ανταγωνισμού –Επιλύονται χρησιμοποιώντας συγχρονισμό μεταξύ των διεργασιών Προεκχωρούμενη δρομολόγηση

27 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / ΠΑΡΑΔΕΙΓΜΑΤΑ αλγορίθμων δρομολόγησης I.FCFS (First Come First Served) – πρώτη ήλθε πρώτη εξυπηρετήθηκε II.SJF ή SPN (Shortest Job First ή Shortest Process (Job) Next) – η συντομότερη διεργασία πρώτη III.Shortest-Remaining-Time-First (SRTF) - η διεργασία με το μικρότερο εναπομείναντα χρόνο πρώτη. IV.RR (Round Robin) – εξυπηρέτηση εκ περιτροπής

28 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Βασικές αρχές –Οι διεργασίες εξυπηρετούνται με τη σειρά που φθάνουν –Ακόμη και αν φθάνουν την ίδια χρονική στιγμή, η σειρά άφιξης είναι διακριτή, αλλιώς η διεργασία που θα εξυπηρετηθεί κατά προτεραιότητα επιλέγεται τυχαία –Κατάσταση απόφασης : χωρίς προεκχώρηση –Η διεργασία εκτελείται μέχρι να ανασταλεί από μόνη της Είναι πολύ απλός αλγόριθμος και υλοποιείται εύκολα αλλά είναι ακατάλληλος για συστήματα πολλών χρηστών. Ι. First-Come, First-Served (FCFS)

29 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Χρησιμοποιεί μια ουρά FIFO Η επιλογή της επόμενης διεργασίας είναι ταχύτατη και ανεξάρτητη από το πλήθος των διεργασιών στην ουρά των έτοιμων διεργασιών Συχνά προκύπτουν μεγάλοι χρόνοι αναμονής και απόκρισης FCFS - ιδιότητες

30 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / FCFS - μειονεκτήματα Μια διεργασία που δεν χρησιμοποιεί I/O θα μονοπωλεί τη χρήση του επεξεργαστή Ευνοούνται οι προοριζόμενες για τη CPU διεργασίες. Οι προοριζόμενες για I/O διεργασίες θα περιμένουν μέχρι να ολοκληρωθούν οι προοριζόμενες για τη CPU διεργασίες. Θα περιμένουν ακόμη και αν οι I/O λειτουργίες τους έχουν ολοκληρωθεί Υπάρχουν μεγάλες διακυμάνσεις στον μέσο χρόνο επιστροφής Είναι ακατάλληλος αλγόριθμος για αλληλεπιδραστικά συστήματα

31 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / FCFS - παράδειγμα

32 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / P1 FCFS - παράδειγμα

33 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / P2P1 FCFS - παράδειγμα

34 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / P2P3P1 FCFS - παράδειγμα

35 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / P2P3P4P1 FCFS - παράδειγμα

36 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / P2P3P4P5P1 FCFS - παράδειγμα

37 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / P2P3P4P5P1 FCFS - παράδειγμα

38 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / II. Shortest-Job-First (SJF) Η διεργασία δηλώνει το χρόνο καταιγισμού της στην CPU Δύο σχήματα: –Non-Preemptive – αν εκχωρηθεί η CPU, η διεργασία δεν προεκχωρείται μέχρι να ολοκληρωθεί ο καταιγισμός της. –Preemptive – αν υπάρξει μια νέα διεργασία με χρόνο καταιγισμού της CPU μικρότερο από τον εναπομένοντα χρόνο της τρέχουσας διεργασίας, τότε την αντικαθιστά. Η περίπτωση με προεκχώρηση είναι γνωστή και ως ο αλγόριθμος : Η διεργασία με το μικρότερο εναπομείναντα χρόνο πρώτη (Shortest-Remaining-Time-First (SRTF). Είναι η βέλτιστη λύση : δίνει τον ελάχιστο μέσο χρόνο αναμονής για ένα δεδομένο σύνολο διεργασιών.

39 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Βασικές αρχές –επιλέγεται η διεργασία με το μικρότερο χρόνο καταιγισμού στη CPU –ενσωματώνει αναμφίβολα προτεραιότητες : οι συντομότερες διεργασίες έχουν δεδομένη προτεραιότητα –αποτελεί μια προφανή βελτίωση του αλγορίθμου FCFS –απαιτείται ο υπολογισμός του χρόνου καταιγισμού (CPU burst time) για κάθε διεργασία SJF

40 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Δίνει πολύ καλύτερο μέσο χρόνο αναμονής σε σχέση με τον αλγόριθμο FCFS Χωρίς προεκχώρηση ωστόσο η έλλειψη προεκχώρησης δεν είναι κατάλληλη σε ένα περιβάλλον καταμερισμού χρόνου Απαιτείται η γνώση των χρόνων καταιγισμού στη CPU που γενικά είναι δύσκολο και συνήθως ακατόρθωτο Η επιλογή είναι περισσότερο σύνθετη από αυτήν του FCFS Είναι πιθανή η παρατεταμένη στέρηση –Αν νέες μικρής διάρκειας διεργασίας φθάνουν στο σύστημα οι προγενέστερες, μεγάλης διάρκειας διεργασίες, δεν θα εξυπηρετηθούν ποτέ SJF – ιδιότητες

41 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / P5 SJF – παράδειγμα-1

42 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / P3P5 SJF – παράδειγμα-1

43 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / P3P4P5 SJF – παράδειγμα-1

44 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / P3P4P5P1 SJF – παράδειγμα-1

45 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / P2P3P4P5P1 SJF – παράδειγμα-1

46 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / P2P3P4P5P1 SJF – παράδειγμα-1

47 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / P1: 6 ready queue at time 0 SJF – παράδειγμα - 2

48 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / P1 P1: 6P2: 15 ready queue at time 3 SJF – παράδειγμα - 2

49 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / P3P1 P1: 6P2: 15 P3: 3 ready queue at time 5 SJF – παράδειγμα - 2

50 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / P3P4P1 P1: 6P2: 15 P4: 4 P2: 15 P3: 3 SJF – παράδειγμα - 2

51 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / P2P3P4P1 P1: 6P2: 15 P4: 4P2: 15 P3: 3 SJF – παράδειγμα - 2

52 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / P2P3P4P5P1 P1: 6P2: 15 P4: 4P2: 15P5: 2 P2: 15 P3: 3 SJF – παράδειγμα - 2

53 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / P2P3P4P5P1 P1: 6P2: 15 P4: 4P2: 15P5: 2 P2: 15 P3: 3 SJF – παράδειγμα - 2

54 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Βασικές αρχές: επιλέγεται η διεργασία με το μικρότερο εναπομείναντα χρόνο –Ο εναπομένων χρόνος είναι ο συνολικός χρόνος καταιγισμού μείον το χρόνο που παρέμεινε προς εξυπηρέτηση η διεργασία στη CPU Αν φθάσει μια διεργασία με μικρότερο χρόνο καταιγισμού από τον υπολειπόμενο χρόνο καταιγισμού της τρέχουσας διεργασίας, η τρέχουσα διεργασία προεκχωρείται. Δεν είναι πρακτική εξ αιτίας της αναγκαστικής πρόβλεψης που απαιτείται για τους χρόνους καταιγισμού ΙΙΙ. Shortest Remaining Time First (SRTF)

55 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Ο χρόνος άφιξης μιας νέας διεργασίας είναι σημαντικός Είναι χρήσιμη η καταγραφή των διεργασιών που βρίσκονται στην ουρά των έτοιμων διεργασιών –Η πολιτική που συνήθως ακολουθείται: οι προεκχωρούμενες διεργασίες οδηγούνται στην ουρά των έτοιμων διεργασιών Η απόφαση για δρομολόγηση λαμβάνεται όταν –Μια διεργασία έχει ολοκληρώσει το χρόνο καταιγισμού της στη CPU –Μια νέα διεργασία φθάνει στην ουρά των έτοιμων διεργασιών Δίνει καλούς χρόνους απόκρισης στις διεργασίες μικρής διάρκειας γι’ αυτό προτιμάται στα multi-user συστήματα Αν ληφθούν υπόψη οι εναλλαγές πλαισίων η χρονική επιβάρυνση είναι σημαντική Η παρατεταμένη στέρηση είναι πιθανή SRTF

56 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / P1 P1: 6 SRTF - παράδειγμα

57 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / P1 P1: 6 P1: 3 P2: 15 P1 SRTF - παράδειγμα

58 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / P2P1 P1: 6 P1: 3 P2: 15 P1 P2: 15 SRTF - παράδειγμα

59 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / P2P3P1 P1: 6 P1: 3 P2: 15 P1 P2: 12 P2: 15P3: 3 SRTF - παράδειγμα

60 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / P2P3P1 P1: 6 P1: 3 P2: 15 P1 P2: 12 P2 P2: 12P2: 15P3: 3 SRTF - παράδειγμα

61 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / P2P3P1 P1: 6 P1: 3 P2: 15 P1 P2: 12 P2 P2: 10 P4: 4P2: 12P2: 15P3: 3 P4 SRTF - παράδειγμα

62 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / P2P3P1 P1: 6 P1: 3 P2: 15 P1 P2: 12 P2 P2: 10 P4: 4P2: 12 P4: 1 P5: 2 P2: 10P2: 15P3: 3 P4 SRTF - παράδειγμα

63 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / P2P3P1 P1: 6 P1: 3 P2: 15 P1 P2: 12 P2 P2: 10 P4: 4P2: 12 P4: 1 P5: 2 P2: 10 P5: 2 P2: 10P2: 15P3: 3 P4P5 SRTF - παράδειγμα

64 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / P2P3P1 P1: 6 P1: 3 P2: 15 P1 P2: 12 P2 P2: 10 P4: 4P2: 12 P4: 1 P5: 2 P2: 10 P2 P2: 10 P5: 2 P2: 10P2: 15P3: 3 P4P5 SRTF - παράδειγμα

65 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / P2P3P1 P1: 6 P1: 3 P2: 15 P1 P2: 12 P2 P2: 10 P4: 4P2: 12 P4: 1 P5: 2 P2: 10 P2 P2: 10 P5: 2 P2: 10P2: 15P3: 3 P4P5 SRTF - παράδειγμα

66 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / ProcessArrival TimeBurst Time P P P P SJF Average waiting time = ( )/4 = 4 Παράδειγμα σύγκρισης SJF και SRTF P1P1 P3P3 P2P P4P4 812

67 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Παράδειγμα σύγκρισης SJF και SRTF ProcessArrival TimeBurst Time P P P P SRTF Average waiting time = ( )/4 = 3 P1P1 P3P3 P2P P4P4 57 P2P2 P1P1 16

68 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Βασικές αρχές –Στις διεργασίες δίνεται ένα σταθερό ποσό χρόνου της CPU και αναφέρεται ως : time quantum, time slice, slot –Η σειρά των διεργασιών είναι συνήθως FIFO Συνάρτηση επιλογής : ίδια με τον FCFS Κατάσταση απόφασης : προεκχώρηση –Μια διεργασία επιτρέπεται να εκτελείται μέχρι να συμπληρωθεί το κβάντο χρόνου (συνήθως 10 έως 100 ms) –Στη συνέχεια δημιουργείται μια διακοπή ρολογιού και η εκτελούμενη διεργασία τίθεται στην ουρά των έτοιμων διεργασιών Χρησιμοποιείται συχνά σε περιβάλλοντα καταμερισμού χρόνου IV. Round Robin

69 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Round Robin: κριτική Ευνοούνται οι προοριζόμενες στην CPU διεργασίες –Μια προοριζόμενη για I/O διεργασία χρησιμοποιεί την CPU για χρονικό διάστημα μικρότερο του quantum χρόνου και στη συνέχεια αναστέλλεται περιμένοντας για I/O –Μια προοριζόμενη για την CPU διεργασία εκτελείται για όλο το quantum χρόνου και τίθεται μετά στην ουρά των έτοιμων διεργασιών (μπροστά από τις ανασταλμένες διεργασίες) Λύση: ιδεατό round robin –Όταν μια I/O ολοκληρώνεται, η ανασταλμένη διεργασία μετακινείται σε μια βοηθητική ουρά που προτιμάται έναντι της βασικής ουράς των έτοιμων διεργασιών –Μια διεργασία που αποστέλλεται από την βοηθητική ουρά εκτελείται όχι περισσότερο από το βασικό quantum χρόνου μείον το συνολικό χρόνο που δαπανήθηκε για εκτέλεση

70 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Διάγραμμα ουράς για ιδεατό Round Robin

71 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Round Robin Πλεονεκτήματα: απλότητα, χαμηλό overhead, λειτουργεί αποτελεσματικά για αλληλεπιδραστικά συστήματα Μειονεκτήματα: αν το quantum είναι πολύ μικρό, δαπανάται πολύς χρόνος για εναλλαγή πλαισίων. Αν είναι πολύ μεγάλο προσεγγίζει τον FCFS. Τυπικές τιμές για το quantum : msec Γενικός κανόνας: επιλογή quantum έτσι ώστε η μεγάλη πλειοψηφία (80-90%) των διεργασιών να ολοκληρώνουν τον καταιγισμό τους σε ένα quantum

72 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Επιλογές –Μικρό ή μεγάλο quantum –Σταθερό ή μεταβλητό quantum –Το ίδιο για όλες τις διεργασίες ή διαφορετικό Αν το quantum είναι πολύ μεγάλο ο αλγόριθμος RR εκφυλίζεται σε FCFS Αν το quantum είναι πολύ μικρό υπάρχουν πολλές εναλλαγές πλαισίων Βασική αρχή: το quantum πρέπει να είναι ελαφρά μεγαλύτερο από το χρόνο που απαιτεί μια τυπική αλληλεπίδραση Μέγεθος του quantum χρόνου

73 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / P1 time quantum: 3 units P1: 6 RR - παράδειγμα

74 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / P2P1 time quantum: 3 units P1: 3 P1: 6P2: 15 RR - παράδειγμα

75 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / P2P1 P2: 12 time quantum: 3 units P1: 3 P1: 6P1: 3P2: 15 RR - παράδειγμα

76 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / P2P1 P2 P2: 12 time quantum: 3 units P3: 3P1: 3 P1: 6P1: 3P2: 15P2: 12 RR - παράδειγμα

77 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / P2P3P1 P2 P2: 12 time quantum: 3 units P2: 9P3: 3P1: 3 P1: 6P1: 3P2: 15P2: 12P3: 3 RR - παράδειγμα

78 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / P2P3P1 P2 P2: 12 time quantum: 3 units P2: 9 P2 P3: 3P4: 4P1: 3 P1: 6P1: 3P2: 15P2: 12P3: 3P2: 9 RR - παράδειγμα

79 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / P2P3P1 P2 P2: 12 P4 time quantum: 3 units P2: 9P5: 2 P2: 6 P2 P3: 3P4: 4P1: 3 P1: 6P1: 3P2: 15P2: 12P3: 3P2: 9P4: 4 RR - παράδειγμα

80 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / P2P3P1 P2 P2: 12 P4P5 time quantum: 3 units P2: 9P5: 2 P2: 6 P2 P4: 1 P2: 6P3: 3P4: 4P1: 3 P1: 6P1: 3P2: 15P2: 12P3: 3P2: 9P4: 4P5: 2 RR - παράδειγμα

81 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / P2P3P1 P2 P2: 12 P4P5 time quantum: 3 units P2: 9P5: 2 P2: 6 P2 P4: 1 P2: 6P3: 3P4: 4 P2 P4: 1P1: 3 P1: 6P1: 3P2: 15P2: 12P3: 3P2: 9P4: 4P5: 2P2: 6 RR - παράδειγμα

82 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / P2P3P1 P2 P2: 12 P4P5 time quantum: 3 units P2: 9P5: 2 P2: 6 P2 P4: 1 P2: 6P3: 3P4: 4 P2 P4P4 P4: 1P2: 3P1: 3 P1: 6P1: 3P2: 15P2: 12P3: 3P2: 9P4: 4P5: 2P2: 6P4: 1 RR - παράδειγμα

83 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / P2: P2P3P1 P2 P2: 12 P4P5 time quantum: 3 units P2: 9P5: 2 P2: 6 P2 P4: 1 P2: 6P3: 3P4: 4 P2 P4P4 P4: 1P2: 3P1: 3 P1: 6P1: 3P2: 15P2: 12P3: 3P2: 9P4: 4P5: 2P2: 6P4: 1 RR - παράδειγμα

84 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / P2: P2P3P1 P2 P2: 12 P4P5 time quantum: 3 units P2: 9P5: 2 P2: 6 P2 P4: 1 P2: 6P3: 3P4: 4 P2 P4P4 P4: 1P2: 3P1: 3 P1: 6P1: 3P2: 15P2: 12P3: 3P2: 9P4: 4P5: 2P2: 6P4: 1 RR - παράδειγμα

85 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Παραδείγματα - Συμβολισμοί  P = {p i | 0  i < n} = σύνολο διεργασιών  S(p i )  {Running, Ready, Blocked}   (p i ) = Service Time  W(p i ) = Wait Time  TTRnd(p i ) = Turnaround Time

86 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / First-Come-First-Served i  (p i ) p0p0 T TRnd (p 0 ) =  (p 0 ) = 350 W(p 0 ) =

87 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / First-Come-First-Served i  (p i ) p0p0 p1p1 T TRnd (p 0 ) =  (p 0 ) = 350 T TRnd (p 1 ) = (  (p 1 ) +T TRnd (p 0 )) = = 475 W(p 0 ) = 0 W(p 1 ) = T TRnd (p 0 ) =

88 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / First-Come-First-Served i  (p i ) p0p0 p1p1 p2p2 T TRnd (p 0 ) =  (p 0 ) = 350 T TRnd (p 1 ) = (  (p 1 ) +T TRnd (p 0 )) = = 475 T TRnd (p 2 ) = (  (p 2 ) +T TRnd (p 1 )) = = 950 W(p 0 ) = 0 W(p 1 ) = T TRnd (p 0 ) = 350 W(p 2 ) = T TRnd (p 1 ) =

89 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / First-Come-First-Served p1p1 p2p2 p3p3 T TRnd (p 0 ) =  (p 0 ) = 350 T TRnd (p 1 ) = (  (p 1 ) +T TRnd (p 0 )) = = 475 T TRnd (p 2 ) = (  (p 2 ) +T TRnd (p 1 )) = = 950 T TRnd (p 3 ) = (  (p 3 ) +T TRnd (p 2 )) = = 1200 W(p 0 ) = 0 W(p 1 ) = T TRnd (p 0 ) = 350 W(p 2 ) = T TRnd (p 1 ) = 475 W(p 3 ) = T TRnd (p 2 ) = p0p0 p1p i  (p i )

90 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / First-Come-First-Served p4p4 T TRnd (p 0 ) =  (p 0 ) = 350 T TRnd (p 1 ) = (  (p 1 ) +T TRnd (p 0 )) = = 475 T TRnd (p 2 ) = (  (p 2 ) +T TRnd (p 1 )) = = 950 T TRnd (p 3 ) = (  (p 3 ) +T TRnd (p 2 )) = = 1200 T TRnd (p 4 ) = (  (p 4 ) +T TRnd (p 3 )) = = 1275 W(p 0 ) = 0 W(p 1 ) = T TRnd (p 0 ) = 350 W(p 2 ) = T TRnd (p 1 ) = 475 W(p 3 ) = T TRnd (p 2 ) = 950 W(p 4 ) = T TRnd (p 3 ) = p2p2 p3p p0p0 p1p i  (p i )

91 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / FCFS Average Wait Time W avg = ( )/5 = 2975/5 = 595 Ευκολία στην εφαρμογή Δεν έχει μεγάλη απόδοση p4p4 T TRnd (p 0 ) =  (p 0 ) = 350 T TRnd (p 1 ) = (  (p 1 ) +T TRnd (p 0 )) = = 475 T TRnd (p 2 ) = (  (p 2 ) +T TRnd (p 1 )) = = 950 T TRnd (p 3 ) = (  (p 3 ) +T TRnd (p 2 )) = = 1200 T TRnd (p 4 ) = (  (p 4 ) +T TRnd (p 3 )) = = 1275 W(p 0 ) = 0 W(p 1 ) = T TRnd (p 0 ) = 350 W(p 2 ) = T TRnd (p 1 ) = 475 W(p 3 ) = T TRnd (p 2 ) = 950 W(p 4 ) = T TRnd (p 3 ) = p2p2 p3p p0p0 p1p i  (p i ) T TRnd = ( )/5 = 4250/5 = 850

92 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Shortest Job First i  (p i ) p4p4 T TRnd (p 4 ) =  (p 4 ) = 75 W(p 4 ) = 0 750

93 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Shortest Job First i  (p i ) p1p1 p4p4 T TRnd (p 1 ) =  (p 1 )+  (p 4 ) = = 200 T TRnd (p 4 ) =  (p 4 ) = 75 W(p 1 ) = 75 W(p 4 ) =

94 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Shortest Job First i  (p i ) p1p1 p3p3 p4p4 T TRnd (p 1 ) =  (p 1 )+  (p 4 ) = = 200 T TRnd (p 3 ) =  (p 3 )+  (p 1 )+  (p 4 ) = = 450 T TRnd (p 4 ) =  (p 4 ) = 75 W(p 1 ) = 75 W(p 3 ) = 200 W(p 4 ) =

95 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Shortest Job First i  (p i ) p0p0 p1p1 p3p3 p4p4 T TRnd (p 0 ) =  (p 0 )+  (p 3 )+  (p 1 )+  (p 4 ) = = 800 T TRnd (p 1 ) =  (p 1 )+  (p 4 ) = = 200 T TRnd (p 3 ) =  (p 3 )+  (p 1 )+  (p 4 ) = = 450 T TRnd (p 4 ) =  (p 4 ) = 75 W(p 0 ) = 450 W(p 1 ) = 75 W(p 3 ) = 200 W(p 4 ) =

96 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Shortest Job First p0p0 p1p1 p2p2 p3p3 p4p4 T TRnd (p 0 ) =  (p 0 )+  (p 3 )+  (p 1 )+  (p 4 ) = = 800 T TRnd (p 1 ) =  (p 1 )+  (p 4 ) = = 200 T TRnd (p 2 ) =  (p 2 )+  (p 0 )+  (p 3 )+  (p 1 )+  (p 4 ) = = 1275 T TRnd (p 3 ) =  (p 3 )+  (p 1 )+  (p 4 ) = = 450 T TRnd (p 4 ) =  (p 4 ) = 75 W(p 0 ) = 450 W(p 1 ) = 75 W(p 2 ) = 800 W(p 3 ) = 200 W(p 4 ) = i  (p i )

97 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Shortest Job First W avg = ( )/5 = 1525/5 = 305 Ελαχιστοποιεί τον χρόνο αναμονής Γνώση εκ των προτέρων! των χρόνων εξυπηρέτησης p0p0 p1p1 p2p2 p3p3 p4p i  (p i ) T TRnd (p 0 ) =  (p 0 )+  (p 3 )+  (p 1 )+  (p 4 ) = = 800 T TRnd (p 1 ) =  (p 1 )+  (p 4 ) = = 200 T TRnd (p 2 ) =  (p 2 )+  (p 0 )+  (p 3 )+  (p 1 )+  (p 4 ) = = 1275 T TRnd (p 3 ) =  (p 3 )+  (p 1 )+  (p 4 ) = = 450 T TRnd (p 4 ) =  (p 4 ) = 75 W(p 0 ) = 450 W(p 1 ) = 75 W(p 2 ) = 800 W(p 3 ) = 200 W(p 4 ) = 0 T TRnd = ( )/5 = 2800/5 = 560

98 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Σύγκριση δρομολογήσεων χωρίς προεκχώρηση First-Come-First-Serve Shortest Job First W avg = ( )/5 = 2975/5 = 595 T TRnd = ( )/5 = 4250/5 = 850 W avg = ( )/5 = 1525/5 = 305 T TRnd = ( )/5 = 2800/5 = 560

99 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Round Robin (TQ=50) i  (p i ) p0p0 W(p 0 ) = 0 050

100 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Round Robin (TQ=50) p0p0 W(p 0 ) = 0 W(p 1 ) = p1p1 i  (p i )

101 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Round Robin (TQ=50) p0p0 W(p 0 ) = 0 W(p 1 ) = 50 W(p 2 ) = p2p2 p1p1 i  (p i )

102 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Round Robin (TQ=50) W(p 0 ) = 0 W(p 1 ) = 50 W(p 2 ) = 100 W(p 3 ) = p3p3 i  (p i ) p0p p2p2 p1p1

103 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Round Robin (TQ=50) W(p 0 ) = 0 W(p 1 ) = 50 W(p 2 ) = 100 W(p 3 ) = 150 W(p 4 ) = p4p4 i  (p i ) p3p3 p0p0 p2p2 p1p1

104 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Round Robin (TQ=50) W(p 0 ) = 0 W(p 1 ) = 50 W(p 2 ) = 100 W(p 3 ) = 150 W(p 4 ) = p0p0 i  (p i ) p4p4 p3p3 p0p0 p2p2 p1p1

105 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Round Robin (TQ=50) T TRnd (p 4 ) =  W(p 0 ) = 0 W(p 1 ) = 50 W(p 2 ) = 100 W(p 3 ) = 150 W(p 4 ) = p4p4 i  (p i ) p0p0 p4p4 p3p3 p0p0 p2p2 p1p1 p3p3 p2p2 p1p1 p0p0 p1p1 550

106 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Round Robin (TQ=50) T TRnd (p 1 ) =  T TRnd (p 4 ) =  i  (p i ) W(p 0 ) = 0 W(p 1 ) = 50 W(p 2 ) = 100 W(p 3 ) = 150 W(p 4 ) = p4p4 p0p0 p4p4 p3p3 p0p0 p2p2 p1p1 p3p3 p2p2 p1p1 p0p0 p1p1 550

107 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Round Robin (TQ=50) T TRnd (p 1 ) =  T TRnd (p 3 ) =  T TRnd (p 4 ) =  i  (p i ) W(p 0 ) = 0 W(p 1 ) = 50 W(p 2 ) = 100 W(p 3 ) = 150 W(p 4 ) = p4p4 p0p0 p4p4 p3p3 p0p0 p2p2 p1p1 p3p3 p2p2 p1p1 p0p0 p1p1 p3p3 p2p2 p0p0 p3p3 p2p2 p0p0 p3p3 p2p2

108 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Round Robin (TQ=50) T TRnd (p 0 ) =  T TRnd (p 1 ) =  T TRnd (p 3 ) =  T TRnd (p 4 ) =  p0p0 p2p2 p0p i  (p i ) W(p 0 ) = 0 W(p 1 ) = 50 W(p 2 ) = 100 W(p 3 ) = 150 W(p 4 ) = p4p4 p0p0 p4p4 p3p3 p0p0 p2p2 p1p1 p3p3 p2p2 p1p1 p0p0 p1p1 p3p3 p2p2 p0p0 p3p3 p2p2 p0p0 p3p3 p2p2

109 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Round Robin (TQ=50) T TRnd (p 0 ) =  T TRnd (p 1 ) =  T TRnd (p 2 ) =  T TRnd (p 3 ) =  T TRnd (p 4 ) =  p2p2 p2p2 p2p2 p2p i  (p i ) W(p 0 ) = 0 W(p 1 ) = 50 W(p 2 ) = 100 W(p 3 ) = 150 W(p 4 ) = 200 p0p0 p2p2 p0p p4p4 p0p0 p4p4 p3p3 p0p0 p2p2 p1p1 p3p3 p2p2 p1p1 p0p0 p1p1 p3p3 p2p2 p0p0 p3p3 p2p2 p0p0 p3p3 p2p2

110 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Round Robin (TQ=50) W avg = ( )/5 = 500/5 = 100 T TRnd _ avg = ( )/5 = 4350/5 = 870 δίκαιη Χρησιμοποιείται ευρέως i  (p i ) W(p 0 ) = 0 W(p 1 ) = 50 W(p 2 ) = 100 W(p 3 ) = 150 W(p 4 ) = 200 p2p2 p2p2 p2p2 p2p p0p0 p2p2 p0p p4p4 p0p0 p4p4 p3p3 p0p0 p2p2 p1p1 p3p3 p2p2 p1p1 p0p0 p1p1 p3p3 p2p2 p0p0 p3p3 p2p2 p0p0 p3p3 p2p2 T TRnd (p 0 ) =  T TRnd (p 1 ) =  T TRnd (p 2 ) =  T TRnd (p 3 ) =  T TRnd (p 4 ) = 

111 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / RR with Overhead=10 (TQ=50) i  (p i ) p0p0 T TRnd (p 0 ) =  T TRnd (p 1 ) =  T TRnd (p 2 ) =  T TRnd (p 3 ) =  T TRnd (p 4 ) =  W(p 0 ) = 0 W(p 1 ) = 60 W(p 2 ) = 120 W(p 3 ) = 180 W(p 4 ) = 240 W avg = ( )/5 = 600/5 = p4p4 p1p1 p0p0 p4p4 p3p3 p2p2 p1p1 p1p1 p2p2 p3p3 p0p0 p3p3 p2p2 p0p0 p3p3 p2p2 p0p0 p3p3 p2p2 p0p0 p2p2 p0p0 p2p2 p2p2 p2p2 p2p T TRnd _ avg = ( )/5 = 5220/5 = Η επιβάρυνση είναι σημαντική Κάθε εναλλαγή κοστίζει κύκλους i  (p i )

112 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Χρόνος καταιγισμού Πρόβλεψη Εκτίμηση Υπολογισμός παραδείγματα

113 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Στην πράξη, η διάρκεια του επόμενου καταιγισμού μιας διεργασίας στη CPU δεν είναι γνωστή –Ως συνέπεια, αλγόριθμοι όπως οι SJF, SRTF στην απλή τους μορφή δεν μπορούν να χρησιμοποιηθούν σε συστήματα Η διάρκεια καταιγισμού της CPU μιας διεργασίας μπορεί να υπολογιστεί ως συνάρτηση των προηγούμενων καταιγισμών της ίδιας διεργασίας Ο υπολογισμός απαιτεί την ανάλυση –Του κώδικα που θα εκτελεστεί ενώ θα λαμβάνεται η απόφαση για δρομολόγηση –Γενικά η διαδικασία είναι δυσχείριστη (intractable) Πρόβλεψη του χρόνου καταιγισμού

114 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Η διάρκεια του επόμενου καταιγισμού της CPU υπολογίζεται από τις διάρκειες των προηγούμενων καταιγισμών συχνά, οι πρόσφατοι καταιγισμοί είναι περισσότερο σημαντικοί από τους παλαιότερους Ο υπολογισμός προσθέτει επιπλέον επιβάρυνση στη διαδικασία απόφασης για τη δρομολόγηση –Απαιτείται χρόνος για τους υπολογισμούς –Απαιτείται μνήμη για την αποθήκευση των τιμών των πρόσφατων καταιγισμών Εκτίμηση του χρόνου καταιγισμού

115 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Ο γενικός τύπος για την εκτίμηση της διάρκειας του επόμενου καταιγισμού της CPU από τις διάρκειες των προηγουμένων : E i = a * B i-1 + (1-a) * E i-1 –E i εκτίμηση τη στιγμή i –B i-1 πραγματική διάρκεια καταιγισμού τη στιγμή i-1 –aσυντελεστής που εξισορροπεί τη σπουδαιότητα των πρόσφατων και των όχι πρόσφατων καταιγισμών Υπολογισμός του χρόνου καταιγισμού

116 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Τη χρονική στιγμή T i γίνεται εκτίμηση της διάρκειας του επόμενου καταιγισμού της CPU που βασίζεται σε πληροφορίες που προέρχονται από τις διάρκειες των προηγουμένων, από τον τύπο: E i = a * B i-1 + (1-a) * E i-1 –Πρέπει να επιλεγεί μια τιμή για το a (π.χ. 0.75) –Για την πρώτη τιμή B 0, γίνεται μια εικασία, ενώ στη συνέχεια χρησιμοποιείται η μετρηθείσα τιμή για τον προηγούμενο καταιγισμό –Οι μετρούμενες τιμές ίσως διαφέρουν σημαντικά από τις εκτιμώμενες Παράδειγμα

117 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Time Estimate Previous Burst T * * 0 = Παράδειγμα

118 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Time Estimate Previous Burst T * * 0 = 7.56 T * * 7.5 = Παράδειγμα

119 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Time EstimatePrevious Burst T * * 0 = T * * 7.5 = T * * = 3.85 Παράδειγμα

120 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Time Estimate Previous Burst T * * 0 = T * * 7.5 = T * * = T * * 3.85 = 6.2 Παράδειγμα

121 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Time Estimate Previous Burst T * * 0 = T * * 7.5 = T * * = T * * 3.85 = T * * 6.2 = 9.55 Παράδειγμα

122 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Υπολογισμός της διάρκειας καταιγισμού : σχόλια Ο υπολογισμός της διάρκειας καταιγισμού σύμφωνα με τα προηγούμενα βασίζεται στις εξής παραδοχές : –Τα πλέον πρόσφατα στιγμιότυπα είναι καταλληλότερα για να εκφράσουν τη μελλοντική συμπεριφορά, επομένως είναι επιθυμητό να δίνεται σε αυτά μεγαλύτερο βάρος Η χρήση του εκθετικού υπολογισμού του μέσου όρου της διάρκειας των πιο πρόσφατων καταιγισμών είναι μια κοινή τεχνική για την πρόβλεψη της μελλοντικής τιμής που προσεγγίζει καλύτερα την πραγματικότητα Συνήθως χρησιμοποιείται μια σταθερή τιμή για το a, ανεξάρτητη από το πλήθος των παλαιότερων παρατηρήσεων. Έτσι λαμβάνονται υπόψη όλες οι παλιές τιμές αλλά αυτές με τη μεγαλύτερη απόσταση από την τρέχουσα έχουν το μικρότερο βάρος Ο εκθετικός μέσος όρος παρακολουθεί τις αλλαγές στη συμπεριφορά της διεργασίας ταχύτερα από τον απλό μέσον όρο

123 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Εκθετικοί συντελεστές σταθεροποίησης

124 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Η ουρά των έτοιμων διεργασιών διαμοιράζεται σε αρκετές ξεχωριστές ουρές –Οι ουρές έχουν διαφορετικές προτεραιότητες –Οι ουρές χρησιμοποιούν διαφορετικούς αλγορίθμους δρομολόγησης Οι διεργασίες εκχωρούνται μόνιμα σε μια ουρά –Οι διεργασίες αλληλεπίδρασης ανήκουν στις ουρές υψηλής προτεραιότητας ενώ οι διεργασίες που εκτελούνται σωρηδόν (batch) στις ουρές χαμηλής προτεραιότητας 9. Δρομολόγηση με ουρές πολλαπλών επιπέδων

125 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Δρομολόγηση με ανάδραση Δρομολόγηση με προεκχώρηση και δυναμικό μηχανισμό προτεραιότητας Διαφορετικές ουρές των έτοιμων διεργασιών με φθίνουσες προτεραιότητες : P(RQ0) > P(RQ1) >... > P(RQn) Σε κάθε ουρά (εκτός από τη χαμηλότερης προτεραιότητας ουρά) χρησιμοποιείται ένας απλός μηχανισμός, τύπου FCFS. Στη χαμηλότερης προτεραιότητας ουρά μια διεργασία δεν μπορεί να μετακινηθεί χαμηλότερα αλλά επιστρέφει στην ουρά επανειλημμένα, μέχρι να ολοκληρωθεί η εκτέλεσή της (εξυπηρέτηση Round Robin)

126 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Παράδειγμα Μια νέα διεργασία τοποθετείται στην RQ0 Όταν φθάσει στο quantum χρόνου, τοποθετείται στην RQ1. Όταν αυτό ξανασυμβεί τοποθετείται στην RQ2... μέχρι να φθάσει στην RQn. Οι προοριζόμενες για I/O διεργασίες θα παραμένουν σε υψηλότερης προτεραιότητας ουρές. Οι προοριζόμενες για CPU διεργασίες θα κατευθύνονται χαμηλότερα. Ο διεκπεραιωτής επιλέγει μια διεργασία για εκτέλεση στην RQi μόνον αν RQi-1 έως RQ0 είναι κενές Και εδώ οι μεγάλες διεργασίες μπορούν να παρουσιάσουν παρατεταμένη στέρηση

127 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Δρομολόγηση με ανάδραση

128 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Η ουρά των έτοιμων διεργασιών διαμοιράζεται σε αρκετές ξεχωριστές ουρές –Οι ουρές έχουν διαφορετικές προτεραιότητες –Οι ουρές χρησιμοποιούν διαφορετικούς αλγορίθμους δρομολόγησης Υπάρχει ένας αλγόριθμος για τη δρομολόγηση των ουρών –Συνήθως σε κάθε ουρά εκχωρείται ένα καθορισμένο ποσοστό του χρόνου της CPU Οι διεργασίες μπορούν να μετακινούνται από ουρά σε ουρά –Παρέχεται ευελιξία στις διεργασίες των οποίων τα χαρακτηριστικά μεταβάλλονται κατά τη διάρκεια ζωής τους –Προλαμβάνεται η πιθανότητα παρατεταμένης στέρησης Δρομολόγηση με ανάδραση με ουρές πολλαπλών επιπέδων

129 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Παράδειγμα : Ανάδραση Τρεις ουρές: –Q 1 – quantum 8 msecs – υψηλή προτεραιότητα –Q 2 – quantum 16 msecs – μεσαία προτεραιότητα –Q 3 – FCFS – χαμηλή προτεραιότητα Δρομολόγηση –Οι νέες διεργασίες εισέρχονται στην ουρά Q 1 –Οι διεργασίες με μικρούς χρόνους καταιγισμού έχουν υψηλή προτεραιότητα –Οι διεργασίες με μεγάλους χρόνους καταιγισμού ολοκληρώνονται στην ουρά χαμηλής προτεραιότητας

130 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / P5 P4 P5 P4 P2 P1 P3P2P1P2P1 P4P5P2P4P5P2P4P P4P1 P = P3 28 P4 36 P = 9 P1 9-4 = 5 P = 17 P3 8-8 = 0 P = 8 P = 10 P1 5-5 = 0 P = P = 24 P = 1 P = 0 P2 1-1 = 0 P4 8-8 = 0 Queue 1 Queue 2 Queue 3 Gantt Chart Q1Q1Q1Q1Q1Q2 Q3 Multilevel Queues Example

131 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Σύγκριση αλγορίθμων δρομολόγησης Ποιος είναι ο καλύτερος; Η απάντηση εξαρτάται από : –Το φορτίο του συστήματος (ισχυρά μεταβαλλόμενο) –Την υποστήριξη υλικού για το δρομολογητή –Το σχετικό βάρος των κριτηρίων απόδοσης (χρόνος απόκρισης, χρήση της, ρυθμοαπόδοση...) –Τη μέθοδο αποτίμησης που χρησιμοποιείται (καθεμιά έχει τους περιορισμούς της...)

132 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Άσκηση - 52 Θεωρείστε το ακόλουθο σύνολο διεργασιών, στο οποίο το μήκος των CPU burst times είναι σε milliseconds Υποθέστε ότι οι διεργασίες έχουν φθάσει με τη σειρά P1, P2, P3, P4, και P5, όλες τη χρονική στιγμή 0 processBurst timepriorit y P1103 P211 P323 P414 P552

133 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Σχεδιάστε το διάγραμμα εκτέλεσης για καθεμία από τις πολιτικές δρομολόγησης : FCFS, SJF, RR Βρείτε για κάθε διεργασία τον turnaround time και τον waiting time καθώς και τις μέσες τιμές τους.

134 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Λύση άσκησης 52 Time 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

135 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Turnaround time = waiting time + execution time FCFS SJF RR P P P P P Average

136 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Waiting time = turnaround time - burst time FCFS SJF RR P P P P P Average

137 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Άσκηση - 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 P P

138 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Σχεδιάστε δύο διαγράμματα που θα δείχνουν την εκτέλεση των διεργασιών χρησιμοποιώντας τον αλγόριθμο δρομολόγησης round robin (RR) με quantum = 1 και quantum = 3. Αν μια I/O ολοκλήρωση και μια CPU timeout των δύο διεργασιών συμβαίνει την ίδια στιγμή εξυπηρετείται πρώτα η I/O ολοκλήρωση. 2.Ποιος είναι ο waiting time κάθε διεργασίας σε κάθε περίπτωση; Ποια είναι η μέση τιμή; 3.Ποιος είναι ο turn-around time κάθε διεργασίας σε κάθε περίπτωση; Ποια είναι η μέση τιμή; 4.Τι θα συμβεί αν αντιστοιχηθεί προτεραιότητα σε κάθε διεργασία και η προτεραιότητα της P2 είναι υψηλότερη της P1. Να εξετάσετε και τις δύο περιπτώσεις (quantum=1 και quantum=3)

139 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Λύση άσκησης 53 xxx Process is running --- Process is ready III Process is blocked on I/O device iii CPU idle Time q=1 P1: xxx---xxx---xxxIIIIIIxxx---xxxIIIIIIIIIxxx---xxxTerm P2: xxx---xxxIIIIIIxxx---xxx---xxxIIIIIIIIIxxx---xxxTerm CPU: iii iiiiii q=3 P1: xxxxxxxxxIIIIIIxxxxxxIIIIIIIIIxxxxxxTerm P2: xxxxxxIIIIIIxxxxxxxxxIIIIIIIIIxxxxxxTerm

140 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 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

141 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / xxx Process is running --- Process is ready III Process is blocked on I/O device Time q=1 P1: xxx------xxxxxxIIIIII---xxxxxxIIIIIIIIIxxxxxxTerm P2: xxxxxxIIIIIIxxxxxxxxxIIIIIIIIIxxxxxxTerm q=3 P1: xxx------xxxxxxIIIIII---xxxxxxIIIIIIIIIxxxxxxTerm P2: xxxxxxIIIIIIxxxxxxxxxIIIIIIIIIxxxxxxTerm

142 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Άσκηση - 54 Να σχεδιάσετε το διάγραμμα Gantt για καθένα από τους παρακάτω αλγορίθμους δρομολόγησης : FCFS, RR με quantum=2 χρονικές μονάδες, Preemptive και Nonpreemptive SJF και να υπολογίσετε τον μέσο χρόνο επιστροφής για τον κάθε αλγόριθμο. Process Arrival time Burst time Priority A032 B 264 C441 D655 E823

143 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / FCFS : Gantt Chart ABCDE Ave. TAT = = 63 = 12.6 time units 5 5

144 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / RR : Time Quantum = 2 time units ABCDE Ave. TAT = = 75 = 15 time units 5 5 ABCDBD

145 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Nonpreemptive SJF Gantt Chart : EA 0 25 Ave. TAT = = 50 = 10 time units 5 5 CD 9 14 B 20

146 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Preemptive SJF Gantt Chart : AABCC Ave. TAT = (3 - 0) + (15 - 2) + (8 – 4) + (20 – 6) + (10 – 8) = 7.2 time units 5 EBD

147 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Άσκηση Πέντε 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. 2.Για την περίπτωση (a), υποθέστε ότι το σύστημα είναι πολυπρογραμματισμού και ότι κάθε διεργασία χρησιμοποιεί την CPU εξ ίσου με τις υπόλοιπες. Για τις περιπτώσεις (b) και (c) υποθέστε ότι κάθε στιγμή μόνον μια διεργασία μπορεί να εκτελείται, μέχρι να τερματιστεί. Όλες οι διεργασίες είναι εξ ολοκλήρου CPU bound.

148 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 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 λεπτά.

149 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι /

150 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Άσκηση - 56 Να συγκρίνετε τους αλγορίθμους FCFS και RR ως προς το αν μεροληπτούν και σε τι βαθμό υπέρ των μικρής διάρκειας διεργασιών.

151 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Άσκηση - 57 Ποιο είναι το πλεονέκτημα της ύπαρξης διαφορετικού μεγέθους quantum χρόνου στα επίπεδα ενός συστήματος με ουρές πολλαπλών επιπέδων (multilevel queueing system); Οι διεργασίες που χρειάζονται συχνά εξυπηρέτηση, π.χ. διεργασίες αλληλεπίδρασης (interactive processes) όπως είναι οι editors, μπορούν να βρίσκονται σε μια ουρά με μικρό quantum χρόνου. Οι διεργασίες που δεν απαιτούν συχνά εξυπηρέτηση μπορούν να βρίσκονται σε μια ουρά με μεγαλύτερο quantum, απαιτώντας λιγότερες εναλλαγές πλαισίου για να ολοκληρώσουν την επεξεργασία τους, εξασφαλίζοντας έτσι περισσότερο αποδοτική χρήση του συστήματος.

152 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Άσκηση - 58 Ποια είναι η επίδραση της συνεχούς αύξησης του quantum χρόνου στον αλγόριθμο δρομολόγησης Round Robin ? 1.Ο μέσος χρόνος αναμονής μειώνεται 2.Ο μέσος χρόνος επιστροφής αυξάνεται 3.Ο αλγόριθμος συμπεριφέρεται ακριβώς το ίδιο με τον FCFS 4.Όλα τα παραπάνω 5.Κανένα από τα παραπάνω

153 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Άσκηση - 59 Υποθέστε ότι ένα σύστημα έχει μια CPU και μέσο ρυθμό αφίξεων διεργασιών 20 jobs/minute. Κάθε διεργασία έχει μέσο χρόνο εξυπηρέτησης 2 seconds. Ποιο είναι το αναμενόμενο ποσοστό χρόνου κατά το οποίο η CPU είναι απασχολημένη; 1.40% % % % 5.Κανένα από τα ανωτέρω

154 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Άσκηση - 60 Μια πολιτική δρομολόγησης προσπαθεί να βελτιστοποιήσει : 1.CPU utilization 2.Average wait time 3.Average turnaround time 4.Average throughput rate 5.Όλα τα παραπάνω

155 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Άσκηση - 61 Ποιο από τα παρακάτω είναι αληθές για τον αλγόριθμο δρομολόγησης FCFS ; 1.Ελαχιστοποιεί τον χρόνο αναμονής 2.Μεγιστοποιεί την ρυθμοαπόδοση (throughput) 3.Μεγιστοποιεί την δικαιοσύνη κατά τη χρήση της CPU. 4.Τίποτε από τα παραπάνω 5.Όλα τα παραπάνω

156 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Άσκηση - 62 Για τα παρακάτω προβλήματα, χρησιμοποιείστε τα εξής δεδομένα για τις διεργασίες : processService time P0150 P130 P2130 P380 P490

157 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / FCFS, the average wait time? Κανένα από τα παραπάνω

158 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / FCFS, the average turnaround time? Κανένα από τα παραπάνω

159 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / SJN, the average wait time? Κανένα από τα παραπάνω

160 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / SJN, the average turnaround time? Κανένα από τα παραπάνω

161 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / RR scheduling (time quantum=40, no scheduling overhead), the average wait time? Κανένα από τα παραπάνω

162 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / RR scheduling (time quantum=40, no scheduling overhead), the average turnaround time? Κανένα από τα παραπάνω

163 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / RR scheduling (time quantum = 40 και overhead =10 (dispatching, context switching, etc.)),the average wait time? Κανένα από τα παραπάνω

164 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / RR scheduling (time quantum = 40 και overhead =10 (dispatching, context switching, etc.)),the average turnaround time? Κανένα από τα παραπάνω

165 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Άσκηση - 63 Ένας δρομολογητής χρησιμοποιεί αλγόριθμο RR με προτεραιότητες. Οι νέες διεργασίες λαμβάνουν ένα αρχικό quantum μεγέθους q. Κάθε φορά που μια διεργασία χρησιμοποιεί όλο το quantum χωρίς να διακοπεί (blocking), το νέο της quantum γίνεται διπλάσιο από το τρέχον. Αν μια διεργασία διακοπεί πριν λήξει το quantum της, το νέο της quantum είναι πάλι q. Υποθέστε επίσης ότι κάθε διεργασία απαιτεί ένα πεπερασμένο χρονικό διάστημα στην CPU. 1.Υποθέστε ότι ο δρομολογητής δίνει μεγαλύτερη προτεραιότητα στις διεργασίες που έχουν μεγάλα quanta. Είναι πιθανή η παρατεταμένη στέρηση στο σύστημα; 2.Υποθέστε ότι ο δρομολογητής δίνει μεγαλύτερη προτεραιότητα στις διεργασίες που έχουν μικρότερα quanta Είναι πιθανή η παρατεταμένη στέρηση στο σύστημα;

166 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Αν μια διεργασία χρησιμοποιεί όλο το q quantum ο δρομολογητής θα της επιτρέπει να εκτελείται μέχρι να τελειώσει ή να διακοπεί μια και έχει μεγαλύτερη προτεραιότητα από τις υπόλοιπες. Αν διακοπεί θα αναμένει στην ουρά. Δηλαδή είναι μια κανονική RR δρομολόγηση, που δίνει σε κάποιες διεργασίες ένα μεγαλύτερο quantum χρόνου. Δεν προκύπτει παρατεταμένη στέρηση. 2.Υποθέστε ότι μια διεργασία P1 χρησιμοποιεί το συνολικό quantum q, και ένα σταθερό σύνολο νέων διεργασιών φθάνει στο σύστημα, τέτοιο ώστε να υπάρχει πάντοτε μια τουλάχιστον διεργασίες έτοιμη προς εκτέλεση. Αυτές οι διεργασίες θα έχουν μεγαλύτερη προτεραιότητα από την P1 και ο δρομολογητής θα επιλέγει πάντοτε για εκτέλεση από αυτές παρά την P1. Η P1 θα είναι σε παρατεταμένη στέρηση.

167 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Άσκηση – 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).

168 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Άσκηση – 65 (Σεπτέμβριος 2005) Υποθέστε ότι οι παρακάτω διεργασίες εισέρχονται σε ένα σύστημα στους χρόνους που αναγράφονται και απαιτούν τους αντίστοιχους χρόνους εκτέλεσης: ΔΙΕΡΓΑΣΙΑΧΡΟΝΟΣ ΕΚΚΙΝΗΣΗΣ ΧΡΟΝΟΣ ΕΚΤΕΛΕΣΗΣ A 010 Β 23 C 48 D 76 E 1 F 174

169 ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / Να σχεδιάσετε το διάγραμμα εκτέλεσης των διεργασιών και να βρείτε τους χρόνους επιστροφής (turnaround time) κάθε διεργασίας καθώς και τους μέσους χρόνους επιστροφής για τους εξής αλγορίθμους δρομολόγησης : 1.η διεργασία με τον μικρότερο εναπομείναντα χρόνο πρώτη, με προεκχώρηση 2.εκ περιτροπής (round robin) χωρίς κόστος εναλλαγής πλαισίου (context switching). Ο χρόνος καταιγισμού (quantum) δεν είναι σταθερός αλλά εξαρτάται από το πλήθος των διεργασιών που βρίσκονται στο σύστημα κάθε στιγμή και : είναι αντιστρόφως ανάλογος του πλήθους των ενεργών διεργασιών μοιράζεται σε όλες εξ ίσου π.χ. αν οι διεργασίες P και Q είναι ενεργές κατά τη χρονική στιγμή 4 και η P χρειάζεται ακόμη 4 seconds για να τελειώσει και η Q 3 seconds, τότε τη χρονική στιγμή 5 η P θα χρειάζεται ακόμη 3.5 seconds για να τελειώσει και η Q 2.5 seconds.


Κατέβασμα ppt "ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι / 10 1 10. Δρομολόγηση σε σύστημα ενός επεξεργαστή 1.Εισαγωγή 2.Κριτήρια αποτίμησης της απόδοσης 3.Κριτήρια."

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


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