{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

Hw5_Sol - 1 Consider a disk with the following...

This preview shows pages 1–3. Sign up to view the full content.

1. 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 are the total capacity and the useful capacity of a cylinder? d. What are the total capacity and the useful capacity of a disk pack? e. Suppose that the disk drive rotates the disk pack at a speed of 2400 rpm (revolutions per minute); what is the transfer rate ( tr ) in bytes/msec and the block transfer time ( btt ) in msec? What is the average rotational delay ( rd ) in msec? What is the bulk tansfer rate? (Appendix B.) f. Suppose that 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

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
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) 2. A file has r = 20000 STUDENT records of fixed-length. Each record has the following fields: NAME (30 bytes), SSN (9 bytes), Address (40 bytes), Phone ( 9 bytes ), Birth_date (8 bytes), Sex (1 byte), Major_dept_code (4 bytes), Minor_dept_code (4 bytes), Class_code (4 bytes, integer), and Degree_program (3 bytes). An additional byte is used as a deletion marker. The file is stored on the disk whose parameters are given in Exercise 1.
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}