Chapter 3_Disc Scheduling
Chapter 3_Disc Scheduling
Chapter 3_Disc Scheduling
► Overview
► Disk Structure
► Disk Scheduling
► Disk Management
Lecture 1
Objectives
► To describe the physical structure of secondary storage devices
and its effects on the uses of the devices
► To explain the performance characteristics of mass-storage
devices
► To evaluate disk scheduling algorithms
► To discuss operating-system services provided for mass storage,
including RAID
Overview of Mass Storage Structure
(From Wikipedia)
Hard Disk Performance
► Access Latency = Average access time = average seek time +
average latency
► For fastest disk 3ms + 2ms = 5ms
► For slow disk 9ms + 5.56ms = 14.56ms
► Average I/O time = average access time + (amount to transfer /
transfer rate) + controller overhead
► For example to transfer a 4KB block on a 7200 RPM disk with a
5ms average seek time, 1Gb/sec transfer rate with a .1ms
controller overhead =
► 5ms + 4.17ms + 0.1ms + transfer time =
► Transfer time = 4KB / 1Gb/s * 8Gb / GB * 1GB / 10242KB = 32 /
(10242) = 0.031 ms
► Average I/O time for 4KB block = 9.27ms + .031ms = 9.301ms
The First Commercial Disk Drive
1956
IBM RAMDAC computer
included the IBM Model
350 disk storage system
5M (7 bit) characters
50 x 24” platters
Access time = < 1 second
Solid-State Disks
► Nonvolatile memory used like a hard drive
► Many technology variations
► Can be more reliable than HDDs
► More expensive per MB
► Maybe have shorter life span
► Less capacity
► But much faster
► Busses can be too slow -> connect directly to PCI for example
► No moving parts, so no seek time or rotational latency
Magnetic Tape
► Was early secondary-storage medium
► Evolved from open spools to cartridges
► 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
► 140MB/sec and greater
► 200GB to 1.5TB typical storage
► Common technologies are LTO-{3,4,5} and T10000
Disk Structure
► Disk drives are addressed as large 1-dimensional arrays of logical
blocks, where the logical block is the smallest unit of transfer
► Low-level formatting creates logical blocks on physical media
► 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
► Logical to physical address should be easy
► Except for bad sectors
► Non-constant # of sectors per track via constant angular velocity
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
► I/O directed to bus ID, device ID, logical unit (LUN)
Lecture 2
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
► 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
► Host-attached storage accessed through I/O ports talking to I/O
busses
Disk Scheduling (Cont.)
► There are many sources of disk I/O request
► OS
► System processes
► Users processes
► I/O request includes input or output mode, disk address, memory
address, number of sectors to transfer
► OS maintains queue of requests, per disk or device
► Idle disk can immediately work on I/O request, busy disk means
work must queue
► Optimization algorithms only make sense when a queue exists
Disk Scheduling (Cont.)
► Note that drive controllers have small buffers and can manage a
queue of I/O requests (of varying “depth”)
► Several algorithms exist to schedule the servicing of disk I/O
requests
► The analysis is true for one or many platters
► We illustrate scheduling algorithms with a request queue (0-199)
Output:
Initial position of head: 50
Total number of seek operations = 291
Seek Sequence: 60, 79, 92, 114, 176, 41, 34, 11
LOOK:
The following chart shows the sequence in which requested tracks are serviced using LOOK.
C-LOOK
► LOOK a version of SCAN, C-LOOK a 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
► Total number of cylinders?
C-LOOK (Cont.)
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
► Less starvation
► Performance depends on the number and types of requests
► Requests for disk service can be influenced by the file-allocation method
► And metadata layout
► 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
► What about rotational latency?
► Difficult for OS to calculate
► How does disk-based queueing effect OS queue ordering efforts?
Lecture 4
Disk Management
► Low-level formatting, or physical formatting — Dividing a disk into sectors
that the disk controller can read and write
► Each sector can hold header information, plus data, plus error correction code
(ECC)
► Usually 512 bytes of data but can be selectable
► 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, each treated as a
logical disk
► Logical formatting or “making a file system”
► To increase efficiency most file systems group blocks into clusters
► Disk I/O done in blocks
► File I/O done in clusters
Disk Management (Cont.)
► Raw disk access for apps that want to do their own block
management, keep OS out of the way (databases for example)
► Boot block initializes system
► The bootstrap is stored in ROM
► Bootstrap loader program stored in boot blocks of boot partition
► Methods such as sector sparing used to handle bad blocks
Booting from a Disk in Windows
End of Chapter 3