0% found this document useful (0 votes)
49 views38 pages

Lecture 15 Device Management

The document discusses device management in operating systems. It covers how operating systems provide a uniform interface to access different hardware devices. It describes how devices are addressed either through dedicated addresses or memory mapping. It also discusses various techniques for accessing devices like polling, interrupts, direct memory access (DMA) and double buffering. The document uses hard disks as an example device to illustrate device characteristics like sectors, cylinders and zones. It compares various disk scheduling algorithms like FCFS, SSTF, SCAN and C-SCAN in terms of seek distance. The goal of the disk device driver is to reduce disk seek time by scheduling requests optimally.

Uploaded by

kishor0786
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
49 views38 pages

Lecture 15 Device Management

The document discusses device management in operating systems. It covers how operating systems provide a uniform interface to access different hardware devices. It describes how devices are addressed either through dedicated addresses or memory mapping. It also discusses various techniques for accessing devices like polling, interrupts, direct memory access (DMA) and double buffering. The document uses hard disks as an example device to illustrate device characteristics like sectors, cylinders and zones. It compares various disk scheduling algorithms like FCFS, SSTF, SCAN and C-SCAN in terms of seek distance. The goal of the disk device driver is to reduce disk seek time by scheduling requests optimally.

Uploaded by

kishor0786
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 38

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
Optimize the performance of individual devices
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)
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
Device Addressing Illustrated

Primary Primary
memory memory Memory
addresses
Device Device 1
addresses Device 2
Separate device Memory-mapped I/Os
addresses
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
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)
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
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
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
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
Device Driver Illustrated

User level User applications


Various OS components
OS level
Device drivers
Device controllers
Hardware level
I/O devices
Disk as An Example Device

 30-year-old storage technology


 Incredibly complicated
 A modern drive
250,000 lines of micro code
Disk Characteristics

 Disk platters: coated with magnetic


materials for recording

Disk
platters
Disk Characteristics

 Disk arm: moves a comb of disk heads


Only one disk head is active for reading/writing

Disk heads

Disk
platters

Disk arm
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
Disk Characteristics

 Each disk platter is divided into concentric


tracks
Disk heads

Disk
platters

Disk arm

Track
Disk Characteristics

 A track is further divided into sectors. A


sector is the smallest unit of disk storage
Disk heads

Disk
platters

Sector
Disk arm

Track
Disk Characteristics

 A cylinder consists of all tracks with a


given disk arm position
Disk heads

Disk
platters

Sector
Disk arm
Cylinder

Track
Disk Characteristics

 Cylinders are further divided into zones

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)
Disk heads

Disk
platters

Sector
Disk arm
Cylinder

Track

Zones
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
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
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
Disk Performance Metrics

 Latency
Seek time + rotational delay
 Bandwidth
Bytes transferred / disk access time
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
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
Disk Tradeoffs

Sector size Space utilization Transfer rate


1 byte 8 bits/1008 bits (0.8%) 80 bytes/sec (1 byte / 12 msec)
4 Kbytes 4096 bytes/4221 bytes (97%) 340 Kbytes/sec (4 Kbytes / 12 msec)
1 Mbyte (~100%) 58 Mbytes/sec (peak bandwidth)

 Larger sector size  better bandwidth


 Wasteful if only 1 byte out of 1 Mbyte is
needed
Disk Controller

 Few popular standards


IDE (integrated device electronics)
ATA (AT attachment interface)
SCSI (small computer systems interface)
 Differences
Performance
Parallelism
Disk Device Driver

 Major goal: reduce seek time for disk


accesses
Schedule disk request to minimize disk arm
movements
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
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
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
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
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
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
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
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.

You might also like