FSCAN
# FSCAN

FSCAN is a disk scheduling algorithm to determine the motion of the disk's arm and head in servicing read and write requests. It uses two sub-queues. During the scan, all of the requests are in the first queue and all new requests are put into the second queue. Thus, service of new requests is deferred until all of the old requests have been processed. When the scan ends, the arm is taken to the first queue entries and is started all over again.

## Analysis

FSCAN along with N-Step-SCAN prevents "arm stickiness" unlike SSTF, SCAN, and C-SCAN. Arm stickiness in those other algorithms occurs when a stream of requests for the same track causes the disk arm to stop progressing at that track, preferring to satisfy the no-seek requests for the track it is on. Because FSCAN separates requests into two queues, with new requests going into a waiting queue, the arm continues its sweep to the outer track and is therefore not "sticky." There is an obvious trade-off in that the requests in the waiting queue must wait longer to be fulfilled, but in exchange FSCAN is more fair to all requests.

## Variations

There can be multiple variations of this algorithm. Instead of using just 2 queues, one can use N queues (with N greater than 2). The benefit of using N queues is there would be limited number of entries in a given queue and hence the reference string queue would take lesser time to get completed. Hence, the queues will get swiped faster which in turn improves the responding time of algorithm (refer to See Also section).

