Diferencia entre revisiones de «C-SCAN»
Ir a la navegación
Ir a la búsqueda
(Sin diferencias)
|
Revisión actual del 23:02 16 nov 2008
C-SCAN (Barrido Circular)
Este algoritmo ven sendo igual ao SCAN coa excepción seguinte: ao chegar ao final do disco vólvese ao primeiro cilindro. Así sempre hai que pasar polos extremos do disco.
Imos ver un exemplo para explicar como traballa o algoritmo C-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 crecentes (de esquerda a dereita)
Como podemos ver na imaxe determinamos que o movemento total do cabezal para satisfacer as solicitudes da cola toma o valor de 390 cilindros. Isto calcúlase sumando o desprazamento do cabezal entre as solicitudes executadas. Así,
- De 53 a 56 prodúcese un movemento de 3 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.
- De 175 a 199, pois hai que chegar ao extremo do disco, prodúcese un movemento de 22 cilindros.
- De 199 a 0, pois hai que voltar ao primeiro cilindro, prodúcese un movemento de 199 cilindros.
- De 0 a 15 prodúcese un movemento de 15 cilindros.
- De 15 a 32 prodúcese un movemento de 17 cilindros.
- De 32 a 47 prodúcese un movemento de 15 cilindros
Co cal sumando os movementos parciais do cabezal calculamos o movemento total do cabezal:
Movemento total do cabezal=3+39+22+14+44+22+199+15+17+15=390cilindros.
Como podemos ver na imaxe este algoritmo presenta igual co SCAN un percorrido total baixo pero maior percorrido fronte ao SCAN (no exemplo temos que os movementos totais do cabezal toman o valor de 390 cilindros). Así tamén penaliza os extremos pero non presenta inanición, pois o algoritmo determina un sentido de procura.
--ricardofc 14 nov 2008