3. (a) What is the average time to read or write a 512-byte sector for a typical
ID: 3547531 • Letter: 3
Question
3. (a) What is the average time to read or write a 512-byte sector for a typical disk rotating at 7200 RPM?
The advertised average seek time is 8ms, the transfer rate is 20MB/sec, and the controller overhead is
2ms. Assume that the disk is idle so that there is no waiting time.
(b) A program repeatedly performs a three-step process: It reads in a 4-KB block of data from disk, does
some processing on that data, and then writes out the result as another 4-KB block elsewhere on the disk.
Each block is contiguous and randomly located on a single track on the disk. The disk drive rotates at
7200RPM, has an average seek time of 8ms, and has a transfer rate of 20MB/sec. The controller overhead
is 2ms. No other program is using the disk or processor, and there is no overlapping of disk operation
with processing. The processing step takes 20 million clock cycles, and the clock rate is 400MHz. What is
the overall speed of the system in blocks processed per second assuming no other overhead?
Explanation / Answer
8ms+(0.5/(7200/60))*1000 ms+0.5KB/20.0MB/s+2ms=8+4.15+0.025+2=14.175ms.
2)
Step 1: Read the data. First we need the average rotational delay:
0.5/7200RPM = 4.167ms.
Next calculate the time to read 4-KB:
4-KB/(20-MB/s) = 0.195ms.
Finally, calculate the total read time:
Time = rotational delay + seek time + overhead + transfer time
= 4.167ms + 8ms + 2ms + 0.195ms = 14.362ms
Step 2: Process the data.
20 million cycles/(400MHz) = 50ms.
Step 3: Write the data to disk. This takes the same time as the read.
So, it takes 78.7 ms to process 1 block, i.e. 12.7 blocks per second.
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.