Esistono diversi algoritmi di scheduling delle richieste di I/O del disco.
Noi ne vedremo solo alcune, utilizzando come esempio la seguente coda di richieste (numeri di
cilindro) (0-199).
98, 183, 37, 122, 14, 124, 65, 67
Supponiamo inoltre che la testina si posizionata inizialmente sul cilindro 53.
Scheduling FCFS
La prima richiesta che arriva è quella servita.
Lo spostamento totale della testina è di 640 cilindri. Invece che “122 – 14 – 124” non era meglio fare “122 – 124 – 14” ? Questo algoritmo non è per niente efficiente.
Shortest Seek Time First
Sceglie la richiesta con il tempo di seek minimo rispetto alla posizione corrente della testina. SSTF è chiaramente una variante di SJF; quindi può causare starvation di alcune richieste. In generale da prestazioni migliori di FCFS, ma non necessariamente ottimali.
Lo spostamento tot. della testina è di 236 cilindri.
C-SCAN (Circular SCAN)
La testina si muove da un estremo all’altro del disco, servendo le richieste. Quando raggiunge l’estremità del disco, torna immediatamente all’inizio senza servire richieste. In pratica, tratta i cilindri come una lista circolare. Fornisce un tempo di attesa, per le varie richieste, più uniforme di altri algoritmi, anche se non riesce a garantire un tempo medio di attesa minimo.
Lo spostamento totale della testina è di 183 cilindri.
C-LOOK
È un miglioramento di C-SCAN. Non c’è bisogno di scandire tutta l’ area di memoria. E’ inutile arrivare fino al cilindro 200 e partire dallo 0.
Tutto quanto riportato in questa pagina è a puro scopo informativo personale. Se non ti trovi in accordo con quanto riportato nella pagina, vuoi fare delle precisazioni, vuoi fare delle aggiunte o hai delle proposte e dei consigli da dare, puoi farlo mandando un email. Ogni indicazione è fondamentale per la continua crescita del sito.