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

Σχετικά έγγραφα
ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

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

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

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

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

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

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

ENOTHTA 5 XPONO POMOΛOΓHΣH

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Το μάθημα. Λειτουργικά Συστήματα Πραγματικού Χρόνου Βασικές Έννοιες 6. Ενσωματωμένα Συστήματα (embedded systems) Παραδείγματα

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 3: Λειτουργικά Συστήματα

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

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


Κεφάλαιο 3: Λειτουργικά Συστήµατα

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

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

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

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

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

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

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

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

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

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

Σημειώσεις Λειτουργικών. μια ανοικτή φοιτητική προσέγγιση

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

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

3.1 Λειτουργικό Σύστηµα. Λειτουργικό Σύστηµα (2) ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα. Ο υπολογιστής σαν σκέτο hardware έχει περιορισµένη χρησιµότητα

Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi

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

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

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

Τεχνολογία Πολυμέσων. Ενότητα # 21: Εγγυημένη ποιότητα υπηρεσίας Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

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

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

Προσπέλαση κοινών πόρων Πρωτόκολλα ελέγχου αμοιβαίου αποκλεισμού

Χρόνος Εκτέλεσης. Αρχική Προτεραιότητα Α Β Γ Α 4 1 3

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

Αμοιβαίος αποκλεισμός

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

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

Ένα αφαιρετικό πραγματικού χρόνου μοντέλο λειτουργικού συστήματος για MPSoC

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

Κατανεμημένα Συστήματα

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

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

Θοδωρής Ανδρόνικος Τμήμα Πληροφορικής, Ιόνιο Πανεπιστήμιο

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγικά & Βασικές Έννοιες

ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Εισαγωγή

Transcript:

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

Χρονοδρομολογητής ή χρονοπρογραμματιστής (scheduler) είναι το τμήμα του Λ.Σ. το οποίο είναι επιφορτισμένο με την ευθύνη της απόφασης ποια εκτελέσιμη διεργασία θα εκτελεστεί πρώτη. Ο αλγόριθμος που χρησιμοποιείται από το χρονοδρομολογητή λέγεται αλγόριθμος χρονοδρομολόγησης (scheduling algorithm). 2

Μεγάλο χρονικό διάστημα ενεργοποίησης της CPU Σύντομο διάστημα ενεργοποίησης της CPU Αναμονή για I/O Χρόνος 3

Η επιλογή του κατάλληλου χρόνου για τον χρονοπρογραμματισμό μπορεί να είναι όταν: Δημιουργείται μια νέα διεργασία και πρέπει να αποφασίσουμε αν θα εκτελεστεί αυτή ή η μητρική της Όταν μια διεργασία τερματίζεται και υπάρχουν άλλες διεργασίες σε ετοιμότητα Όταν μια διεργασία μπλοκάρεται... Πολλές φορές η αιτία του μπλοκαρίσματος μπορεί να παίζει ρόλο (π.χ. Περιμένουμε κάποια άλλη διεργασία να βγεί από τη κρίσιμη περιοχή της...)...όμως ο χρονοπρογραμματιστής δεν έχει πάντα διαθέσιμη αυτή την πληροφορία. Όταν γίνεται κάποια διακοπή Ε/Ε 4

Ο χρονισμός του χρονοδρομολογητή γίνεται μέσω κάποιων διακοπών του ρολογιού. Ανάλογα με τον τρόπο που αξιοποιούν το ρολόι, οι αλγόριθμοι μπορούν να χωριστούν σε: Μη προεκτοπιστικούς (non-preemptive), οι οποίοι επιτρέπουν σε μια διεργασία να εκτελείται μέχρι την ολοκλήρωση της ή μέχρι εθελοντικά να επιστρέψει τον έλεγχο της CPU Προεκτοπιστικούς (preemptive), οι οποίοι αναστέλλουν την εκτέλεση των διεργασιών μετά από συγκεκριμένο χρονικό διάστημα. Επίσης, ανάλογα με το περιβάλλον μπορεί να διαφοροποιούνται τα απαιτούμενα χαρακτηριστικά του αλγορίθμου: Περιβάλλον Δέσμης Αλληλεπιδραστικά Περιβάλλοντα Περιβάλλοντα Πραγματικού Χρόνου 5

Ο βασικότεροι στόχοι των αλγορίθμων χρονοπρογραμματισμού ανάλογα και με το περιβάλλον είναι : Για όλα τα συστήματα: Δικαιοσύνη Να εκχωρείται σε κάθε CPU ένα δίκαιο μερίδιο της CPU Επιβολή της Πολιτικής Τήρηση προτεραιοτήτων κ.λ.π. Ισορροπία να διατηρούνται ενεργά όλα τα τμήματα του συστήματος. Συστήματα Δέσμης Διεκπεραιωτική Ικανότητα μεγιστοποίηση του αριθμού εργασιών που ολοκληρώνονται ανά ώρα Χρόνος Διεκπεραίωσης να ελαχιστοποιηθεί ο χρόνος ολοκλήρωσης μια διεργασίας Χρήση CPU --- να διατηρείται η CPU ενεργός 6

Αλληλεπιδραστικά Συστήματα: Χρόνος Απόκρισης Να εκχωρείται σε κάθε CPU ένα δίκαιο μερίδιο της CPU Τήρηση Αναλογιών Να ικανοποιούνται οι προσδοκίες των χρηστών Συστήματα Πραγματικού Χρόνου Τήρηση προθεσμιών να αποφεύγεται απώλεια δεδομένων Προβλεψιμότητα να αποφεύγεται ο υποβιβασμός της ποιότητας, π.χ. Πολυμέσα. 7

ΣΥΣΤΗΜΑΤΑ ΔΕΣΜΗΣ Εξυπηρέτηση με βάση τη σειρά άφιξης First-Come First-Served Διεργασίες που μπλοκάρονται όταν πάλι γίνουν έτοιμες για εκτέλεση μπαίνουν στο τέλος της ουράς. Εξυπηρέτηση με βάση τη μικρότερη διάρκεια Προϋποθέτει ότι γνωρίζουμε τη διάρκεια εκτέλεσης των Βελτιώνεται ο μέσος χρόνος διεκπεραίωσης Εξυπηρέτηση με βάση τη μικρότερη διάρκεια που απομένει Προεκτοπιστική έκδοση του προηγούμενου αλγορίθμου Προϋποθέτει ότι γνωρίζουμε τη διάρκεια εκτέλεσης των Ο χρονοπρογραμματιστής επιλέγει πάντα την εργασία που απαιτεί το λιγότερο χρόνο για να εκτελεστεί 8

ΣΥΣΤΗΜΑΤΑ ΔΕΣΜΗΣ Χρονοπρογραμματιστής Τριών Επιπέδων Χρονοπρογραμματιστής Αποδοχής: Αποφασίζει ποιες εργασίες θα γίνουν αποδεκτές από το σύστημα (π.χ. Ορθή αναλογία υπολογιστικά φραγμένων και Ε/Ε φραγμένων) Χρονοπρογραμματιστής Μνήμης (αποφασίζει ποιες θα μείνουν στη μνήμη και ποιες θα αποθηκευθούν στο δίσκο) Οι διεργασίες που βρίσκονται ταυτόχρονα στη μνήμη καθορίζουν το βαθμό πολυπρογραμματισμού 9

ΣΥΣΤΗΜΑΤΑ ΔΕΣΜΗΣ Χρονοπρογραμματιστής Τριών Επιπέδων Για να πάρει τις αποφάσεις του ο χρονοπρογραμματιστής Μνήμης, χρησιμοποιεί τα παρακάτω κριτήρια:» Πόσος χρόνος πέρασε από τη στιγμή που η διεργασία μεταφέρθηκε στο δίσκο/μνήμη ;» Πόσο χρόνο CPU είχε στη διάθεση της η διεργασία ;» Ποιο είναι το μέγεθος της διεργασίας ;» Πόσο σημαντική είναι η διεργασία ; Χρονοπρογραμματιστής CPU Αξιοποιείται οποιοσδήποτε προεκτοπιστικός ή μή αλγόριθμος, συμπεριλαμβανομένων αυτών που είδαμε 10

ΑΛΛΗΛΕΠΙΔΡΑΣΤΙΚΑ Χρονοδρομολόγηση Εξυπηρέτησης εκ Περιτροπής Σύμφωνα με τον αλγόριθμο εξυπηρέτησης εκ περιτροπής (round robin scheduling), σε κάθε διεργασία εκχωρείται χρονικό διάστημα - κβάντο (quantum) στα όρια του οποίου επιτρέπεται η εκτέλεσή της. Αν η διεργασία δεν ολοκληρωθεί μέχρι το τέλος του χρονικού αυτού διαστήματος, τότε η CPU προεκχωρείται σε άλλη διεργασία, δηλαδή λαμβάνει χώρα εναλλαγή διεργασιών (process switch) ή μεταγωγή περιβάλλοντος (context switch). Τρέχουσα διεργασία Επόμενη διεργασία Τρέχουσα διεργασία 11

ΑΛΛΗΛΕΠΙΔΡΑΣΤΙΚΑ Αν η διεργασία ολοκληρωθεί πριν το τέλος του χρονικού διαστήματος που της είχε ανατεθεί, τότε ο αλγόριθμος χρονοδρομολόγησης παραχωρεί την CPU στην επόμενη στην ουρά διεργασία. Σημαντική παράμετρο αποτελεί η επιλογή του μεγέθους του κβάντου χρόνου, αφού η εναλλαγή διεργασιών μπορεί να προκαλέσει σημαντική καθυστέρηση. 12

ΑΛΛΗΛΕΠΙΔΡΑΣΤΙΚΑ Παράδειγμα Κβάντο χρόνου = 20msec Χρόνος διαχείρισης από τη CPU = 5msec Απώλεια Χρόνου 20% Παράδειγμα Κβάντο χρόνου = 500 msec Χρόνος διαχείρισης από τη CPU = 5msec Απώλεια Χρόνου 1% Όμως μεγάλος χρόνος αναμονής σε χρήστες τυπική τιμή κβάντου 70 msec 13

ΑΛΛΗΛΕΠΙΔΡΑΣΤΙΚΑ Χρονοδρομολόγηση με βάση τη Προτεραιότητα Η απαίτηση να ληφθεί υπόψη ότι όλες οι διεργασίες δεν είναι εξίσου σημαντικές και η ανάγκη να ληφθούν υπόψη και εξωτερικοί παράγοντες, οδηγούν στη σχεδίαση χρονοδρομολόγηση προτεραιοτήτων (priority scheduling). Σε κάθε διεργασία ανατίθεται μία προτεραιότητα και εκτελείται η διεργασία με την υψηλότερη προτεραιότητα. Για την αποτροπή της επ άπειρο εκτέλεσης διεργασιών υψηλής προτεραιότητας, ο χρονοδρομολογητής μειώνει την προτεραιότητα της τρέχουσας διεργασίας σε κάθε διακοπή ρολογιού ή, εναλλακτικά, σε κάθε διεργασία καθορίζεται ένα μέγιστο κβάντο. 14

ΑΛΛΗΛΕΠΙΔΡΑΣΤΙΚΑ Ένας τυπικός αλγόριθμος καλής εξυπηρέτησης, αναθέτει προτεραιότητα: 1/f, όπου f είναι το μέρος του κβάντου χρόνου που χρησιμοποιήθηκε από τη διεργασία την τελευταία φορά. π.χ. Χρήση 2ms από τα 100 ms (κβάντο χρόνου) προτεραιότητα 50 Χρήση 50ms από τα 100 ms (κβάντο χρόνου) προτεραιότητα 2 Συνεπώς αν μια διεργασία είναι φραγμένη λόγω Ε/Ε, τότε δεν έχει νόημα απλά να περιμένει πολύ ώρα στη μνήμη για να αξιοποιήσει τη CPU και να καταναλώνει μνήμη. 15

ΑΛΛΗΛΕΠΙΔΡΑΣΤΙΚΑ Υβριδικό σχήμα περιλαμβάνει την ομαδοποίηση διεργασιών σε κλάσεις προτεραιοτήτων (priority classes). Χρησιμοποιείται ταυτόχρονα: χρονοδρομολόγηση προτεραιοτήτων μεταξύ των κλάσεων χρονοδρομολόγηση εξυπηρέτησης εκ περιτροπής μεταξύ των διεργασιών της ίδιας κλάσης. Με τον αλγόριθμο αυτό, μπορεί να εμφανισθεί το πρόβλημα της παρατεταμένης στέρησης πόρων (starvation) της CPU για κάποιες διεργασίες. 16

ΑΛΛΗΛΕΠΙΔΡΑΣΤΙΚΑ Πολλαπλές Ουρές Σε όλους τους αλγορίθμους εναλλαγής διεργασιών, σημαντική σχεδιαστική παράμετρο αποτελεί η επιλογή του μεγέθους του κβάντου χρόνου Διεργασίες με υψηλή απαίτηση σε CPU μεγάλο κβάντο χρόνου Διεργασίες με υψηλή απαίτηση σε I/O μικρό κβάντο χρόνου Επιλογή μεταξύ πλήθους εναλλαγών έναντι υψηλών χρόνων απόκρισης. 17

ΑΛΛΗΛΕΠΙΔΡΑΣΤΙΚΑ Μία αποτελεσματική επιλογή είναι η λύση των πολλαπλών ουρών (multiple queues) - κλάσεων προτεραιοτήτων: οι διεργασίες της ουράς υψηλότερης κλάσης εκτελούνται για ένα κβάντο χρόνου οι διεργασίες της ουράς της επόμενης κλάσης εκτελούνται για δύο κβάντα χρόνου όταν μια διεργασία χρησιμοποιεί όλο το κβάντο χρόνου που της ανατίθεται, υποβιβάζεται κατά μία κλάση. 18

ΑΛΛΗΛΕΠΙΔΡΑΣΤΙΚΑ Παράδειγμα: Διεργασία απαιτεί 100 κβάντα χρόνου 100 εναλλαγές από τον αλγόριθμο εκ περιτροπής Κβάντα χρόνου Συνολικά κβάντα χρόνου Εναλλαγές 1 1 1 2 3 2 4 7 3 8 15 4 16 31 5 32 63 6 64 127 7 19

ΑΛΛΗΛΕΠΙΔΡΑΣΤΙΚΑ Τα πλεονεκτήματα της μεθόδου αυτής είναι: απαιτείται μικρότερος αριθμός εναλλαγών, σε σχέση με τον αλγόριθμο εξυπηρέτησης εκ περιτροπής όσο μια μεγάλη διεργασία βυθίζεται βαθύτερα στις ουρές προτεραιοτήτων, τόσο ευνοείται η ολοκλήρωση μικρών διαλογικών διεργασιών. 20

ΑΛΛΗΛΕΠΙΔΡΑΣΤΙΚΑ Εγγυημένος Χρονοπρογραμματισμός: Συγκεκριμένες απαιτήσεις για την απόδοση του συστήματος Αν Ν χρήστες ο καθένας θα έχει το 1/Ν της CPU Απαιτείται να κρατάμε το χρόνο CPU που διατίθεται σε κάθε διεργασία χρήστη Χρονοπρογραμματισμός Δίκαιης Διανομής: Λαμβάνεται υπόψη σε ποιόν χρήστη ανήκει η κάθε διαδικασία Ας υποθέσουμε δύο χρήστες (στον καθένα θα πρέπει να δίνεται το 50% της CPU). O χρήστης 1 έχει 4 διεργασίες (Α, Β, Γ, και Δ) ενώ ο χρήστης 2 μόνο 1 διεργασία (Ε). Με χρονοπρογραμματισμό εκ περιτροπής: Α Ε Β Ε Γ Ε Δ Ε... Αν ο 1 δικαιούται διπλάσιο χρόνο τότε: Α Β Ε Γ Δ Ε...κ.λ.π. 21

ΠΡΑΓΜΑΤΙΚΟΥ ΧΡΟΝΟΥ Ο Χρόνος διεκπεραίωσης είναι κρίσιμος Συστήματα αυστηρά πραγματικού χρόνου (Hard Realtime) Ήπια συστήματα πραγματικού Χρόνου Η συνήθης τακτική είναι ο χωρισμός του προγράμματος σε κάποιον αριθμό από διεργασίες που έχουν προβλέψιμη και γνωστή εκ των προτέρων συμπεριφορά Όταν ανιχνεύεται κάποιο εξωτερικό γεγονός ο χρονοπρογραμματιστής επιλέγει την κατάλληλή διεργασία ώστε να τηρηθούν οι προθεσμίες. 22