edited by
22,729 views
62 votes
62 votes

A hard disk system has the following parameters :

  • Number of tracks $= 500$
  • Number of sectors/track $= 100$
  • Number of bytes /sector $= 500$
  • Time taken by the head to move from one track to adjacent track $= 1 \ ms$
  • Rotation speed $= 600 \ rpm$.

What is the average time taken for transferring $250$ bytes from the disk ?

  1. $300.5 \ ms$
  2. $255.5 \ ms$
  3. $255 \ ms$
  4. $300 \ ms$
edited by

5 Answers

Best answer
182 votes
182 votes

option (D)

Explanation


Avg. time to transfer $=$ Avg. seek time $+$ Avg. rotational delay $+$ Data transfer time

Avg Seek Time

given that : time to move between successive tracks is $1 \ ms$

time to move from track $1$ to track $1 : 0ms$
time to move from track $1$ to track $2 : 1ms$
time to move from track $1$ to track $3 : 2ms$
..
..

time to move from track $1$ to track $500 : 499 ms$

Avg Seek time $= \frac{\sum 0+1+2+3+...+499}{500}$
                         $\mathbf{= 249.5 \ ms}$

Avg Rotational Delay

RMP $: 600$

$600$ rotations in $60$ sec
one Rotation takes $60/600$ sec $= 0.1$ sec

Avg Rotational Delay $= \frac{0.1}{2}$  { usually $\frac{\text{Rotation time}}{2}$ is taken as Avg Roational Delay }

                                   $= .05 sec$

                                   $\mathbf{= 50 \ ms}$

Data Transfer Time

One $1$ Roatation we can read data on  one complete track  . 

$= 100 \times 500 = 50,000$ B data is read in one complete rotation

one complete rotation takes $0.1$ s ( we seen above )

$ 0.1 \rightarrow 50,000$ bytes.
$ 250$ bytes $ \rightarrow 0.1 \times 250 / 50,000 = \mathbf{ 0.5 \ ms}$

Avg. time to transfer $=$ Avg. seek time $+$ Avg. rotational delay $+$ Data transfer time

                                $\mathbf{= 249.5+50+0.5}$

                                $\mathbf{= 300 \ ms}$

edited by
16 votes
16 votes
Avg. time to transfer = Avg. seek time + Avg. rotational delay + Data transfer time

RPM = 600

So, rotational delay = 60 / 600 = 0.1 s

In 1 rotations we can transfer the whole data in a track which is equal to number of sectors in a track * bytes per track

= 100 * 500 = 50,000

i.e., in 0.1 s, we can transfer 50,000 bytes.
Hence time to transfer 250 bytes = 0.1 * 250 / 50,000 = 0.5 ms

Avg. rotational delay = 0.5 * rotational delay = 0.5 * 0.1s = 50 ms

Avg. seek time = (0 + 1 + 2 + .... + 499)/500 (as time to move between successive tracks is 1 ms and we have 500 such tracks) = 499 * 250 /500 = 249.5

So, average time for transferring 250 bytes = 249.5 + 50 + 0.5 = 300 ms
11 votes
11 votes

Time taken by head to move from one track to other is seek time = 1 ms

There are 500 tracks so total average seek time= (total tracks - 1) * seek time/2 = (500 -1) * 1/2 = 249.5 ms

Ave. Rotational latency = 0.5* rotation speed= 50 ms

In one rotation it can read one track

Hence 1 sector can be read in 60/(600*100) sec

To read 1/2 sector it takes = 60/(600*100*2) sec = 0.5 ms

Hence total 300 ms

edited by
3 votes
3 votes

Avg. time to transfer = Avg. seek time + Avg. rotational delay + Data transfer time
For Avg. seek time:
Given that, time to move between successive tracks is 1ms.
Time to move from track1 to track1 = 0ms
Time to move from track1 to track2 = 1ms
Time to move from track1 to track3 = 2ms
⋮ Time to move from track1 to track500 = 499ms
∴ Avg. seek time = 0+1+2+...+499/500 = 249.5ms


Avg. rotational delay:
600 rotations in 60sec.
One rotation takes 60/600 s = 100ms ∴ Avg. rotational delay = 100/2 = 50ms

Data transfer time:
In one rotation, we can read data on one complete track
= 100 × 500 = 50,000B data is read in one complete rotation
One complete rotation takes 100ms.
100ms → 50,000B
250B → 100/50000 × 250 = 0.5ms
∴ Avg. time to transfer = 249.5 × 50 + 0.5 = 300ms

Answer:

Related questions