Mod_5-Ch9 - KSU Web Home

Chapter 9
I/O System
Input/Output System
I/O Major objectives are:
• Take an application I/O request and send it
to the physical device. Then, take whatever
response comes back from the device and
send it to the application.
• Optimize the performance of the various
I/O requests.
General I/O Issues
• The operating system is able to improve overall system
performance if it can keep the various devices as busy
as possible.
• It is important for the operating system to handle
device interrupts as quickly as possible.
– For interactive devices (keyboard, mouse, microphone), this
can make the system more responsive.
– For communication devices (modem, Ethernet, etc), this can
affect the effective speed of the communications.
– For real-time systems, this can be the difference between the
system operating correctly and malfunctioning.
Disk Drive Mechanism
The physical structure
of typical disk which it
shows one or more
platters that are
attached to a rotating
spindle. Data is written
to and read from the
platters by read/write
Disk Structure and Organization
• Moving-head disk - one head per surface
• Fixed-head disk - one head per track
• Data on a disk is addressed by:
– Cylinder
– Surface
– Sector
Disk Structure
• Disk drives are addressed as large 1-dimensional
arrays of logical blocks, where the logical block is the
smallest unit of transfer.
• The 1-dimensional array of logical blocks is mapped
into the sectors of the disk sequentially.
– Sector 0 is the first sector of the first track on the
outermost cylinder.
– Mapping proceeds in order through that track, then the
rest of the tracks in that cylinder, and then through the
rest of the cylinders from outermost to innermost.
Disk Track Format
Direct Access Storage Devices
• Devices that can directly read or write to a
specific place on a disk or drum
– Also called random access storage devices
• Grouped into two major categories
– fixed read/write heads
– movable read/write heads
Fixed-Head Drums
• Developed in the early 1950s
– access times of 5 to 25 ms were considered fast
– used a drum with a capacity of 2000 bytes
• later increased to 4000 bytes
• speed was 200 rpm
• much faster than other drums of the time which were
only 50-60 rpm
• By 1970 drums increased to 1 megabyte and
speed of 3000 rpm
Fixed-Head Drums
Resemble a giant coffee can
Covered with magnetic film
Formatted so tracks run around it
data recorded serially on each track by the
read/write head positioned over it
These drums were quite fast, yet expensive and
did store as much as other DASDs.
Fixed-Head Disks
• Disks resemble phonograph record albums
covered with magnetic film that has been
formatted into concentric circles called
• Data is recorded in the same manner as
fixed-head drum
• These were very expensive and had less
storage space as compared to movablehead disks but were faster.
Movable-Head Drums
• Consist of a few read/write heads that move
from track to track to cover the entire surface
of the drum
• Device that is least expensive has only one
read/write head for the whole drum
• Drums with several read/write heads work
faster but also cost more
Movable-Head Disks
The read/write head floats over the surface of the
• Exist as individual units, as in a PC
• Can also be in a disk pack, which is a stack of
disks which consists of several platters that are
stacked on a common central spindle, with a
slight space between them so the read/write
heads can move between the pairs of disks.
Architecture of M-Head Disks
• Each platter has two surfaces for recording,
except the top and bottom
• Each surface is formatted with specific
numbers of tracks for the data to be recorded
– number of tracks varies depending on the
– usually range from 200 to 800 tracks
Optical Storage
• Direct access storage
• CD-ROMs contained the first optical storage
– these were incompatible with most systems, as
they were developed for a single system
• Is a major contender for the replacement of
magnetic disks because it has high-density
storage and durability
• To read or write data, disk device must move the arm
to the appropriate track.
• The time to carry this out this is called Seek Time.
• Then, the disk device must wait for the desired
sector/data to rotate into position under the head
(rotational latency).
• Each track is recorded in units called Sectors. A sector
is the smallest amount of data that can be physically
read or written.
Disk Access Time
The disk access time can be calculated as follows:
Disk Access time = Seek time + Rotational Latency
I/O System Structure
With this Structure,
the generic device
driver will
communicate with
the device controller
via a bus interface
Stages of an I/O Request
The storage of an I/O request now look like the
this figure
I/O Performance Optimization
• I/O processing is much slower than CPU
processing. Every physical disk I/O has a
dramatic impact on system performance
• To improve I/O performance:
– Reduce the number of I/O requests
– Carry out buffering and/or caching
– I/O Scheduling
Buffering and Caching
• The objective of Buffering and Caching is:
– If you cannot completely eliminate I/O, make the
physical I/O requests as bi as possible.
– This will reduce the number of physical I/O
requests by the buffering factor used.
• The application's logical I/O requests should
copy data to/from a large memory buffer. The
physical I/O requests then transfer the entire
Buffered Write
I/O Scheduling
• For most devices, a FCFS (First-Come-FirstServe) scheduling algorithm is appropriate.
• For example, one wants the segments of a music
file to be played in sequential order.
• For some devices (disks especially), the order in
which requests are processed is not inherently
constrained by the device characteristics.
I/O Scheduling (Cont.)
• On a typical system, there will be pending
disk I/O requests from many different
• The correct functioning of these processes
usually does not depend on the order in which
the disk I/O operations actually occur.
• Thus, we will want the Resource Scheduler to
attempt to optimize performance for devices
such as disks.
Context Switching in I/O
• In CPU scheduling, the context-switch time
is relatively small with respect to the
service time
• In I/O scheduling the context-switch time is
relatively large with respect to the service
The time to move the head between cylinders
is much greater than the time it takes to
read or write to a cylinder
State-Dependent Behavior
The current position of the read/write
head (i.e., the state of the disk)
affects the response time of the next
Disk Scheduling Algorithms
For moving-head disk, disk scheduling algorithms
are needed to minimize seek time
FCFS scheduling: first-come-first-served
SSTF scheduling: shortest-seek-time-first
SCAN scheduling
C-SCAN scheduling: circular SCAN
LOOK scheduling (The arm goes only as far as final request in
each direction, then it reverses direction immediately without
going all the way to the end of the disk).
• C-LOOK scheduling
Disk Scheduling Algorithms
• Several algorithms exist to schedule the
servicing of disk I/O requests.
• Given the following disk request sequence for a
disk with 100 tracks:
44, 20, 95, 4, 50, 52, 47, 61, 87, 25
Head pointer 50 (current position of R/W heads)
FCFS Scheduling
• FCFS scheduling service I/O requests in the
order in which they arrive.
• It is, of course, the simplest scheduling
algorithm and actually does no scheduling.
• It serves as a useful baseline to compare other
scheduling algorithms.
FCFS Scheduling Example
Types of Disks Scheduling Algorithms Video: 23:14
Another Example with FCFS
Illustration shows total head movement of 640 cylinders.
• Selects the request with the minimum seek
time from the current head position.
• SSTF scheduling is a form of SJF scheduling; may
cause starvation of some requests.
• Illustration shows total head movement of 152
cylinders (or tracks).
SSTF Scheduling Example
Another Example with SSTF
Elevator (SCAN) Algorithms
• The disk arm starts at one end of the disk, and
moves toward the other end, servicing requests
until it gets to the other end of the disk, where
the head movement is reversed and servicing
• Sometimes called the elevator algorithm.
• Illustration shows total head movement of 136
Example with SCAN Scheduling
Another Example with SCAN
Elevator or Circular Scan
C-SCAN Algorithms
• A variant of SCAN
• Provides a more uniform wait time than SCAN.
• The head moves from one end of the disk to
the other, servicing requests as it goes.
• When it reaches the other end, however, it
immediately returns to the beginning of the
disk, without servicing any requests on the
return trip.
Example with C-SCAN
Example with C-SCAN
Calculate the distance between each movement
• Variant of C-SCAN
• Disk arm only travels as far as the last
request in each direction, then reverses
direction immediately, without first going all
the way to the end of the disk.