Chapter 12: Mass-Storage
Systems
Operating System Concepts – 8th Edition   Silberschatz, Galvin and Gagne ©2009
     Chapter 12: Mass-Storage Systems
   Overview of Mass Storage Structure
   Disk Structure
   Disk Attachment
   Disk Scheduling
   Disk Management
   Swap-Space Management
                                12.2
                          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
                                   12.3
         Overview of Mass Storage Structure
   Magnetic disks provide bulk of secondary storage of modern computers
        Drives rotate at 60 to 200 times per second
        Transfer rate is rate at which data flow between drive and computer
        Positioning time (random-access time) is time to move disk arm to
         desired cylinder (seek time) 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
             That’s bad
   Disks can be removable
   Drive attached to computer via I/O bus
        Busses vary, including EIDE, ATA, SATA, USB, Fibre Channel,
         SCSI
        Host controller in computer uses bus to talk to disk controller built
         into drive or storage array
                                     12.4
Moving-head Disk Mechanism
          12.5
    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 head, transfer rates comparable to disk
        20-200GB typical storage
        Common technologies are 4mm, 8mm, 19mm, LTO-2 and SDLT
                                    12.6
                           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
                                      12.7
                        Disk Attachment
   Host-attached storage accessed through I/O ports talking to I/O busses
   SCSI itself is a bus, up to 16 devices on one cable, SCSI initiator requests
    operation and SCSI targets perform tasks
        Each target can have up to 8 logical units (disks attached to device
         controller
   FC is high-speed serial architecture
        Can be switched fabric with 24-bit address space – the basis of storage
         area networks (SANs) in which many hosts attach to many storage
         units
        Can be arbitrated loop (FC-AL) of 126 devices
                                   12.8
             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
   New iSCSI protocol uses IP network to carry the SCSI protocol
                                 12.9
                  Storage Area Network
   Common in large storage environments (and becoming more common)
   Multiple hosts attached to multiple storage arrays - flexible
                                    12.10
                      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 for the disk are 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 seek time
   Seek time  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
                                    12.11
               Disk Scheduling (Cont.)
   Several algorithms exist to schedule the servicing of disk I/O requests
   We illustrate them with a request queue (0-199)
                 98, 183, 37, 122, 14, 124, 65, 67
    Head pointer 53
Total head movement 640 cylinders
                                   12.12
                          FCFS
Illustration shows total head movement of 640 cylinders
                             12.13
                               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
                                  12.14
SSTF (Cont.)
    12.15
                              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.
   SCAN algorithm Sometimes called the elevator algorithm
   Illustration shows total head movement of 208 cylinders
                                   12.16
SCAN (Cont.)
    12.17
                            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
                                    12.18
C-SCAN (Cont.)
     12.19
                              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
                                   12.20
C-LOOK (Cont.)
     12.21
     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 LOOK is a reasonable choice for the default algorithm
                                   12.22
Suppose that a disk drive has 5,000 cylinders, numbered 0 to 4,999. The drive is
   currently serving a request at cylinder 150, and the previous request was at
   cylinder 805. The queue of pending requests, in FIFO
order, is:
069, 212, 296, 800, 544, 618, 356, 523, 965, 3681
Starting from the current head position, what is the total distance (in cylinders) that
   the disk arm moves to satisfy all the pending requests for each of the following
   disk-scheduling algorithms?
a. FCFS
b. SSTF
c. SCAN
d. LOOK
e. C-SCAN
f. C-LOOK
                                   12.23