Transcript Chapter 10
Chapter 10: Mass-Storage Structure
Overview of Mass Storage Structure
Disk Structure
Disk Scheduling
Disk Management
Swap-Space Management
RAID Structure
Stable-Storage Implementation
Tertiary Storage Devices
Operating System Issues
Performance Issues
Operating System Concepts
12.1
Silberschatz, Galvin and Gagne ©2005
Objectives
Describe the physical structure of secondary and tertiary storage
devices and the resulting effects on the uses of the devices
Explain the performance characteristics of mass-storage devices
Discuss operating-system services provided for mass storage,
including RAID (Redundant Arrays of Inexpensive Disks) and HSM
(Hierarchical Storage Management)
Operating System Concepts
12.2
Silberschatz, Galvin and Gagne ©2005
Overview of Mass Storage Structure
Magnetic disks provide bulk of secondary storage of modern computers
Most drives rotate at 60 to 200 times per second
Transfer rate is rate at which data flows between drive and computer
As of 2010, a typical 7200 rpm desktop hard drive has a sustained disk-to-buffer transfer rate of
upto 1030 Mbits/sec
Positioning time (random-access time) is time to move disk arm to desired
cylinder (seek time) (Seektime is about 9ms for current desktops.) and time
for desired sector to rotate under the disk head (rotational latency).
Head crash results from disk head making contact with the disk surface
Disks can be removable
Drive attached to computer via I/O bus
Busses vary, including enhanced integrated drive electronics (EIDE),
advanced technology attachment (ATA), Serial ATA (SATA 3Gbits/sec),
Universal serial bus (USB), Fibre Channel (FC), Small computer system
interface (SCSI), Serial attached SCSI (SAS), Enhanced Small disk
interface(ESDI),
Operating System Concepts
12.3
Silberschatz, Galvin and Gagne ©2005
Overview of Mass Storage Structure …
Solid State Disks (SSDs): It is non-volatile memory
that is used as disk. There are many variations.
Could be DRAM with a battery for maintaining its state in a
power failure through flash-memory technologies.
Advantages and disadvantages of SSDs
Could
be more reliable than disks because there are no moving
parts
Are
faster because they have no seek time and consume less power
More
expensive than traditional hard disks.
Have
less capacity than hard disk
May
have shorter lifetime than hard disks.
Some
systems use it as replacement of disks, others use it as new
cache between memory and disk
Operating System Concepts
12.4
Silberschatz, Galvin and Gagne ©2005
Overview of Mass Storage Structure (Cont.)
Magnetic tape
Was early secondary-storage medium
Relatively permanent and holds large quantities of data
Access time slow
Random access ~1000 times slower than disk
Mainly used for backup, storage of infrequently-used data, transfer medium
between systems
Kept in spool and wound or rewound past read-write head
Once data under tape head, transfer rates comparable to disk
Tape capacities vary and exceed several terabytes.
Common technologies are 4mm, 8mm, 19mm, LTO-2 and SDLT
Operating System Concepts
12.5
Silberschatz, Galvin and Gagne ©2005
Moving-head Disk Machanism
Operating System Concepts
12.6
Silberschatz, Galvin and Gagne ©2005
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.
Operating System Concepts
12.7
Silberschatz, Galvin and Gagne ©2005
Network-Attached Storage
Network-attached storage (NAS) is storage made available over a
network rather than over a local connection (such as a bus)
NFS and CIFS are common protocols
Implemented via remote procedure calls (RPCs) between host and
storage
Operating System Concepts
12.8
Silberschatz, Galvin and Gagne ©2005
Storage Area Network
Common in large storage environments (and becoming more
common)
Multiple hosts attached to multiple storage arrays - flexible
Operating System Concepts
12.9
Silberschatz, Galvin and Gagne ©2005
Disk Scheduling
The operating system is responsible for using hardware efficiently
— for the disk drives, this means having a fast access time and
disk bandwidth.
Access time has two major components
Seek time is the time to move the heads to the cylinder
containing the desired sector.
Rotational latency is the additional time waiting for the disk to
rotate the desired sector to the disk head.
Minimize average seek time – Any suggestions on how to do
this?
Seek time is proportional to seek distance
Disk bandwidth is the total number of bytes transferred, divided by
the total time between the first request for service and the
completion of the last transfer.
Operating System Concepts
12.10
Silberschatz, Galvin and Gagne ©2005
Disk Scheduling (Cont.)
Several algorithms exist to schedule the servicing of disk I/O
requests.
We illustrate them with a request queue (0-199 cylinders).
98, 183, 37, 122, 14, 124, 65, 67
Head pointer 53
Operating System Concepts
12.11
Silberschatz, Galvin and Gagne ©2005
FCFS
Illustration shows total head movement of 640 cylinders.
Operating System Concepts
12.12
Silberschatz, Galvin and Gagne ©2005
SSTF
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 236 cylinders.
Operating System Concepts
12.13
Silberschatz, Galvin and Gagne ©2005
SSTF (Cont.)
Operating System Concepts
12.14
Silberschatz, Galvin and Gagne ©2005
SCAN
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
continues.
Sometimes called the elevator algorithm.
Illustration shows total head movement of 208 cylinders.
Operating System Concepts
12.15
Silberschatz, Galvin and Gagne ©2005
SCAN (Cont.)
Operating System Concepts
12.16
Silberschatz, Galvin and Gagne ©2005
C-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.
Treats the cylinders as a circular list that wraps around from the
last cylinder to the first one.
Operating System Concepts
12.17
Silberschatz, Galvin and Gagne ©2005
C-SCAN (Cont.)
Operating System Concepts
12.18
Silberschatz, Galvin and Gagne ©2005
C-LOOK
Version of C-SCAN
Arm only goes 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.
Operating System Concepts
12.19
Silberschatz, Galvin and Gagne ©2005
C-LOOK (Cont.)
Operating System Concepts
12.20
Silberschatz, Galvin and Gagne ©2005
Selecting a Disk-Scheduling Algorithm
SSTF is common and has a natural appeal
SCAN and C-SCAN perform better for systems that place a heavy
load on the disk.
Performance depends on the number and types of requests.
Requests for disk service can be influenced by the file-allocation
method.
The disk-scheduling algorithm should be written as a separate
module of the operating system, allowing it to be replaced with a
different algorithm if necessary.
Either SSTF or C-LOOK is a reasonable choice for the default
algorithm.
Operating System Concepts
12.21
Silberschatz, Galvin and Gagne ©2005
Disk Management
Low-level formatting, or physical formatting — Dividing a disk into sectors
that the disk controller can read and write.
To use a disk to hold files, the operating system still needs to record its own
data structures on the disk.
Partition the disk into one or more groups of cylinders.
Logical formatting or “making a file system”.
Boot block initializes system.
The bootstrap is stored in ROM.
Bootstrap loader program.
Methods such as sector sparing or sector slipping is used to handle bad
blocks.
Under sector sparing, a new sector is allocated to replace a bad sector.
Under sector slipping: for example, if sector 20 becomes defective, and
the first available sector follows sector 202, then all sectors from 20 to
202 are remapped moving them down one spot.
Operating System Concepts
12.22
Silberschatz, Galvin and Gagne ©2005
Swap-Space Management
Swap-space — Virtual memory uses disk space as an extension of
main memory.
Swap-space can be carved out of the normal file system,or, more
commonly, it can be in a separate disk partition.
Swap-space management
4.3BSD allocates swap space when process starts; holds text
segment (the program) and data segment.
Kernel uses swap maps to track swap-space use.
Solaris 2 allocates swap space only when a page is forced out
of physical memory, not when the virtual memory page is first
created.
Operating System Concepts
12.23
Silberschatz, Galvin and Gagne ©2005
Data Structures for Swapping on Linux
Systems
•A swap area may be a either a swap file, or a raw swap partition
•Each swap area consists of series of 4KB page slots, which are used to hold
swap pages
•Associated with each swap area is a swap map – an array of integer
counters, each corresponding to a page slot in the swap area. If the value of
the counter is 0, the corresponding page slot is available; if it is greater than
0, the number indicates the number of processes to which the swapped page
is mapped.
Operating System Concepts
12.24
Silberschatz, Galvin and Gagne ©2005
RAID Structure
Improving reliability via redundancy.
Suppose the mean time to failure of a disk is 100,000 hours (more than 10 years).
Then the meantime to failure of a single disk in an array of 100 disks will be
100000/100 = 1000 hours (41.66 days).
If only one copy of the data is stored, then each disk failure will cause the data on
that disk to be lost. A solution to this problem is introducing redundancy
RAID (Redundant array of Inexpensive (now Independent) Disks
– multiple disk drives provide reliability via redundancy.
Innovators of RAID: David Patterson, Randy Katz and Garth Gibson
RAID is arranged into six different levels.
Operating System Concepts
12.25
Silberschatz, Galvin and Gagne ©2005
RAID (cont)
Several improvements in disk-use techniques involve the use of
multiple disks working cooperatively.
Disk striping uses a group of disks as one storage unit.
RAID schemes improve performance and improve the reliability of
the storage system by storing redundant data.
Mirroring or shadowing keeps duplicate of each disk.
If the mean time to failure of a single disk is 100,000 hours and the mean
time to repair is 10 hours, the mean time to data loss of a mirrored disk
system is (100,000*100,000)/(2*10) hours (= 57,000 years).
Block interleaved parity uses much less redundancy.
Operating System Concepts
12.26
Silberschatz, Galvin and Gagne ©2005
RAID Levels
Operating System Concepts
12.27
Silberschatz, Galvin and Gagne ©2005
Various RAID levels
RAID 0: non-redundant striping. Refers to disk arrays with striping at the
level of blocks without any redundancy (No fault tolerance). It only helps in
increasing the disk bandwidth.
RAID 1: Disk mirroring.
RAID 2: Memory-style error-correcting code organization. Uses error
correcting codes to correct errors. Usually should tolerate more than one
failure, but the book says it can tolerate only one failure.
RAID 3: Bit-interleaved parity organization. Based on the idea that a
single parity bit can be used for error detection as well error correction. If
one of the sectors is damaged, we can figure out all the bits in the sector by
computing the parity of the corresponding bits in the respective sectors of
the other disks.
RAID 4: Block interleaved parity organization. Uses block level striping,
as in RAID 0 and in addition keeps a parity block on a separate disk for
corresponding blocks in N other disks. If one of the disks fail, the parity
block along with the corresponding blocks on the other disks can be used
to restore the blocks on the failed disk.
Operating System Concepts
12.28
Silberschatz, Galvin and Gagne ©2005
Various RAID levels …
RAID 5: uses block interleaved distributed parity. Differs
form RAID 4 by spreading data and parity among all N+1
disks, rather than storing data on N disks and parity in one
disk. For example, with an array of five disks, the parity of
the nth block is stored in disk (n mod 5) + 1; the nth blocks
of the other four disks store the actual data for that block.
RAID 6: also called P+Q redundancy scheme, uses error-
correcting codes such as Reed-Solomon code to guard
against multiple disk failures.
Operating System Concepts
12.29
Silberschatz, Galvin and Gagne ©2005
RAID (0 + 1) and (1 + 0)
Operating System Concepts
12.30
Silberschatz, Galvin and Gagne ©2005
Stable-Storage Implementation
Write-ahead log scheme requires stable storage.
To implement stable storage:
Replicate information on more than one nonvolatile storage
media with independent failure modes.
Update information in a controlled manner to ensure that we
can recover the stable data after any failure during data
transfer or recovery.
Operating System Concepts
12.31
Silberschatz, Galvin and Gagne ©2005