You are on page 1of 13

Αλγόριθμοι

Χρονοδρομολόγησης
Θέματα προς συζήτηση
 Χρονοδρομολόγηση

 Βασικά κριτήρια αξιολόγησης των


αλγορίθμων χρονοδρομολόγησης

 Κατηγορίες αλγορίθμων χρονοδρομολόγησης


 Μη διακοπτοί αλγόριθμοι (θα αναφερθούμε
αναλυτικά)
 Διακοπτοί αλγόριθμοι
Χρονοδρομολόγηση
Η ενότητα του ΛΣ που λαμβάνει διάφορες
αποφάσεις σχετικά με την ανάθεση της ΚΜΕ
στις διάφορες διεργασίες ονομάζεται
χρονοδρομολόγηση ΚΜΕ (CPU
scheduling).
Κριτήρια αξιολόγησης των
αλγορίθμων χρονοδρομολόγησης
 Χρόνος αναμονής (waiting time): είναι ο
χρόνος που πέρασε η διεργασία στη λίστα
ετοίμων διεργασιών αναμένοντας την
εκτέλεσή της.
 Χρόνος απόκρισης (response time): είναι ο
χρόνος που απαιτείται μέχρι το σύστημα να
δώσει την πρώτη έξοδο-απόκριση για μια
διεργασία. (χρόνος απόκρισης = χρόνος
αναμονής + χρόνος εκτέλεσης)
Κατηγορίες αλγορίθμων
χρονοδρομολόγησης

Μη διακοπτοί (non preemptive): μια


διεργασία που επιλέγεται να πάρει τον έλεγχο
της ΚΜΕ, τον διατηρεί έως ότου αυτή
ολοκληρωθεί ή απαιτήσει κάποια άλλη
λειτουργία (π.χ. Ε/Ε).
Διακοπτοί (preemptive): αφού μια διεργασία
χρησιμοποιήσει την ΚΜΕ εκτελούμενη για
κάποιο χρονικό διάστημα, το ΛΣ τη διακόπτει,
ανεξάρτητα από το αν έχει ολοκληρωθεί, για
να δώσει την ΚΜΕ σε κάποια άλλη.
Μη διακοπτοί αλγόριθμοι
 Εξυπηρέτηση με βάση τη σειρά άφιξης (FCFS) :
οι διεργασίες δρομολογούνται με τη σειρά που υποβλήθηκαν για
εκτέλεση

 Εξυπηρέτηση με βάση τη διάρκεια (SJF) :


προηγούνται οι διεργασίες που προβλέπεται να διαρκέσουν λιγότερο

 Εξυπηρέτηση με βάση το λόγο απόκρισης (HRF) :


προηγούνται οι διεργασίες με το μεγαλύτερο λόγο απόκρισης

Χρόνος Αναμονής
Λόγος Απόκρισης  1 
Χρόνος Εκτέλεσης
Διακοπτοί αλγόριθμοι
 Διακοπτή εξυπηρέτηση με βάση τη διάρκεια
(PSJF) :
κάθε φορά που μία διεργασία υποβάλεται για εκτέλεση,
ελέγχονται όλες και επιλέγεται αυτή που αναμένεται να έχει τη
μικρότερη διάρκεια

 Χρονοδρομολόγηση κυκλικής επαναφοράς (RR) :


όλες οι διεργασίες εκτελούνται εκ περιτροπής για ένα μικρό
χρονικό διάστημα
Εφαρμογή
Έστω ότι οι τέσσερις διεργασίες προς εξυπηρέτηση
είναι οι δ1, δ2, δ3, δ4. Ο χρόνος άφιξης της κάθε
μιας στη λίστα ετοίμων διεργασιών και η διάρκειά
τους φαίνονται στον παρακάτω πίνακα.

Διεργασία Άφιξη Διάρκεια


δ1 0 12
δ2 6 31
δ3 8 3
δ4 14 11
Διαγράμματα χρονοδρομολόγησης
της εφαρμογής

 Με βάση
τη σειρά
άφιξης

 Με βάση
τη διάρκεια

 Με βάση
το λόγο
απόκρισης
Αποτελέσματα για τους τρεις
αλγορίθμους
Στον πίνακα που ακολουθεί φαίνεται ο μέσος
χρόνος αναμονής και ο μέσος χρόνος
απόκρισης για κάθε αλγόριθμο που
χρησιμοποιήσαμε.

Καλύτερος αλγόριθμος
για το συγκεκριμένο παράδειγμα
Έλεγχος μαθήματος
Συμλήρωσε τα κενά με τις λέξεις που λείπουν
1. Η ενότητα του ΛΣ που λαμβάνει διάφορες αποφάσεις σχετικά
με την ανάθεση της ΚΜΕ στις διάφορες διεργασίες
ονομάζεται ...........................
2. Τα δύο βασικότερα κριτήρια για την αξιολόγηση ενός
αλγορίθμου χρονοδρομολόγησης είναι οι χρόνοι ..................
και ........................
3. Οι αλγόριθμοι χρονοδρομολόγησης μπορούν να ταξινομηθούν
σε δύο μεγάλες κατηγορίες: τους...............και τους.................
4. Οι κυριότεροι μη διακοπτοί αλγόριθμοι χρονοδρομολόγησης
είναι 1)..............., 2).............. και 3)......................
5. Οι κυριότεροι διακοπτοί αλγόριθμοι χρονοδρομολόγησης είναι:
1)................. και 2)........................
Σύνοψη
Βασικά κριτήρια αξιολόγησης των αλγορίθμων
1. Χρόνος αναμονής
2. Χρόνος απόκρισης
Διακοπτοί αλγόριθμοι
1. Εξυπηρέτηση με βάση τη σειρά άφιξης
2. Εξυπηρέτηση με βάση τη διάρκεια
3. Εξυπηρέτηση με βάση το λόγο απόκρισης

Μη διακοπτοί αλγόριθμοι
1. Διακοπτή εξυπηρέτηση με βάση τη διάρκεια
2. Χρονοδρομολόγηση κυκλικής επαναφοράς
Ανάθεση εργασίας
Σε ένα υπολογιστικό σύστημα
εκτελούνται τέσσερις Διεργασία Άφιξη Διάρκεια
διεργασίες, οι οποίες
περιγράφονται από τον δ1 0 20
παράπλευρο πίνακα.
Συμπλήρωσε το διάγραμμα δ2 10 15
χρονοδρομολόγησης των
διεργασιών με τους μη δ3 14 9
διακοπτούς αλγορίθμους που
έμαθες στο μάθημα. δ4 17 12

Από τα διαγράμματα υπολόγισε το μέσο χρόνο απόκρισης και


το μέσο χρόνο αναμονής για κάθε ένα αλγόριθμο.

You might also like