SCAN
SCAN (Barrido)
Este algoritmo determina que primeiro execútase a solicitude no cilindro máis próximo en relación (distancia) á solicitude que se está executando tendo en conta a orde de procura, é dicir, neste algoritmo hai que ter en conta como se move o cabezal: en orde ascendente ou descendente de cilindros. Para isto o cabezal percorre o disco dun extremo a outro sempre. Isto é, o algoritmo SCAN é coma o SSTF tendo en conta a orde de procura e ademais sempre ten que chegar ao extremo do disco. Unha vez que chegue ao extremo do disco cambia de sentido.
Imos ver un exemplo para explicar como traballa o algoritmo SCAN:
- Supoñemos a situación seguinte: Un disco de cabezal móbil con 200 cilindros, numerados de 0 a 199 onde,
- Posición Cabezal: 53
- Cola: 95, 175, 32, 117, 15, 131, 47, 56
- Sentido de procura: Número de cilindro decrecentes (de dereita a esquerda)
Como podemos ver na imaxe determinamos que o movemento total do cabezal para satisfacer as solicitudes da cola toma o valor de 228 cilindros. Isto calcúlase sumando o desprazamento do cabezal entre as solicitudes executadas. Así,
- De 53 a 47 prodúcese un movemento de 6 cilindros.
- De 47 a 32 prodúcese un movemento de 15 cilindros.
- De 32 a 15 prodúcese un movemento de 17 cilindros.
- De 15 a 0, pois hai que chegar ao extremo do disco, prodúcese un movemento de 15 cilindros.
- De 0 a 56 prodúcese un movemento de 56 cilindros.
- De 56 a 95 prodúcese un movemento de 39 cilindros.
- De 95 a 117 prodúcese un movemento de 22 cilindros.
- De 117 a 131 prodúcese un movemento de 14 cilindros.
- De 131 a 175 prodúcese un movemento de 44 cilindros.
Co cal sumando os movementos parciais do cabezal calculamos o movemento total do cabezal:
Movemento total do cabezal=6+15+17+15+56+39+22+14+44=228cilindros.
Como podemos ver na imaxe este algoritmo presenta un percorrido total baixo (no exemplo temos que os movementos totais do cabezal toman o valor de 228 cilindros), penaliza os extremos pero non presenta inanición, pois o algoritmo determina un sentido de procura.
--ricardofc 14 nov 2008