Table of Contents
Οι αλγόριθμοι προγραμματισμού είναι απαραίτητοι στα λειτουργικά συστήματα για την αποτελεσματική διαχείριση της εκτέλεσης της διεργασίας. Καθορίζουν τη σειρά με την οποία οι διαδικασίες κατανέμονται χρόνος CPU, αντίκτυπος στην απόδοση του συστήματος και ανταπόκριση. Αυτό το άρθρο συγκρίνει τρεις κοινούς αλγόριθμους: First-Come, First-Served (FCFS), Shortest Job First (SJF), και Round Robin, με υπολογισμούς για να απεικονίσουν τις διαφορές τους.
Πρώτης Έλα, Πρώτης Διακομιστής (FCFS)
Είναι απλό αλλά μπορεί να οδηγήσει σε μεγάλο χρόνο αναμονής για συντομότερες διαδικασίες, γνωστή ως το αποτέλεσμα της ⁇ συζητήσεως.
Παράδειγμα: Οι διαδικασίες με το breach επί 5, 3, και 8 φθάνουν διαδοχικά. Το διάγραμμα Gantt δείχνει εντολή εκτέλεσης και υπολογισμούς για την αναμονή και την επιστροφή χρόνου.
Υπολογισμός:
- Διαδικασία 1: Χρόνος αναμονής = 0, Χρόνος στροφής = 5
- Διαδικασία 2: Χρόνος αναμονής = 5, Χρόνος στροφής = 8
- Διαδικασία 3: Χρόνος αναμονής = 8, Χρόνος στροφής = 16
Η μικρότερη εργασία πρώτη (SJF)
Το SJF επιλέγει τη διαδικασία με το μικρότερο χρόνο έκρηξης που ακολουθεί.
Χρησιμοποιώντας τις ίδιες διαδικασίες, η SJF τις προγραμματίζει ως 3, 5, στη συνέχεια 8 μονάδες, οδηγώντας σε διαφορετικούς χρόνους αναμονής.
Υπολογισμός:
- Διαδικασία 2: Χρόνος αναμονής = 0, Χρόνος στροφής = 3
- Διαδικασία 1: Χρόνος αναμονής = 3, Χρόνος στροφής = 8
- Διαδικασία 3: Χρόνος αναμονής = 8, Χρόνος στροφής = 16
Προγραμματισμός γύρω από τον Robin
Ο γύρος Robin αναθέτει σε κάθε διαδικασία ένα σταθερό κομμάτι χρόνου ή κβαντικό. Οι διαδικασίες είναι κύκλο μέχρι την ολοκλήρωση, προωθώντας τη δικαιοσύνη και την ανταπόκριση.
Υποθέτοντας μια κβαντική των 2 μονάδων, οι διαδικασίες είναι προγραμματισμένες σε κύκλους, και οι υπολογισμοί βασίζονται σε συνολικό χρόνο εκτέλεσης και περιόδους αναμονής.
Παράδειγμα υπολογισμών για τους χρόνους ολοκλήρωσης της διαδικασίας και τους χρόνους αναμονής είναι οι εξής:
- Διαδικασία 1: Χρόνος αναμονής = 4, Χρόνος στροφής = 9
- Διαδικασία 2: Χρόνος αναμονής = 2, Χρόνος στροφής = 5
- Διαδικασία 3: Χρόνος αναμονής = 8, Χρόνος στροφής = 16