1 / 38

Device Management

Device Management. So far…. We have covered CPU and memory management Computing is not interesting without I/Os Device management: the OS component that manages hardware devices Provides a uniform interface to access devices with different physical characteristics

Download Presentation

Device Management

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Device Management

  2. So far… • We have covered CPU and memory management • Computing is not interesting without I/Os • Device management: the OS component that manages hardware devices • Provides a uniform interface to access devices with different physical characteristics • Optimize the performance of individual devices

  3. I/O hardware • I/O device hardware • Many varieties • Device controller • Conversion a block of bytes and I/O operations • Performs error correction if necessary • Expose hardware registers to control the device • Typically have four registers: • Data-in register to be read to get input • Data-out register to be written to send output • Status register (allows the status of the device to be checked) • Control register (controls the command the device performs)

  4. Device Addressing • How the CPU addresses the device registers? • Two approaches • Dedicated range of device addresses in the physical memory • Requires special hardware instructions associated with individual devices • Memory-mapped I/O: makes no distinction between device addresses and memory addresses • Devices can be accessed the same way as normal memory, with the same set of hardware instructions

  5. Primary memory Primary memory Memory addresses Device 1 Device addresses Device 2 Separate device addresses Memory-mapped I/Os Device Addressing Illustrated

  6. Ways to Access a Device • How to input and output data to and from an I/O device? • Polling: a CPU repeatedly checks the status of a device for exchanging data + Simple - Busy-waiting

  7. Ways to Access a Device • Interrupt-driven I/Os: A device controller notifies the corresponding device driver when the device is available + More efficient use of CPU cycles - Data copying and movements - Slow for character devices (i.e., one interrupt per keyboard input)

  8. Ways to Access a Device • Direct memory access (DMA): uses an additional controller to perform data movements + CPU is not involved in copying data - I/O device is much more complicated (need to have the ability to access memory). - A process cannot access in-transit data

  9. Ways to Access a Device • Double buffering: uses two buffers. While one is being used, the other is being filled. • Analogy: pipelining • Extensively used for graphics and animation • So a viewer does not see the line-by-line scanning

  10. Device Driver • An OS component that is responsible for hiding the complexity of an I/O device • So that the OS can access various devices in a uniform manner

  11. Types of IO devices • Two categories • A block device stores information in fixed-size blocks, each one with its own address • e.g., disks • A character device delivers or accepts a stream of characters, and individual characters are not addressable • e.g., keyboards, printers, network cards • Device driver provides interface for these two types of devices • Other OS components see block devices and character devices, but not the details of the devices. • How to effectively utilize the device is the responsibility of the device driver

  12. User applications Various OS components User level Device drivers OS level Device controllers I/O devices Hardware level Device Driver Illustrated

  13. Disk as An Example Device • 30-year-old storage technology • Incredibly complicated • A modern drive • 250,000 lines of micro code

  14. Disk platters Disk Characteristics • Disk platters: coated with magnetic materials for recording

  15. Disk heads Disk platters Disk arm Disk Characteristics • Disk arm: moves a comb of disk heads • Only one disk head is active for reading/writing

  16. Hard Disk Trivia… • Aerodynamically designed to fly • As close to the surface as possible • No room for air molecules • Therefore, hard drives are filled with special inert gas • If head touches the surface • Head crash • Scrapes off magnetic information

  17. Disk heads Disk platters Disk arm Track Disk Characteristics • Each disk platter is divided into concentric tracks

  18. Disk heads Disk platters Sector Disk arm Track Disk Characteristics • A track is further divided into sectors. A sector isthe smallest unit of disk storage

  19. Disk heads Disk platters Sector Disk arm Cylinder Track Disk Characteristics • A cylinder consists of all tracks with a given disk arm position

  20. Disk heads Disk platters Sector Disk arm Cylinder Track Zones Disk Characteristics • Cylinders are further divided into zones

  21. Disk heads Disk platters Sector Disk arm Cylinder Track Zones Disk Characteristics • Zone-bit recording: zones near the edge of a disk store more information (higher bandwidth)

  22. More About Hard Drives Than You Ever Want to Know • Track skew: starting position of each track is slightly skewed • Minimize rotational delay when sequentially transferring bytes across tracks • Thermo-calibrations: periodically performed to account for changes of disk radius due to temperature changes • Typically 100 to 1,000 bits are inserted between sectors to account for minor inaccuracies

  23. Disk Access Time • Seek time: the time to position disk heads (~8 msec on average) • Rotational latency: the time to rotate the target sector to underneath the head • Assume 7,200 rotations per minute (RPM) • 7,200 / 60 = 120 rotations per second • 1/120 = ~8 msec per rotation • Average rotational delay is ~4 msec

  24. Disk Access Time • Transfer time: the time to transfer bytes • Assumptions: • 58 Mbytes/sec • 4-Kbyte disk blocks • Time to transfer a block takes 0.07 msec • Disk access time • Seek time + rotational delay + transfer time

  25. Disk Performance Metrics • Latency • Seek time + rotational delay • Bandwidth • Bytes transferred / disk access time

  26. Examples of Disk Access Times • If disk blocks are randomly accessed • Average disk access time = ~12 msec • Assume 4-Kbyte blocks • 4 Kbyte / 12 msec = ~340 Kbyte/sec • If disk blocks of the same cylinder are randomly accessed without disk seeks • Average disk access time = ~4 msec • 4 Kbyte / 4 msec = ~ 1 Mbyte/sec

  27. Examples of Disk Access Times • If disk blocks are accessed sequentially • Without seeks and rotational delays • Bandwidth: 58 Mbytes/sec • Key to good disk performance • Minimize seek time and rotational latency

  28. Disk Tradeoffs • Larger sector size  better bandwidth • Wasteful if only 1 byte out of 1 Mbyte is needed

  29. Disk Controller • Few popular standards • IDE (integrated device electronics) • ATA (AT attachment interface) • SCSI (small computer systems interface) • Differences • Performance • Parallelism

  30. Disk Device Driver • Major goal: reduce seek time for disk accesses • Schedule disk request to minimize disk arm movements

  31. Disk Arm Scheduling Policies • First come, first serve (FCFS): requests are served in the order of arrival + Fair among requesters - Poor for accesses to random disk blocks • Shortest seek time first (SSTF): picks the request that is closest to the current disk arm position + Good at reducing seeks - May result in starvation

  32. Disk Arm Scheduling Policies • SCAN: takes the closest request in the direction of travel (an example of elevator algorithm) + no starvation - a new request can wait for almost two full scans of the disk

  33. Disk Arm Scheduling Policies • Circular SCAN (C-SCAN): disk arm always serves requests by scanning in one direction. • Once the arm finishes scanning for one direction • Returns to the 0th track for the next round of scanning

  34. First Come, First Serve • Request queue: 3, 6, 1, 0, 7 • Head start position: 2 • Total seek distance: 1 + 3 + 5 + 1 + 7 = 17 7 6 5 4 Tracks 3 2 1 Time 0

  35. Shortest Seek Distance First • Request queue: 3, 6, 1, 0, 7 • Head start position: 2 • Total seek distance: 1 + 2 + 1 + 6 + 1 = 10 7 6 5 4 Tracks 3 2 1 Time 0

  36. SCAN • Request queue: 3, 6, 1, 0, 7 • Head start position: 2 • Total seek distance: 1 + 1 + 3 + 3 + 1 = 9 7 6 5 4 Tracks 3 2 1 Time 0

  37. C-SCAN • Request queue: 3, 6, 1, 0, 7 • Head start position: 2 • Total seek distance: 1 + 3 + 1 + 7 + 1 = 13 7 6 5 4 Tracks 3 2 1 Time 0

  38. Look and C-Look • Similar to SCAN and C-SCAN • the arm goes only as far as the final request in each direction, then turns around • Look for a request before continuing to move in a given direction.

More Related