Hard and Floppy Disks CSCE 351 Operating System Kernels Anatomy

Hard and Floppy Disks CSCE 351 Operating System Kernels Anatomy

CSCE 351 Operating System Kernels Hard and Floppy Disks Steve Goddard [email protected] http://www.cse.unl.edu/~goddard/Courses/CSCE351 1 Anatomy of a Disk Basic components Track Block/Sector s–1 0 1 Head 2 . Cylinder Surface Platter Spindle 2 Anatomy of a Disk Example: Seagate 9GB Fast/Wide/Differential SCSI disk ◆ Specs: » 12 platters » 11 arms » 22 heads » 4,735 tracks » variable # of sectors/track » 512 bytes/sector » 7,200 RPM ❖ average latency: 4.2 ms. » Seek times ❖ track-to-track: 1 ms ❖ average: 7.9 ms » 40MB/s peak transfer rate 3 Disk Operations Data transfer in units of sectors Random access devices with non-uniform access times ◆ Present disk with a sector address » DA = (drive, surface, track, sector) » May use Logical Block Addressing (LBA). DA = absolute sector ◆ Head moved to appropriate track »“seek time” ◆ The appropriate head is enabled ◆ Wait for the sector to appear under the head » “rotational latency” ◆ Read/write the sector » “transfer time” 4 Device Driver Block to Sector Mappings Surface ? Track 0 n Sector ◆ Device driver translates block t–1 ... 1 0 requests into cylinder, track, and p–1 sector requests. ... s–1 0 1 ... 1 0 5 Disk Head Scheduling Maximizing disk throughput ◆ In a multiprogramming/timesharing environment, disk I/O requests are queued up Disk CPU Other I/O ◆ The OS maximizes disk I/O throughput by minimizing head movement through disk head scheduling 6 Disk Head Scheduling Examples ◆ Assume a queue of requests exists to read/write tracks: » 150 16 147 14 72 83 and the head is on track 65 025 50 75 100 125 150 ◆ FCFS scheduling results in the head moving 550 tracks » Can we do better? 7 Disk Head Scheduling Minimizing head movement ◆ Greedy scheduling: shortest seek time first » Rearrange queue from: 150 16 147 14 72 83 To: 72 83 147 150 16 14 025 50 75 100 125 150 ◆ SSTF results in the head moving 221 tracks » Can we do better? 8 Disk Head Scheduling Optimal scheduling ◆ Rearrange queue from: 150 16 147 14 72 83 To: 16 14 72 83 147 150 025 50 75 100 125 150 ◆ SCAN scheduling » Move the head in one direction until all requests have been serviced and then reverse » Results in the head moving 187 tracks 9 Disk Head Scheduling Other variations ◆ C-SCAN scheduling (“Circular”-SCAN) » Move the head in one direction until an edge of the disk is reached and then reset to the opposite edge 025 50 75 100 125 150 ◆ LOOK scheduling » C-SCAN except the head is reset when no more requests exist between the current head position and the approaching edge of the disk 10 Speeding Up Disk I/O Disk architectures ◆ Disk striping » Blocks broken into sub-blocks that are stored on separate disks ❖ similar to memory inter-leaving » Provides for higher disk bandwidth through a larger effective block size 12 3 11 Speeding Up Disk I/O Disk architectures ◆ RAID (redundant array of inexpensive disks) disks » Bit-wise striping of the disks (RAID-3) or » Block-wise striping of the disks (RAID-5) » Provides better performance & reliability ◆ Example: storing the bit-string 101 12 3 1 x x x x 0 x x x x 1 x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x 12 RAID Disks Improving reliability & availability ◆ Block interleaved parity striping » Allows one to recover from the crash of any one disk » Example: storing 8, 9, 10, 11, 12, 13, 14, 15, 0, 1, 2, 3 Layout on a 1 0 0 0 1 0 1 1 1 1 1 0 0 0 0 1 1 0 0 1 1 1 0 0 1 1 1 1 0 0 1 0 non-RAID disk: 1 0 1 0 1 1 0 1 0 0 0 0 0 0 1 1 Block 1 Block 2 Block 3 Block 4 1 1 1 1 0 0 0 0 0 0 1 1 0 1 0 1 1 0 0 1 RAID 1 1 1 1 1 1 1 1 0 0 1 1 0 1 0 1 0 1 1 0 layout: 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 Block 1 Block 1 Block 1 Block 1 Block 1 Disk 1 Disk 2 Disk 3 Disk 4 Disk 5 13 Sources of Disk Access Error ◆ Programming error » Return error to caller ◆ Transient checksum error » Read again ◆ Permanent checksum error » Block marked as Bad Block, return error ◆ Seek error » Mechanical error » Corrected by controller on HD » Send RECALIBRATE command for FD ◆ Controller error » Reset » If all else fails, print a message and give up (panic!) 14 Track-at-a-Time Caching ◆ When a sector is read, the disk driver may read all sectors in the track and store the data in a buffer ◆ Advantages? ◆ Disadvantages? ◆ Some HD controllers do track-at-a-time caching in their own internal memory. » Advantages? » Disadvantages? ◆ Many HD now have caches in the drive as well 15 Floppy Disk Driver ◆ More complicated than HD driver »Why? ◆ Strictly FCFS scheduling in MINIX ◆ The SEEK operation must be done by the driver » When it fails (SEEK error), the driver sends a RECALIBRATE command ◆ Other problems: » Removable media » Multiple disk formats » Motor control 16.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    8 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us