Consider a disk with the following characteristics (these are not parameters of any particular disk unit): block size B=512 bytes, interblock gap size G=128 bytes, number of blocks per track=20, number of tracks per surface=400. A disk pack consists of 15 double-sided disks.
(a) What is the total capacity of a track and what is its useful capacity (excluding interblock gaps)?
(b) How many cylinders are there?
(c) What is the total capacity and the useful capacity of a cylinder?
(d) What is the total capacity and the useful capacity of a disk pack?
(e) Suppose the disk drive rotates the disk pack at a speed of 2400 rpm
(revolutions per minute); what is the transfer rate in bytes/msec and the block
transfer time btt in msec? What is the average rotational delay rd in msec? What
is the bulk transfer rate (see Appendix B)?
(f) Suppose the average seek time is 30 msec. How much time does it take (on the
average) in msec to locate and transfer a single block given its block address?
(g) Calculate the average time it would take to transfer 20 random blocks and
compare it with the time it would take to transfer 20 consecutive blocks using
double buffering to save seek time and rotational delay.
(a) Total track size = 20 * (512+128) = 12800 bytes = 12.8 Kbytes
Useful capacity of a track = 20 * 512 = 10240 bytes = 10.24 Kbytes
(b) Number of cylinders = number of tracks = 400
(c) Total cylinder capacity = 15*2*20*(512+128) = 384000 bytes = 384 Kbytes
Useful cylinder capacity = 15 * 2 * 20 * 512 = 307200 bytes = 307.2 Kbytes
(d) Total capacity of a disk pack = 15 * 2 * 400 * 20 * (512+128)
= 153600000 bytes = 153.6 Mbytes
Useful capacity of a disk pack = 15 * 2 * 400 * 20 * 512 = 122.88 Mbytes
(e) Transfer rate tr= (total track size in bytes)/(time for one disk revolution in msec)
tr= (12800) / ( (60 * 1000) / (2400) ) = (12800) / (25) = 512 bytes/msec
block transfer time btt = B / tr = 512 / 512 = 1 msec
average rotational delay rd = (time for one disk revolution in msec) / 2 = 25 / 2
= 12.5 msec
bulk transfer rate btr= tr * ( B/(B+G) ) = 512*(512/640) = 409.6 bytes/msec
(f) average time to locate and transfer a block = s+rd+btt = 30+12.5+1 = 43.5 msec
(g) time to transfer 20 random blocks = 20 * (s + rd + btt) = 20 * 43.5 = 870 msec
time to transfer 20 consecutive blocks using double buffering = s + rd + 20*btt
= 30 + 12.5 + (20*1) = 62.5 msec
(a more accurate estimate of the latter can be calculated using the bulk transfer
rate as follows: time to transfer 20 consecutive blocks using double buffering
= s+rd+((20*B)/btr) = 30+12.5+ (10240/409.6) = 42.5+ 25 = 67.5 msec)
You might also like to view...
Class-based styles are automatically applied to content.
Answer the following statement true (T) or false (F)
?_________ is a system named after a British mathematician George Boole and refers to the relationships among search terms.
Fill in the blank(s) with the appropriate word(s).
Which statements are NOT true? (Choose 2)
A) You can sort query results by specifying the numeric position of the column in the SELECT clause. B) You can sort by a column that is not in the SELECT list. C) You cannot sort query results by more than one column. D) You cannot use a column alias in the ORDER BY clause.
Which RPM component works in the background of the package manager and contains a list of all information on all installed RPM packages?
A. RPM package manager B. RPM database C. RPM package D. Package label