SCAN

De Manuais Informática - IES San Clemente.
Revisión del 11:37 26 nov 2008 de Ricardofc (discusión | contribs.) (→‎SCAN (Barrido))
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)
Ir a la navegación Ir a la búsqueda

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)

SCAN.jpg

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