<< Chapter < Page
  Operating systems     Page 2 / 3
Chapter >> Page >

Answer:

If you have the disk rotating at 360 rpm, then one byte is read off the disk in:

T = b/rN = 1/(360 rpm*512 bytes/sector * 96 sectors/track)

T = 3.4 μs

If one interrupt occurs every byte, then the operating system will process an interrupt (2.5 μs), then do some work, thenprocess another interrupt, etc. The time between interrupts is equal to the time it takes to read one byte. In other words, the disk will read one byte, theninterrupt the operating system, then read another byte. The operating system will only be able to get work done if it has enough time to finish processing aninterrupt before the next one occurs. In this case, the processor will spend 2.5 μs / 3.4 μs or 74% of its time handling I/O.

With DMA, there is only one interrupt for the entire sector. It takes 3.4 μs/byte * 512 bytes/sector = 1,741 μs to read the sector.Therefore the processor only spends 2.5 μs / 1741 μs = .14% of the time handling I/O.

Note: The above answer does not take into account rotational delay. If you include rotational delay, then the time to read a bytebecomes very large:

T = b/rN + 1/2r = 83 ms

This means the time the processor spends processing interrupts is very small (approximately .003% in both cases).

It should be clear that disk striping can improve the data transfer rate when the strip size is small compared to the i/o request size. it shouldAlso be clear that raid 0 provides improved performance relative to a single large disk, because multiple i/o requests can be handled in parallel. however,In this latter case, is disk striping necessary? that is, does disk striping improve i/o request rate performance compared to a comparable disk array withoutStriping?

Answer:

Consider a disk array that does not use striping. If multiple I/O requests are issued for files on different disks, then performanceis the same as a striped disk array. However, the advantage of striping is that it improves the chances that multiple I/O requests will in fact be for data ondifferent disks. Without striping, all the files from a given directory will be on the same disk, so a single user operating in a single directory will be usingone disk instead of all the disks in the array. Likewise, it is likely that all user files will be on one disk, and all binaries on another, so that multipleusers accessing their files will use the same disk. Disk striping is a simple, automated way for the administrator of the array to ensure that files are spreadout across all the disks.

You purchase a disk drive that spins at 9600 rpm, stores 300 kb per track, and has an average seek time of 8 ms.

  • What is the average transfer time to read a 1 MB file, assuming the file is stored on consecutive tracks?

T = Ts + 1/(2r) + b/(rN)

T = .008 + (60 s/m)(1 r)/ (2*9600 r/m) + (1 MB)(1024 KB/MB)(60 s/m)/(9600 r/m)(300 KB/r)

T = .008 s + .003125 s + .021333 s

T = 32.458 ms

  • What is the average transfer time to read a 1 MB file, assumingthat the file is stored in 10 separate locations on the disk, and each location has 100 KB of contiguous data?

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Operating systems. OpenStax CNX. Aug 13, 2009 Download for free at http://cnx.org/content/col10785/1.2
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Operating systems' conversation and receive update notifications?

Ask