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

ΠεριγραφήΕπεξεργασία

Το όνομά του αλγορίθμου SSTF προέρχεται από τα αρχικά των λέξεων Shortest Seek Time First και η αρχή λειτουργίας του είναι ιδιαίτερα εύκολη. Ο SSTF εξυπηρετεί πρώτα την αίτηση που βρίσκεται πιο κοντά στην κεφαλή του δίσκου την δεδομένη χρονική στιγμή μέχρις ότου να εξυπηρετηθούν όλες οι αιτήσεις. Η επιλογή του αιτήματος γίνεται με βάση τον χρόνο αναζήτησης, δηλαδή το πόσους κυλίνδρους (ίχνη) πρέπει να διανύσει η κεφαλή.

ΠαράδειγμαΕπεξεργασία

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

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

SSTFΕπεξεργασία

30 -- > 11 -- > 5 -- > 2 -- > 53 -- > 76 -- > 88

ΑπόδοσηΕπεξεργασία

Ο αλγόριθμος SSTF είναι σημαντικά καλύτερος σε σχέση με τον FCFS αφού ο χρόνος αναζήτησης συχνά μειώνεται και ως το 1/3 του χρόνου που χρειάζεται ο FCFS.

Σημαντικό όμως μειονέκτημα είναι ότι μπορεί να προκληθούν φαινόμενα λιμοκτονίας όπου μια αίτηση δεν θα εξυπηρετούνταν θεωρητικά ποτέ(πρακτικά μεγάλος χρόνος αναμονής) αφού θεωρητικά μπορεί να καταφθάνουν αιτήσεις προς τον δίσκο που είναι πιο κοντά στην κεφαλή τόσο γρήγορα όσο και αυτές εξυπηρετούνται.[1]

Δείτε ΕπίσηςΕπεξεργασία

ΠαραπομπέςΕπεξεργασία

  1. Λειτουργικά Συστήματα, 2η Ελληνική Έκδοση (Silberschatz, Galvin, Gagne), σελ. 604-606.

ΠηγέςΕπεξεργασία

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