Practice Exercise 17
-
A disk drive has 400 tracks per surface and 80 sectors per track. Each
sector holds 512 bytes.
-
If it had only one surface, how many bytes of storage would it provide?
(Assume there is no parity.)
-
If you wanted to store 1 Gigabyte on such a disk drive, how many
separate surfaces would you need?
-
Suppose that you did not want to have this many surfaces. What could
possibly change to reduce this number but still have 1 Gb?
-
Parity is the error correcting code that is often used to detect and
even correct simple errors in tapes, disk drives and other devices. There
are two types of parity: even parity and odd parity. Given a bit string,
say 11010001, even parity adds 0 if the number of 1s is even, or it adds 1
if the number of 1s is odd, so that the total number of 1s after adding the
parity bit is even. (Symmetrically, odd parity preserves oddness of the
number of 1s.)
-
Show what the string of two ASCII characters "ABC" would look like when
encoded using even parity.
-
If a disk drive uses even parity and can store 100,000 sectors, each
0.5K long, how many additional Kilobytes would be needed for parity if each
byte were monitored by a parity bit?
-
Continuing with part b, what percentage of the total bits would be
devoted to data, and what percentage to parity?
-
Suppose a hard disk drive has 3 platters, totaling 4 surfaces.
(The two outer platters only have 1 usable surface each; the inner one
has two.) Each surface is divided into
400 tracks (concentric circles) and each of these is broken into 80 sectors.
Each sector holds 512 bytes. It is spinning at 3600 rpm (revolutions per
minute).
-
How long would it take for a read/write head to read one sector?
-
Assume that it takes on the average 30 msec (milliseconds, 1 msec = .001
sec) to seek to any track. Taking into account the seek time, rotational
latency and the time to read one sector, how long would it take this disk
drive to fetch and read an arbitrary track?
-
If files are comprised of sectors scattered all over the disk drive, how
long would it take to read a file consisting of 1,064,960 bytes?
-
If files are arranged so that the sectors in a file are as contiguous as
possible and it only takes 3 msec to seek to a new track, how long would it
take to read the same file of 1,064,960 bytes?