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

Αναζήτηση

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

Τι θα μάθεις;

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

Για να εκτελούνται οι διάφορες διεργασίες και να παράγεται υπολογιστικό έργο, πρέπει πρώτα απ' όλα το ΛΣ να αποφασίζει ποια διεργασία θα εκτελείται ανά πάσα στιγμή στην ΚΜΕ του υπολογιστή.

Η ενότητα του ΛΣ που λαμβάνει διάφορες αποφάσεις σχετικά με την ανάθεση της ΚΜΕ στις διάφορες διεργασίες ονομάζεται χρονοδρομολόγηση ΚΜΕ (CPU scheduling).

Όταν σχεδιάζεται ένα ΛΣ, η επιλογή των μεθόδων που αυτό θα χρησιμοποιεί για τη χρονοδρομολόγηση της ΚΜΕ είναι πολύ σημαντική για την καλή απόδοση του συστήματος. Ανάλογα με την οργάνωση του υλικού και τις υπολογιστικές ανάγκες που το σύστημα (υλικό + λογισμικό) θα καλύψει, μπορούν να ακολουθηθούν διάφορες μεθοδολογίες.

Η χρονοδρομολόγηση της ΚΜΕ αντιστοιχεί με την επιλογή από το ζαχαροπλάστη του γλυκού που παρασκευάζει κάθε φορά. Επειδή γενικά οι παραγγελίες είναι πολλές, δεν τις εκτελεί όλες ταυτόχρονα. Επιλέγει μια ομάδα από αυτές, και τις εκτελεί μαζί· κάθε φορά που μια από αυτές ολοκληρώνεται, την αντικαθιστά με μια νέα. Ανάλογα με τις ανάγκες των πελατών, αλλά και τις δυνατότητες που του παρέχει η κουζίνα του, ο ζαχαροπλάστης πρέπει να λάβει διάφορες αποφάσεις:

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

Βλέπουμε λοιπόν ότι η χρονοδρομολόγηση της ΚΜΕ γίνεται σε δυο επίπεδα: 1. Στο πρώτο επίπεδο, οι διεργασίες που πρέπει να εκτελεστούν βρίσκονται αποθηκευμένες όλες μαζί σε κάποια μονάδα μαζικής αποθήκευσης (π.χ. το σκληρό δίσκο). Από αυτές επιλέγεται μια ομάδα διεργασιών, οι οποίες θα εναλλάσσονται εκτελούμενες στην ΚΜΕ. 2. Στο δεύτερο επίπεδο βρίσκονται μόνο οι διεργασίες οι οποίες έχουν επιλεγεί από το πρώτο. Οι διεργασίες αυτές βρίσκονται πλέον στην κύρια μνήμη, και είναι καταχωρημένες στη λίστα έτοιμων διεργασιών. Η χρονοδρομολόγηση πλέον περιλαμβάνει την επιλογή σε τακτά χρονικά διαστήματα μιας νέας διεργασίας για να εκτελεστεί από την ΚΜΕ.

Τα δυο επίπεδα χρονοδρομολόγησης της ΚΜΕ μπορούν να αντιστοιχιστούν με έναν ποδοσφαιρικό αγώνα. Αρχικά υπάρχουν δυο δεκαεξάδες παικτών, από τις οποίες όμως οι προπονητές επιλέγουν δυο ενδεκάδες για να αγωνιστούν. Η επιλογή αυτή αντιστοιχεί στο πρώτο στάδιο χρονοδρομολόγησης, όπου κάποιες διεργασίες επιλέγονται για να παίξουν ενεργό ρόλο, ενώ οι υπόλοιπες παραμένουν «ανενεργές». Το δεύτερο στάδιο χρονοδρομολόγησης αντιστοιχεί στην εναλλαγή της μπάλας μεταξύ των παικτών (όπου η μπάλα παριστάνει την ΚΜΕ)· μόνο ένας παίκτης μπορεί να έχει στην κατοχή του τη μπάλα, και μάλιστα ένας από τους εικοσιδύο ενεργούς παίκτες που συμμετέχουν στο παιγνίδι. Οι αναπληρωματικοί πρέπει να μπουν πρώτα στον αγώνα για να αποκτήσουν τη δυνατότητα να πάρουν τη μπάλα.