Priority Scheduling
Περιγραφή
Ο αλγόριθμος Priority Scheduling είναι μια μέθοδος διαχείρισης διεργασιών στα λειτουργικά συστήματα, όπου κάθε διεργασία έχει μια προτεραιότητα. Οι διεργασίες εκτελούνται με βάση την προτεραιότητά τους, με τις διεργασίες υψηλότερης προτεραιότητας να εκτελούνται πρώτες. Αν δύο διεργασίες έχουν την ίδια προτεραιότητα, μπορεί να χρησιμοποιηθεί η σειρά άφιξής τους (FIFO) για την επίλυση της σύγκρουσης. Ο αλγόριθμος αυτός μπορεί να είναι προεκχωρίσιμος ή μη προεκχωρίσιμος: στην προεκχωρίσιμη έκδοση, αν μια νέα διεργασία με υψηλότερη προτεραιότητα φτάσει, η τρέχουσα διεργασία διακόπτεται, ενώ στη μη προεκχωρίσιμη, συνεχίζεται η εκτέλεση της τρέχουσας διεργασίας μέχρι την ολοκλήρωσή της. Μειονέκτημα της προσέγγισης είναι το φαινόμενο γνωστό ώς starvation, όπου διεργασίες χαμηλής προτεραιότητας ενδέχεται να μην εκτελεστούν ποτέ.
Διαβάστε περισσότερα:
Οδηγίες για την οπτικοποίηση του αλγορίθμου
Εισαγάγετε τον χρόνο εκτέλεσης για κάθε διεργασία, διασφαλίζοντας ότι είναι σωστά μορφοποιημένος.
Εισαγάγετε τον χρόνο άφιξης για κάθε διεργασία, διασφαλίζοντας ότι είναι σωστά μορφοποιημένος. Εναλλακτικά, μπορείτε να τρέξετε το έτοιμο παράδειγμα πατώντας Συμπλήρωση παραδείγματος.
Εισαγάγετε τις προτεραιότητες για κάθε διεργασία.
Επιλέξτε τον Τύπο Προτεραιότητας, δηλαδή αν οι μικρότεροι αριθμοί προτεραιότητας αντιστοιχούν σε μεγαλύτερη προτεραιότητα (π.χ. 1 > 2 > 3) ή αν οι μεγαλύτεροι αριθμοί προτεραιότητας έχουν προτεραιότητα (π.χ. 3 > 2 > 1). Αυτή η επιλογή θα καθορίσει τον τρόπο με τον οποίο ο αλγόριθμος θα επιλέγει την επόμενη διεργασία προς εκτέλεση.
Ρυθμίστε το Aging, αν επιθυμείτε να ενεργοποιήσετε τη διαδικασία ωρίμανσης (aging). Το aging αυξάνει σταδιακά την προτεραιότητα των διεργασιών που περιμένουν, αποτρέποντας τη λιμοκτονία (starvation). Μπορείτε να εισαγάγετε μια αριθμητική τιμή που αντιπροσωπεύει τον ρυθμό ωρίμανσης. Όσο μεγαλύτερη η τιμή, τόσο πιο γρήγορα θα αυξάνεται η προτεραιότητα των διεργασιών που βρίσκονται σε αναμονή.
Επιλέξτε τον Τύπο Εκτέλεσης, είτε Προεκχωρήσιμος (Preemptive) είτε Μη Προεκχωρήσιμος (Non-Preemptive). Στον προεκχωρήσιμο τρόπο, ο αλγόριθμος μπορεί να διακόψει μια διεργασία που εκτελείται, αν μια άλλη διεργασία με υψηλότερη προτεραιότητα γίνει διαθέσιμη. Στον μη προεκχωρήσιμο τρόπο, η διεργασία που εκτελείται ολοκληρώνεται πλήρως πριν εκκινήσει οποιαδήποτε άλλη.
Πατήστε το κουμπί «Δημιουργία Πίνακα» για να εμφανιστούν οι δύο διαθέσιμες επιλογές οπτικοποίησης.
Μπορείτε είτε να εκτελέσετε τον αλγόριθμο άμεσα επιλέγοντας «Απευθείας Εκτέλεση» είτε να τον εκτελέσετε σταδιακά επιλέγοντας «Βήμα προς Βήμα». Σε κάθε περίπτωση, θα εμφανιστεί η κατάσταση της ουράς και το διάγραμμα Gantt, παρέχοντας μια σαφή και λεπτομερή οπτικοποίηση της διαδικασίας.
Πατήστε το κουμπί «Επαναφορά» για να διαγράψετε όλα τα δεδομένα και να επαναφέρετε την οθόνη στην αρχική της κατάσταση. Αυτό θα σας επιτρέψει να ξεκινήσετε από την αρχή χωρίς να χρειάζεται να ανανεώσετε τη σελίδα.