47. Χρονοδρομολόγηση με βάση την προτεραιότητα

 

               

 Όταν περισσότερες από μία διεργασίες είναι εκτελέσιμες, το λειτουργικό σύστημα πρέπει να αποφασίσει ποια να τρέξει πρώτη. Το τμήμα του λειτουργικού συστήματος που ασχολείται με την απόφαση αυτή ονομάζεται Scheduler, και ο αλγόριθμος ονομάζεται αλγόριθμος χρονοδρομολόγησης.

 

Στη χρονοδρομολόγηση με βάση τη προτεραιότητα σε κάθε διεργασία αποδίδεται μια προτεραιότητα, και η εκτελέσιμη διεργασία με τη μεγαλύτερη προτεραιότητα τρέχει πρώτη.

 

Σε αυτό πάγκο εργασίας εμφανίζεται ένας Round Robin scheduler που έχει ανώτατο όριο οκτώ διεργασίες. Όταν μια νέα διεργασία δημιουργείται, προστίθεται στο τέλος των διεργασιών σε αναμονή και η πρώτη στην ουρά υποβάλλεται στην CPU. Αφού η διεργασία  στη CPU έχει ολοκληρώσει το κβάντο της, απομακρύνεται από τη CPU και τοποθετείται στο τέλος της ουράς. Κάθε διεργασία έχει ένα αναγνωριστικό (ID), συνολικό χρόνο CPU που απαιτείται, καθώς και το χρόνος που έχει παρέλθει. Μια νέα διεργασία μπορεί να δημιουργηθεί χρησιμοποιώντας το κουμπί “Create” και μια διαδικασία που μπορεί να υποβληθεί CPU χρησιμοποιώντας το κουμπί “Submit”. Αυτό μπορεί να γίνει σε συνεχή λειτουργία, κάνοντας κλικ στο  πλήκτρο “Animate” . Το πλήκτρο “Stop” χρησιμοποιείται για να σταματήσει η συνεχής λειτουργία . To πλήκτρο  Clear” καθαρίζει την οθόνη και φέρνει το applet στην αρχική κατάσταση. Η ταχύτητα της κίνησης μπορεί να αλλάξει τη χρήση της “Speed Bar”. Η κατάσταση του χρονοδρομολογητή εμφανίζεται στο πεδίο κειμένου που υπάρχει στην κορυφή.

 

Το διάγραμμα απεικονίζει το Turn Around time της διεργασίας, ήτοι το συνολικό ποσό του χρόνου που απαιτείται από κάθε διαδικασία για την ολοκλήρωση, συμπεριλαμβανομένου του χρόνου που περίμενε στην ουρά. Ο μετρητής επιδόσεων δείχνει το φορτίο, δηλαδή το συνολικό  χρόνο της CPU που απαιτείται από όλες τις διεργασίες στην ουρά σε κάθε δεδομένη στιγμή.