ENOTHTA 5 XPONO POMOΛOΓHΣH

Σχετικά έγγραφα
Ενότητα 6 (Κεφάλαιο 9) Χρονοδρομολόγηση

Λειτουργικά Συστήματα (Λ/Σ)

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Λειτουργικά Συστήματα Η/Υ

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Δρομολόγηση σε σύστημα ενός επεξεργαστή

Μάθημα 7 ο. Αλγόριθμοι Χρονοδρομολόγησης

ροµολόγηση Επεξεργαστή

Μάθημα 7: Αλγόριθμοι Χρονοδρομολόγησης

Σκελετός Παρουσίασης

Λιβανός Γιώργος Εξάμηνο 2017Β

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Χρονοπρογραμματισμός Εργαστηριακές Ασκήσεις

Εργαστήριο Λειτουργικών Συστημάτων - Αλγόριθμοι Χρονοπρογραμματισμού. Εργαστηριακή Άσκηση

Λειτουργικά Συστήματα

Τεχνολογία Υπολογιστικών Συστηµάτων & Λειτουργικά Συστήµατα Κεφάλαιο 8

Ανάλυση Επιδόσεων Συστημάτων Πραγματικού Χρόνου

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Χρονοπρογραμματισμός (ή Χρονοδρομολόγηση ή Δρομολόγηση)

Χρονοπρογραµµατισµός ιεργασιών (Process Scheduling)

Εργαστηριακή Άσκηση. Τμήμα Μηχανικών Πληροφορικής ΤΕ

Λειτουργικά Συστήματα

Εισαγωγή στην Πληροφορική. Αντώνης Σταµατάκης

Λειτουργικά Συστήματα

Ο βασικός παράγοντας είναι ο χρόνος αξιοποίησης του επεξεργαστή Ελάχιστος αριθµός πράξεων και όχι µακρόχρονες αιτήσεις Ε/Ε

ENOTHTA 7 IAXEIPIΣH ΣYΣKEYΩN E/E & AΠOΘHKEYΣHΣ

Λειτουργικά Συστήματα

Λειτουργικά Συστήματα

ENOTHTA 2 IEPΓAΣIEΣ: ΠEPIΓPAΦH KAI EΛEΓXOΣ

Κεφάλαιο 3. Διδακτικοί Στόχοι

ENOTHTA 8 IAXEIPIΣH KAI ΣYΣTHMATA APXEIΩN

Εξετάσεις Προόδου 8/1/2014 Τεχνικός Εφαρμογών Πληροφορικής (Πολυμέσα/ Web designer - developper/video games)

Χρονοπρογραµµατισµός ΚΜΕ (CPU Scheduling)

Λειτουργικά συστήματα πραγματικού χρόνου

Μάθημα 6 ο. Χρονοδρομολόγηση (Scheduling)

Ενότητα 2 (Κεφάλαιο 3) Περιγραφή και Έλεγχος Διεργασιών. Περιεχόμενα. Ανάγκη ύπαρξης διεργασιών 1

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε)

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή

Εισαγωγή στην Πληροφορική

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

Σκοπός Μαθήματος. Λειτουργικά Συστήματα Η/Υ. Γενικές Πληροφορίες. Στόχοι Μαθήματος ΚΕΦΑΛΑΙΟ 1 - ΕΙΣΑΓΩΓΗ. Θεωρία: Εργαστήριο: Κεφάλαιο 1 «Εισαγωγή»

Εισαγωγή στα Λειτουργικά Συστήματα

Λειτουργικά Συστήματα Η/Υ

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος

Λειτουργικά συστήµατα. Λογισμικό Συστήματος 1

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΑ ΣΥΣΤΗΜΑΤΑ

Λειτουργικά. Συστήματα Ι. Διεργασίες-Νήματα. Φ ρ ο ν τ ι σ τ ή ρ ι ο. Αριστείδης Ηλίας. Εργαστήριο Ηλεκτρονικών Υπολογιστών

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ ΑΝΑΓΝΩΣΤΟΠΟΥΛΟΣ ΚΩΣΤΑΣ

Λειτουργικά Συστήµατα

Εισαγωγή στους Η/Υ. Ενότητα 4: Λειτουργικά Συστήματα Ι. Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών

Κεφάλαιο 4: Λογισμικό Συστήματος

Λειτουργικά Συστήματα

Λειτουργικά Συστήματα

Ανάλυση επιδόσεων συστημάτων πραγματικού χρόνου

Εισαγωγή στους Υπολογιστές

Σελίδα Φορτώθηκε Προσπελάστηκε Συχνότητα R Μ (dirty)

Λειτουργικά Συστήματα

ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1

Κεφάλαιο 4. Λογισμικό Συστήματος


Λειτουργικά Συστήματα Πραγματικού Χρόνου

1. Εισαγωγή. Λειτουργικά Συστήματα Η/Υ. Διεργασίες. Ορισμός ΚΕΦΑΛΑΙΟ 3 - ΔΙΕΡΓΑΣΙΕΣ. Κεφάλαιο 3 «Διεργασίες»

Χρονοδρομολόγηση Ι Μοντέλα διεργασιών, Προθεσμίες και Αλγόριθμοι

Λειτουργικά Συστήματα

Κεφάλαιο 4 Λογισμικό συστήματος. Εφαρμογές Πληροφορικής Κεφ.4 Καραμαούνας Πολύκαρπος 1

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος

ENOTHTA 9 AΣΦAΛEIA KAI ΠPOΣTAΣIA

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων

Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES)

ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήματα

Χρονοδρομολογητής Κυκλικής Επαναφοράς

Λειτουργικά Συστήματα Ι. Κεφάλαιο 1 Βασικές Έννοιες Λειτουργικών Συστημάτων

Ενότητα 7 (Κεφάλαιο 7) Διαχείριση Μνήμης. Περιεχόμενα. Ανάγκη για διαχείριση μνήμης. Βασικές αρχές διαχείρισης μνήμης.

ΛΥΜΕΝΑ ΠΡΟΒΛΗΜΑΤΑ. Γράψτε τις επόμενες διαδικασίες σε όποια γλώσσα προγραμματισμού προτιμάτε:

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Κεφάλαιο 3.1: Λειτουργικά Συστήματα. Επιστήμη ΗΥ Κεφ. 3.1 Καραμαούνας Πολύκαρπος

[4] Στόχοι. Λογισμικό. Υπολογιστικά συστήματα: Στρώματα

ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ, ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ, ΤΜΗΥΠ ΤΟΜΕΑΣ ΛΟΓΙΚΟΥ ΤΩΝ Η/Υ

Περιγραφή και Έλεγχος ιεργασιών

1. ΑΡΧΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

ENOTHTA 4 A IEΞO O. Περιεχόµενα

Αδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation)

ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα

ΛΟΓΙΣΜΙΚΟ (software)

ΤΜΗΜΑ ΜΗΥΤΔ, ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ (ΗΥ222) ΔΙΔΑΣΚΩΝ: ΧΡΗΣΤΟΣ Δ. ΑΝΤΩΝΟΠΟΥΛΟΣ Τελική Εξέταση Σεπτεμβρίου 2009, Χρόνος: 2:30

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Επ. Καθ. Κ. Λαμπρινουδάκης

Λιβανός Γιώργος Εξάμηνο 2017Β

Αδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation)

Συγχρονισµός: Αδιέξοδο & Παρατεταµένη Στέρηση

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Λειτουργικά συστήματα

ΕΙΣΑΓΩΓΗ. Παρέχει µια διεπαφή (interface) ανάµεσα στο υλισµικό και στα προγράµµατα εφαρµογών/χρηστών.

«Λειτουργικά Συστήματα Πραγματικού Χρόνου»

Εγγυημένη ποιότητα υπηρεσίας

ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήματα

Πληροφορική 2. Λειτουργικά Συστήματα

Κεφάλαιο 4 Διεργασίες Β Τάξη ΕΠΑΛ

2. Σκοποί και Λειτουργίες των ΛΣ. Λειτουργικά Συστήματα Η/Υ. Περίληψη. Ι. Προστασία Υλικού ΚΕΦΑΛΑΙΟ 2 - ΕΞΕΛΙΞΗ ΚΑΙ ΣΚΟΠΟΙ ΛΣ

Transcript:

ENOTHTA 5 Περιεχόµενα 1. Xρονοδροµολόγηση 2. Eίδη χρονοδροµολόγησης 3. Στόχοι και κριτήρια της χρονοδροµολόγησης 4. Tαξινόµηση αλγόριθµων χρονοδροµολόγησης 5. Xρονοδροµολόγηση µε βάση τον χρόνο εισόδου 6. Xρονοδροµολόγηση εκ περιτροπής 7. Xρονοδροµολόγηση µε βάση τον συνολικό χρόνο εκτέλεσης µίας διεργασίας 8. Xρονοδροµολόγηση µε βάση τον υπολοιπόµενο χρόνο εκτέλεσης µίας διεργασίας 9. Xρονοδροµολόγηση µε βάση τον χρόνο αναµονής για εκτέλεση µίας διεργασίας 10. Xρονοδροµολόγηση µε πολλαπλέ ς ουρές ανατροφοδότησης 11. Xρονοδροµολόγηση σε µερικά Λειτουργικά Συστήµατα 5-1

1. Xρονοδροµολόγηση Mε τον όρο χρονοδροµολόγηση ή χρονοπρογραµµατισµό (scheduling) αναφερόµαστε στον αλγόριθµο που χρησµοποιείται για να αποφασισθεί ποια από τις εργασίες ή διεργασίες που είναι έτοιµες για εκτέλεση θα δεσµεύσει την KME για να αρχίσει να εκτελείται. Tο µέρος του Λ.Σ. που είναι υπεύθυνο για τη χρονοδροµολόγηση των διεργασιών λέγεται χρονοπρογραµµατιστής ή χρονοδροµολογητής (scheduler). 2. Eίδη χρονοδροµολόγησης Mακροπρόθεσµη (long-term) ή υψηλού επιπέδου (high-level) χρονοδροµολόγηση. Aποφασίζει για το ποιες εργασίες θα εισαχθούν στο σύστηµα για εκτέλεση. Mόλις δηµιουργηθεί µία εργασία, αποθηκεύεται στην περιφερειακή µνήµη µέχρις ότου ο χρονοδροµολογητής αποφασίσει να τη µεταφέρει στην κύρια µνήµη. Mεσοπρόθεσµη (medium-term) ή ενδιάµεσου επιπέδου (intermediate-level) χρονοδροµολόγηση. Aποφασίζει για το ποιες διεργασίες θα αποκτήσουν το δικαίωµα να συναγωνιστούν για την είσοδό τους στην KME. Aυτό επιτυγχάνεται µε την εναλλαγή (swapping) διεργασιών από την περιφερειακή στην κύρια µνήµη και αντίστροφα. Bραχυπρόθεσµη (short-term) ή χαµηλού επιπέδου (short-level) χρονοδροµολόγηση. Aποφασίζει για το ποια διεργασία θα δεσµεύσει την KME. Tο µέρος του χρονοπρογραµµατιστή που είναι υπεύθυνο για τη βραχυπρόθεσµη χρονοδροµολόγηση λέγεται και επιλογέας ή προωθητής (dispatcher) και εκτελείται πιο συχνά από τα άλλα µέρη. Tα δύο πρώτα είδη χρονοδροµολόγησης ενδιαφέρονται κυρίως για τον βαθµό του πολυπρογραµµατισµού που υποστηρίζει το σύστηµα και για την όσο το δυνατόν καλύτερη διαχείρηση των υπάρχοντων πόρων του συστήµατος ενώ το τρίτο εστιάζει την προσοχή του κυρίως στην όσο το δυνατόν καλύτερη χρήση της KME. Aυτά που ακολουθούν ισχύουν σε γενικές γραµµές για όλα τα επίπεδα χρονοδροµολόγησης. 5-2

3. Στόχοι και κριτήρια της χρονοδροµολόγησης Ένας αλγόριθµος χρονοδροµολόγησης πρέπει να ικανοποιεί κάποιους στόχους (objectives). Oι στόχοι αυτοί σε µεγάλο βαθµό καθορίζουν και τα κριτήρια µε βάση τα οποία οϊοθετείται τελικά ο ένας ή ο άλλος αλγόριθµος. Tα κριτήρια αυτά µπορούν να χωρισθούν σε δύο κατηγορίες. 1. Προσανατολισµένα στον χρήστη (user oriented): Xρόνος απόκρισης (response time). Eλαχιστοποίηση του χρόνου απόκρισης για διαλογικούς χρήστες (interactive users). Kύκλος διεκπεραίωσης (turnaround). Eλαχιστοποίηση του χρόνου που οι χρήστες ενός συστήµατος δέσµης (batch system) περιµένουν τη διεκπεραίωση των εργασιών τους. Προθεσµίες (deadlines). Πρέπει να τηρούνται τυχόν προθεσµίες αποπεράτωσης της εκτέλεσης κάποιων διεργασιών. Kαθορισµένη συµπεριφορά (predictability). O χρόνος εκτέλεσης µίας εργασίας δεν πρέπει να εξαρτάται σε µεγάλο βαθµό από το φόρτο εργασίας του συστήµατος. 2. Προσανατολισµένα στο σύστηµα (system oriented): Pυθµός απόδοσης (throughput). Mεγιστοποίηση του αριθµού των εργασιών που επεξεργάζεται το σύστηµα σε µία χρονική µονάδα (π.χ. ανά ώρα). ικαιοσύνη (fairness). Kάθε διεργασία πρέπει να λαµβάνει δίκαιο ποσοστό χρήσης της KME. Aποδοτικότητα (efficiency). H KME πρέπει να είναι απασχοληµένη σε ποσοστό 100%. Σεβασµός προτεραιοτήτων (priority enforcement) που έχουν οι εκτελούµενες διεργασίες. Iσορροπία χρήσης των διαθέσιµων πόρων (resource balancing). Όλοι οι πόροι του συστήµατος πρέπει να χρησιµοποιούνται επαρκώς. Eργασίες που θέλουν να χρησιµοποιήσουν πόρους που κατά κανόνα υποχρησιµοποιούνται πρέπει να προτιµούνται. Mερικοί από τους ανωτέρω στόχους/κριτήρια είναι αντικρουόµενοι: π.χ. η ελαχιστοποίηση του χρόνου απόκρισης προϋποθέτει την αποφυγή εκτέλεσης εργασιών δέσµης τις ώρες που οι χρήστες κάνουν login. 5-3

4. Tαξινόµηση αλγόριθµων χρονοδροµολόγησης H ταξινόµηση των αλγόριθµων χρονοδροµολόγησης γίνεται µε βάση δύο χαρακτηριστικά: τη στρατηγική αναστολής (decision mode) της διεργασίας που ήδη εκτελείται και τη συνάρτηση επιλογής (selection function) της διεργασίας που θα επιλεγεί για εκτέλεση. H ύπαρξη στρατηγικής αναστολής λέγεται και χρονοδροµολόγηση προεκχώρησης (preemptive scheduling) και δεν επιτρέπει τη δέσµευση της KME αποκλειστικά από µία διεργασία. Aντίθετα η ολοκλήρωση εκτέλεσης (run to completion) της διεργασίας πριν αποδεσµεύσει την KME λέγεται χρονοδροµολόγηση µη προεκχώρησης (non preemptive scheduling) και χρησιµοποιείται κυρίως σε συστήµατα εργασιών δέσµης. H συνάρτηση επιλογής βασίζεται σε κριτήρια όπως οι ανάγκες µίας διεργασίας σε πόρους, ο εκτιµηµένος χρόνος εκτέλεσής της και η προτεραιότητά της (priority). Σε ένα σύστηµα µε προτεραιότητες ο χρονοδροµολογητής διαλέγει πάντα µία διεργασία από αυτές που έχουν µεγαλύτερη προτεραιότητα. H αποφυγή του φαινοµένου της παρατεταµένης στέρησης επιτυγχάνεται µε τη δυναµική αλλαγή της προτεραιότητας των διεργασιών. Προτεραιότητα 0 Προτεραιότητα 1 Προτεραιότητα 2 Προτεραιότητα 3 Eπικεφαλίδες ουρών 5-4

5. Xρονοδροµολόγηση µε βάση τον χρόνο εισόδου (FCFS) O πιο απλός αλγόριθµος χρονοδροµολόγησης είναι αυτός που διαλέγει τη διεργασία εκείνη που δηµιουργήθηκε πρώτη (first come first served). Oυσιαστικά δεν υπάρχει στρατηγική αναστολής γιατί η διεργασία που εκτελείται δεσµεύει την KME µέχρι την αποπεράτωση της εκτέλεσής της. είχνει προτίµηση σε διεργασίες που έχουν µεγάλο χρόνο εκτέλεσης και περιορισµένη χρήση E/E. Tο κόστος (overhead) της εναλλαγής διεργασιών όµως είναι ελάχιστο. εν είναι ιδιαίτερα χρήσιµος τρόπος χρονοδροµολόγησης αν και σε συνδυασµό µε προτεραιότητες γίνεται πιο αποτελεσµατικός. Xρησιµοποιείται κυρίως σε συστήµατα εργασιών δέσµης. Γ B A KME 5-5

6. Xρονοδροµολόγηση εκ περιτροπής (RR) Oι διεργασίες εξυπηρετούνται εκ περιτροπής (round robin). Σε κάθε διεργασία εκχωρείται ένα χρονικό διάστηµα που λέγεται κβάντο χρόνου (quantum, time-slice). Aν η διεργασία δεν έχει τερµατίσει µέσα στα πλαίσια του κβάντου της, αναστέλλεται η εκτέλεσή της και η KME προεκχωρείται σε άλλη διεργασία. Προσοχή πρέπει να δίνεται στο πόσο µεγάλο θα είναι το κβάντο. Aν το κβάντο είναι µικρό, το κόστος εναλλαγής των διεργασιών θα είναι µεγάλο. Aν το κβάντο είναι µεγάλο, ο χρόνος απόκρισης θα είναι µεγάλος ακόµα και για σύντοµες διεργασίες. Xρησιµοποιείται κυρίως σε συστήµατα καταµερισµού χρόνου όπου παίζει κύριο λόγο ο χρόνος απόκρισης προς τους διαλογικούς χρήστες. Eυνοεί τις διεργασίες που χρησιµοποιούν κατ εξοχήν την KME, σε βάρος όµως αυτών που χρησιµοποιούν περισσότερο συσκευές E/E. Aυτό συµβαίνει διότι στη δεύτερη περίπτωση µία διεργασία δεν θα µπορεί συνήθως να χρησιµοποιεί όλο το κβάντο της αφού αργά ή γρήγορα θα αναστέλλεται η εκτέλεσή της για εκτέλεση κάποιας πράξης E/E. Mία παραλλαγή του αλγόριθµου αυτού είναι οι διεργασίες που ολοκληρώνουν την εκτέλεση µίας εντολής E/E να έχουν προτεραιότητα για χρήση της KME έναντι των υπολοίπων που είναι έτοιµες για εκτέλεση. Aυτό µπορεί να υλοποιηθεί µε τη χρήση µίας ουράς FCFS. A Γ B A KME 5-6

7. Xρονοδροµολόγηση µε βάση τον συνολικό χρόνο εκτέλεσης µίας διεργασίας (SPN) Oι διεργασίες εξυπηρετούνται µε βάση τον συνολικό χρόνο εκτέλεσής τους και συγκεκριµένα εκτελείται πρώτα η συντοµότερη εργασία (shortest process next). Eίναι παραλλαγή του πρώτου αλγόριθµου αλλά ευνοεί τις σύντοµες διεργασίες. Kαι εδώ δεν υπάρχει αναστολή της εκτελούµενης διεργασίας. Mεγιστοποιεί τον ρυθµό απόδοσης και ελαχιστοποιεί το χρόνο απόκρισης για σύντοµες διεργασίες αλλά δεν ευνοεί µεγάλες διεργασίες. Λόγω της έλλειψης αναστολής δεν είναι κατάλληλη για συστήµατα καταµερισµού χρόνου. Eπίσης, µπορεί να οδηγήσει σε φαινόµενα παρατεταµένης στέρησης αν στο σύστηµα υπάρχουν πολλές σύντοµες διεργασίες. Tέλος προϋποθέτει ότι ο χρόνος εκτέλεσης µίας διεργασίας είναι εκ των προτέρων γνωστός. 8. Xρονοδροµολόγηση µε βάση τον υπολοιπόµενο χρόνο εκτέλεσης µίας διεργασίας (SRT) Eίναι παραλλαγή του προηγούµενου αλγόριθµου µε δυνατότητα αναστολής. O χρονοδροµολογητής διαλέγει για εκτέλεση τη διεργασία εκείνη για την οποία εκτιµάται ότι έχει το λιγότερο υπολοιπόµενο χρόνο εκτέλεσης (shortest remaining time). H άφιξη στην ουρά των διεργασίων που είναι έτοιµες για εκτέλεση µίας διεργασίας που ο υπολοιπόµενος χρόνος εκτέλεσής της είναι µικρότερος από αυτόν της διεργασίας που εκτελείται εκείνη τη στιγµή, οδηγεί σε αναστολή της εκτέλεσης της τελευταίας αυτής. 5-7

9. Xρονοδροµολόγηση µε βάση τον χρόνο αναµονής για εκτέλεση µίας διεργασίας (HRRN) Eίναι µία άλλη παραλλαγή του αλγόριθµου (SPN) όπου στη συνάρτηση επιλογής λαµβάνεται υπ όψη εκτός του συνολικού χρόνου εκτέλεσης µίας διεργασίας και ο χρόνος που περιµένει να εκτελεσθεί. Oδηγεί στη δηµιουργία προτεραιοτήτων µεταξύ των διεργασιών όπου ισχύει η συνθήκη: προτεραιότητα = (χρόνος αναµονής+χρόνος εκτέλεσης) χρόνος εκτέλεσης Eπιτυγχάνει την ικανοποιητική εξυπηρέτηση µεγάλων διεργασιών γιατί όσο αυξάνει ο χρόνος αναµονής τους αυξάνει ανάλογα και η προτεραιότητά τους. 10. Xρονοδροµολόγηση µε πολλαπλές ουρές ανατροφοδότησης Eπίπεδο 0 Kβάντο: 1 Eπίπεδο 1 Kβάντο: 2 KME FCFS KME FCFS Eπίπεδο N Kβάντο: 2 N KME RR 5-8

10. Xρονοδροµολόγηση µε πολλαπλές ουρές ανατροφοδότησης (συνέχεια) O αλγόριθµος αυτός δεν χρειάζεται εκτίµηση του χρόνου εκτέλεσης µίας διεργασίας όπως οι περισσότεροι από τους προηγούµενους. Mπορεί να θεωρηθεί σαν παραλλαγή του αλγόριθµου RR µε προτεραιότητες. Aν µία διεργασία δεν ολοκληρωθεί µέσα στο χρονικό περιθώρειο που καθορίζεται από το κβάντο, µεταφέρεται στην επόµενη ουρά χαµηλότερης προτεραιότητας. Όλες οι ουρές υλοποιούν τον αλγόριθµο FCFS εκτός της τελευταίας που κατ ανάγκη χρησιµοποιεί τον RR. Eπειδή για µεγάλες διεργασίες ο χρόνος διεκπεραίωσης τείνει να µεγαλώνει καθώς οι διεργασίες υποβιβάζονται σε επίπεδα χαµηλότερης προτεραιότητας και για αποφυγή δηµιουργίας φαινοµένων παρατεταµένης στέρησης, το κάθε επίπεδο X έχει µεγαλύτερο κβάντο από το προηγούµενό του X-1. Eπιπλέον, αν µία διεργασία έχει παραµείνει σε κάποιο επίπεδο ένα ωρισµένο χρονικό διάστηµα προβιβάζεται στο αµέσως υψηλότερο επίπεδο. 11. Xρονοδροµολόγηση σε µερικά Λ.Σ. Tο Unix χρησιµοποιεί τον αλγόριθµο των πολλαπλών ουρών µε χρήση RR σε όλες τις ουρές. Tο κβάντο χρόνου είναι 1 δευτερόλεπτο. H προτεραιότητα µίας διεργασίας καθορίζεται από το είδος της και τη συµπεριφορά της στο παρελθόν. Tο OS/2 χρησιµοποιεί παρόµοια µεθοδολογία αλλά ο χρήστης µπορεί να αλλάξει το κβάντο χρόνου. Tο MVS διαχωρίζει µεταξύ των διεργασιών που δεν µπορούν να ανασταλούν και αυτών που µπορούν. Για τις πρώτες χρησιµοποιείται ο αλγόριθµος FCFS και για τις δεύτερες ο αλγόριθµος των πολλαπλών ουρών µε 256 επίπεδα προτεραιότητας. Mεταφορά µίας διεργασίας από ένα επίπεδο σε άλλο γίνεται µε βάση κάποια κριτήρια αποδοτικότητας. 5-9