Διδακτικά Βιβλία του Παιδαγωγικού Ινστιτούτου

Αναζήτηση

Βρες
Εμφάνιση

Τι θα μάθεις;

Όταν ολοκληρώσεις το μάθημα αυτό, θα μπορείς: - Να εξηγείς τη λειτουργία των αλγορίθμων χρονοδρομολόγησης - Να περιγράφεις πώς αξιολογούμε τους αλγορίθμους χρονοδρομολόγησης - Να ορίζεις τι είναι διακοπτός και μη διακοπτός αλγόριθμος - Να απαριθμείς τους κυριότερους μη διακοπτούς αλγόριθμους χρονοδρομολόγησης - Να απαριθμείς τους κυριότερους διακοπτούς αλγόριθμους χρονοδρομολόγησης

Στο μάθημα 7.2 είδαμε ότι οι διεργασίες μπορούν να μοιράζονται μεταξύ τους την ΚΜΕ. Στο μάθημα αυτό θα δούμε τους τρόπους που μπορεί να γίνει αυτό, εξετάζοντας τους διάφορους αλγορίθμους χρονοδρομολόγησης.

Η μεθοδολογία την οποία χρησιμοποιεί κάθε χρονοδρομολογητής (βραχυχρόνιος, μεσοχρόνιος ή μακροχρόνιος) βασίζεται στον αλγόριθμο χρονοδρομολόγησης (scheduling algorithm) τον οποίο εφαρμόζει.

Ο αλγόριθμος αυτός περιγράφει με σαφήνεια τον τρόπο με τον οποίο ο χρονοδρομολογητής θα επιλέξει μια διεργασία για να την προωθήσει στην ΚΜΕ ή να την απομακρύνει από αυτή, πόσο χρόνο θα απασχολεί κάθε διεργασία την ΚΜΕ κλπ. Οι παράμετροι που λαμβάνει υπόψη του ο αλγόριθμος είναι το πλήθος των διεργασιών, η διάρκεια που αναμένεται να έχουν οι εκρήξεις ΚΜΕ και Ε/Ε για τις διεργασίες αυτές, κλπ.

Οι βασικοί στόχοι ενός αλγορίθμου χρονοδρομολόγησης είναι δυο: - Το υπολογιστικό σύστημα πρέπει να έχει όσο το δυνατόν καλύτερη απόδοση σύμφωνα με κάποια κριτήρια αξιολόγησης - Ο ίδιος ο αλγόριθμος πρέπει να λαμβάνει τις αποφάσεις του όσο πιο γρήγορα γίνεται, ιδιαίτερα όταν το πλήθος των διεργασιών είναι μεγάλο, για να προσθέτει την ελάχιστη επιβάρυνση στο σύστημα

Ο δεύτερος στόχος είναι ιδιαίτερα σημαντικός για το βραχυχρόνιο χρονοδρομολογητή, ο οποίος εκτελείται πολύ συχνά.