### SCAN scheduling algorithm

Prob. Suppose that head of a moving head disk with 200 tracks numbered 0 to 199 is currently serving a request at 50 track and has just finished a request at track 85. If the queue of requests is kept in FIFO order 100, 199, 56, 150, 25, 155, 70 and 85. A seek takes 6m sec per cylinder moved. How much seek time is needed for the SCAN ?

Ans.

In this problem,

Given disk 200 (track numbered 0 to 199 )

Current position of head is at 50.

Previous track was 85.

Queue = { 100, 199, 56, 150, 25, 155, 70 and 85 }

Time taken by a seek = 6ms.

To calculate,

Total seek time ?

Total head movement means, difference between current positions to next position.

See in below image,

1)      Disk head move from 50 to 25,
So disk movement is 50 – 25 = 25.

2)     Disk head move from 25 to 0
So disk movement is 25 – 0 = 25.

3)     Disk head move from 0 to 56
So disk movement is 56 – 0 = 56.

4)     Disk head move from 56 to 70
So disk movement is 70 – 56 = 14.

5)     Disk head move from 70 to 85
So disk movement is 85 – 70 = 15.

6)     Disk head move from 85 to 100
So disk movement is 100 – 85 = 15.

7)     Disk head move from 100 to 150
So disk movement is 150 – 100 = 50.

8)    Disk head move from 150 to 155
So disk movement is 155 – 150 = 05.

9)     Disk head move from 155 to 199

So disk movement is 199 – 155 = 44.

= 25+25+56+14+15+15+50+05+44
= 249

Total seek time = 6 X 249 = 1494 ms

SCAN disk scheduling