Time taken to complete the disk read operation mainly depends on 3 factors: seeking time, rotational latency, and transfer time.
So the current position of the read/write head is the 16th sector of the inner track and we want to read a file of 64KB which is placed in the outer track from the 32nd sector onwards So the seek time means the amount of time required to move the read-write head to the desired track on the surface and is provided in the question as an average of 10 ms.
So within 10 ms, we will reach the outer track(desired track), and now to move to the desired sector which is the 32nd sector we need to calculate the rotational latency which is the amount of time required to adjust the read-write head at the beginning of the desired sector in the track.
And lastly, the transfer time which is the amount of time required to access the data from the disk here we have to read a file of 64KB.
time taken = seek time + avg rotational latency + transfer time
To calculate rotational latency generally, we use the average case(i.e. half of the revolution is required to adjust the read-write head) unless given otherwise.
Average rotational latency: depends on rotational rate
3000 revolution – 1 min
1 revolution = 60 / 3000 = 20 ms
Avg rotational latency = (1/2) * revolution time = 20/2 = 10 ms
To calculate transfer time:
First, we need to find the number of sectors that are coming within the file size-
So file size is 64KB and one sector is 2048 B so, no. of sectors = 64KB / 2048B = 32
So in 1 revolution(i.e 20 ms) – 1 track is completed(i.e. 1024 sectors)
So how much time do 32 sectors need is = (20 ms * 32) / 1024 = 0.625 ms
time taken = 10 + 10 + 0.625 = 20.625 ms (Ans)