Consider the problem of finding the total time to access and read data stored as
ID: 3874961 • Letter: C
Question
Consider the problem of finding the total time to access and read data stored as tracks on a computer disk. This can be described, at its simplest, as access time plus transfer time. Access time is comprised of the average time for the reading head to find the correct track (known as seek time) plus the rotational delay, or latency. Seek time is zero for fixed-head systems. The rotational latency is the average time taken for the disc to spin around to the correct place to start reading. This is considered to be, on average, half the time taken for one complete disk rotation. The time taken to read data, the transfer time, is given by the amount of data on the track to be read, divided by the total data on the track, all multiplied by the time taken for one disk rotation. Clearly if all of the data on a track is to be read, then this reduces to the time taken for one disk rotation. There may, in fact, be delays caused by I/O queuing (see Stallings, section Disk Performance Parameters, pages 225-227, tenth global edition), but in the following problem we will just consider access time plus transfer time. Given a moveable-head system with a constant disk rotation speed of 12,000 revolutions per minute (rpm), an average seek time of 6 milliseconds and 512 byte sectors with 500 sectors per track, answer the following questions, giving all your working. Give your final answers to (a) and (b) in milliseconds (ms).
(a) The file is sequentially organised, and is stored on 6 complete tracks followed by exactly one half of a track. [12 marks]
(b) The same file as that in part (a) is now distributed at random across the disk, i.e. each sector of the file is randomly placed on the disk. [12 marks]
(c) If the answer to part (a) is X, and the answer to part (b) is Y, express X as a percentage of Y, giving your answer to one significant figure.
its about disk rotation. yes i think its also about operating system
Explanation / Answer
Seek time (given) = 6ms
RPM = 12000 rotation in 1 min [60 sec]
So, 1 rotation will be =60/12000 =5ms [rotation speed]
Rotation latency= 1/2 * 5ms=2.5ms
# To access a file,
total time includes =seek time + rot. latency +transfer time
(A)TO calc. transfer time, find transfer rate
Transfer rate = bytes on track /rotation speed
so, transfer rate = 500*512/5ms =51200 B/ms
transfer time= total bytes to be transferred/ transfer rate
so, Transfer time =3000*512/51200 = 30ms
Given as each sector requires seek tim + rot. latency
= 6ms+2.5ms =8.5ms
Total 3000 sector takes = 3000 * 8.5ms = 25500 ms
To read entire file ,total time = 25500 + 30(transfer time)
= 25530 ms
(B) The transfer time is the time it takes for the head to read all of the sector. The head is now at
the start of the sector, so how long does it take for the entire sector to go past the head? Since
there are on average 500 sectors per track, we need 1/500th of a revolution of the disk to read
the entire sector. We can work this out as (time for one revolution of disk) / 500 = 5ms / 500 =
0.01ms.
So the total time is 6ms + 2.5ms + 0.01ms = 8.51ms. We can clearly see that getting to read
the first byte of the sector takes a long time, but reading the rest of the bytes in the sector is
essentially free.
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.