104k views
3 votes
Given the following characteristics for a magnetic disk pack with 10 platters yielding 18 recordable surfaces (not using the top and bottom surfaces): Rotational speed = 13 ms Transfer rate = 0.15 ms/track Density per track = 19,000 bytes Number of records to be stored = 200,000 records Size of each record = 160 bytes Block size = 10 logical records Number of tracks per surface = 500 Find the following: a. Number of blocks per track b. Waste per track c. Number of tracks required to store the entire file d. Total waste to store the entire file e. Time to write all of the blocks (Use rotational speed; ignore the time it takes to move to the next track.) f. Time to write all of the records if they’re not blocked. (Use rotational speed; ignore the time it takes to move to the next track.) g. Optimal blocking factor to minimize wasted space h. What would be the answer to (e) if the time it takes to move to the next track were 5 ms? (i). What would be the answer to (f) if the time it takes to move to the next track were 5 ms?

User RobMasters
by
4.6k points

1 Answer

2 votes

Answer:

a. 11 blocks / track

b. 1400 bytes / track

c. 1819 track

d. 2,545,200 bytes / file

e. 18190 ms = 18.19 s

f. 16.842 s

Step-by-step explanation:

a. D = Number of blocks per track

E = B * L = 1600 bytes / block

The number of blocks per track must be an integer. The INT function finds the integer part of a number.

D = INT( R / E ) = INT(11.875) = 11 blocks / track

b. F = Waste per track = R - D * E = (19000 bytes / track) - (11 blocks / track) * (1600 bytes / block) = 1400 bytes / track

This is a wastage of about 7.4%.

c. H = Number of tracks required to store the entire file.

G = Number of records per track = (11 blocks / track) * (10 records / block) = 110 records / track

The CEIL operator is the Ceiling operator. It is similar to the INT operator, except that it takes the next higher integer if the argument is not an exact integer.

H = Number of tracks = CEIL[ N / G ] = 1819 tracks

d. J = Total waste to store the entire file = (H - 1) * F = 2,545,200 bytes / file

e. K = Time to write all of the blocks. (Use period of revolution; ignore the time it takes to move to the next track.)

Assume it takes one revolution to record one track.

K = H * T = (1819 tracks) * (10 ms / track) = 18190 ms = 18.19 s

f. M = Time to write all of the records if they are not blocked. (Use period of revolution; ignore the time it takes to move to the next track.)

Assuming we treat the disk like a tape. The total file is 32,000,000 bytes long, which easily can fit in a PC RAM. We can declare a buffer to be the length of the track, and worry about parsing the file back into records when we reread the data.

In this case, we use CEIL(N * L / R) = 1685 tracks. This is 4 surfaces.

M = (N * L / R) * T = 16.842 s

g. P = Optimal blocking factor to minimize waste = INT(R / L) = 118 records / block

The wastage is Q = R - P * L = 120 bytes / track

h. What would be the answer to (e) if the time it takes to move to the next track were 5 ms?

Since we used 1819 tracks, we used tracks on 4 surfaces. When we change surfaces, we do not need to move the arm to another track. Assume also that we do not need to move the arm to position it to the first record in the file.

U = K + (1819 - 4)* 5 ms = 18190 ms + 9075 ms = 27265 ms = 27.265 s

i. What would be the answer to (f) if the time it takes to move to the next track were 5 ms?

In this

V = M + [CEIL(N * L / R) - 4] * 5 ms = 16842 ms + [1685 - 4] * 5 ms = 16842 + 8504 = 25247 ms = 25.247 s

User Prdatur
by
4.1k points