edited by
775 views
0 votes
0 votes
Consider a disk which has 64 tracks , in every track there are 1024 sectors , each sector has 2048 B . The disk is moving with 3000 RPM .

Let the avg seek time is 10 ms and it is required to read a file of 64KB which was placed in outer track from 32 sector onwards . The current position of read/write head is 16th sector of inner track. What is the time taken to complete disk read operation?
edited by

1 Answer

0 votes
0 votes
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)

Related questions

0 votes
0 votes
1 answer
1
mb14 asked Sep 19, 2018
177 views
Can anyone suggest me best resource for IO organization, DMA and hard disk structure in CO. I am getting difficulty in these topics.
0 votes
0 votes
0 answers
2