Αλγόριθμος LOOK

Ο αλγόριθμος LOOK είναι ένας αλγόριθμος χρονοπρογραμματισμού ο οποίος έχει ως καθήκον να επιλέγει με ποια σειρά θα εξυπηρετηθούν οι αιτήσεις προς ένα σκληρό δίσκο που αφορούν εγγραφή και ανάγνωση σε αυτόν.

Περιγραφή
Ο αλγόριθμος LOOK μοιάζει πολύ με τον αλγόριθμο χρονοπρογραμματισμού SCAN. Και οι δύο αλγόριθμοι μετακινούν την κεφαλή του δίσκου προς μια κατεύθυνση την φορά ενώ δίνουν τη δυνατότητα στην κεφαλή να κινηθεί και προς αύξοντα αριθμό ιχνών αλλά και προς φθίνοντα αριθμό ιχνών. Σε αντίθεση με τον SCAN ο αλγόριθμος LOOK δεν θα φτάσει μέχρι και το τελευταίο ίχνος του δίσκου αλλά μόλις εξυπηρετήσει την τελευταία αίτηση προς μια συγκεκριμένη κατεύθυνση  αλλάζει κατεύθυνση για να εξυπηρετήσει και τις υπόλοιπες αιτήσεις.

Παραλλαγές
Μια παραλλαγή του LOOK είναι ο αλγόριθμος C-LOOK ο οποίος κινεί την κεφαλή του σκληρού δίσκου προς μια μόνο κατεύθυνση. Ο αλγόριθμος αυτός ξεκινάει με μια δεδομένη φορά π.χ. από τον μικρότερο αριθμό ίχνους προς το μεγαλύτερο αριθμό ίχνους και μόλις εξυπηρετήσει και την τελευταία αίτηση επιστρέφει πάλι στην αρχή από όπου ξεκίνησε.

Παράδειγμα
Έστω σκληρός δίσκος με 200 ίχνη ο οποίος έχει μια δεδομένη στιγμή τις παρακάτω αιτήσεις: ίχνος 11, ίχνος 5, ίχνος 53, ίχνος 88, ίχνος 76, ίχνος 2.

Έστω ότι η κεφαλή την δεδομένη στιγμή είναι στο ίχνος 30 και κινείται προς αύξοντα αριθμούς ίχνους.

LOOK   
Ο αλγόριθμος LOOK θα εξυπηρετήσει τις παραπάνω αιτήσεις με την εξής σειρά:
30 --> 53 --> 76 --> 88 --> 11 --> 5 --> 2

C-LOOK   
Ο αλγόριθμος C-LOOK  θα εξυπηρετήσει τις παραπάνω αιτήσεις με την εξής σειρά:
30 --> 53 --> 76 --> 88 --> 2 --> 5 --> 11

Απόδοση
Ο αλγόριθμος LOOK  έχει καλύτερο μέσο χρόνο αναζήτησης ίχνους σε σχέση με την SCAN διότι δεν επισκέπτεται τα ακραία ίχνη του δίσκου εκτός και αν υπάρχουν αιτήσεις σχετικές με αυτά.

Δείτε Επίσης
FCFS
SSTF
SCAN

Παραπομπές

Πηγές
Λειτουργικά Συστήματα, 2η Ελληνική Έκδοση (Silberschatz, Galvin, Gagne), ISBN 978-960-411-692-8.

LOOK