Sistemi Operativi

Algoritmi di scheduling del disco

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.