i/o management and disk scheduling
DESCRIPTION
I/O Management and Disk Scheduling. Chapter 11. Categories of I/O Devices. Human readable Used to communicate with the user Printers Video display terminals Display Keyboard Mouse. Categories of I/O Devices. Machine readable Used to communicate with electronic equipment - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/1.jpg)
1
I/O Management and Disk Scheduling
Chapter 11
![Page 2: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/2.jpg)
2
Categories of I/O Devices
Human readableUsed to communicate with the userPrintersVideo display terminals
Display Keyboard Mouse
![Page 3: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/3.jpg)
3
Categories of I/O Devices
Machine readableUsed to communicate with electronic
equipmentDisk and tape drivesSensorsControllersActuators
![Page 4: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/4.jpg)
4
Categories of I/O Devices
CommunicationUsed to communicate with remote devicesDigital line driversModems
![Page 5: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/5.jpg)
5
Differences in I/O Devices
Data rateMay be differences of several orders of
magnitude between the data transfer rates
![Page 6: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/6.jpg)
6
![Page 7: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/7.jpg)
7
Differences in I/O Devices
ApplicationDisk used to store files requires file
management softwareDisk used to store virtual memory pages
needs special hardware and software to support it
Terminal used by system administrator may have a higher priority
![Page 8: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/8.jpg)
8
Differences in I/O Devices
Complexity of control Unit of transfer
Data may be transferred as a stream of bytes for a terminal or in larger blocks for a disk
Data representationEncoding schemes
Error conditionsDevices respond to errors differently
![Page 9: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/9.jpg)
9
Differences in I/O Devices
Real-time/on-line I/O may need special supportOften delegate I/O function to secondary
processor – which then communicates with standard I/O. EG USB, etc.
May still need real-time driver interface fro other components of the system
![Page 10: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/10.jpg)
10
I/O Techniques
1. Programmed I/O Process is busy-waiting for the operation to
complete
2. Interrupt-driven I/O I/O command is issued Processor continues executing instructions I/O module sends an interrupt when done
![Page 11: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/11.jpg)
11
Performing I/O
3. Direct Memory Access (DMA) DMA module controls exchange of data
between main memory and the I/O device Processor interrupted only after entire block
has been transferred
![Page 12: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/12.jpg)
12
Relationship Among Techniques
![Page 13: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/13.jpg)
13
Evolution of the I/O Function
Processor directly controls a peripheral device
Controller or I/O module is addedProcessor uses programmed I/O without
interruptsProcessor does not need to handle details of
external devices
![Page 14: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/14.jpg)
14
Evolution of the I/O Function
Controller or I/O module with interruptsProcessor does not spend time waiting for an
I/O operation to be performed Direct Memory Access
Blocks of data are moved into memory without involving the processor
Processor involved at beginning and end only
![Page 15: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/15.jpg)
15
Evolution of the I/O Function
I/O module is a separate processor I/O processor
I/O module has its own local memory It’s a computer in its own right
Case study: PIC=Peripheral Interface Controller (which also evolves)
… but communicates only through the main processor
![Page 16: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/16.jpg)
16
Direct Memory Access
Processor delegates I/O operation to the DMA module
DMA module transfers data directly to or from memory
When complete DMA module sends an interrupt signal to the processor
![Page 17: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/17.jpg)
17
DMA
![Page 18: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/18.jpg)
18
DMA Configurations
![Page 19: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/19.jpg)
19
DMA Configurations
![Page 20: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/20.jpg)
20
Operating System Design Issues Efficiency
Most I/O devices extremely slow compared to main memory
Use of multiprogramming allows for some processes to be waiting on I/O while another process executes
I/O cannot keep up with processor speedSwapping is used to bring in additional Ready
processes which is an I/O operation
![Page 21: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/21.jpg)
21
Operating System Design Issues Generality
Desirable to handle all I/O devices in a uniform manner
Hide most of the details of device I/O in lower-level routines so that processes and upper levels see devices in general terms such as read, write, open, close, lock, unlock
![Page 22: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/22.jpg)
22
![Page 23: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/23.jpg)
23
I/O Buffering
Reasons for bufferingProcesses must wait for I/O to complete
before proceedingCertain pages must remain in main memory
during I/OSingle-process deadlock possible
![Page 24: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/24.jpg)
24
I/O Buffering
Block-oriented Information is stored in fixed sized blocksTransfers are made a block at a timeUsed for disks and tapes
Stream-orientedTransfer information as a stream of bytesUsed for terminals, printers, communication ports,
mouse and other pointing devices, and most other devices that are not secondary storage
![Page 25: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/25.jpg)
25
Single Buffer
Operating system assigns a buffer in main memory for an I/O request
Block-oriented Input transfers made to bufferBlock moved to user space when neededAnother block is moved into the buffer
Read ahead
![Page 26: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/26.jpg)
26
Single Buffer
Block-orientedUser process can process one block of data
while next block is read inSwapping can occur since input is taking
place in system memory, not user memoryOperating system keeps track of assignment
of system buffers to user processes
![Page 27: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/27.jpg)
27
Single Buffer
Stream-orientedUsed a line at time or byte at a time
Remote machine control in BYU labs example
User input from a terminal is one line at a time with carriage return signaling the end of the line
Output to the terminal is one line at a time
![Page 28: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/28.jpg)
28
I/O Buffering
Slow Fast
![Page 29: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/29.jpg)
29
Double Buffer
Use two system buffers instead of one A process can transfer data to or from one buffer
while the operating system empties or fills the other buffer
![Page 30: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/30.jpg)
30
Circular Buffer
More than two buffers are used Each individual buffer is one unit in a circular buffer Used when I/O operation must keep up with process
Peak smoothingData Bursts?
![Page 31: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/31.jpg)
31
Disk Performance Parameters
To read or write, the disk head must be positioned at the desired track and at the beginning of the desired sector
Seek timeTime it takes to position the head at the desired
track Rotational delay or rotational latency
Time its takes for the beginning of the sector to reach the head
![Page 32: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/32.jpg)
32
Bandwidth vs. Latency
ANY movement of data from A to B Comms I/O Mem CPU Etc.
Bandwidth: the amount of steady flow Latency: The delay before (or between) flows
![Page 33: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/33.jpg)
33
Timing of a Disk I/O Transfer
![Page 34: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/34.jpg)
34
Disk Performance Parameters
Access timeSum of seek time and rotational delayThe time it takes to get in position to read or
write Data transfer occurs as the sector moves
under the head
![Page 35: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/35.jpg)
35
Disk Scheduling Policies
Seek time is the reason for differences in performance
For a single disk there will be a number of I/O requests
If requests are selected randomly, we will poor performance
![Page 36: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/36.jpg)
36
Disk Scheduling Policies
First-in, first-out (FIFO) Process request sequentially Fair to all processes Approaches random scheduling in performance if there are
many processes
![Page 37: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/37.jpg)
37
Disk Scheduling Policies
PriorityGoal is not to optimize disk use but to meet
other objectivesShort batch jobs may have higher priorityProvide good interactive response time
![Page 38: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/38.jpg)
38
Disk Scheduling Policies
Last-in, first-outGood for transaction processing systems
The device is given to the most recent user so there should be little arm movement
Possibility of starvation since a job may never regain the head of the line
![Page 39: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/39.jpg)
39
Disk Scheduling Policies
Shortest Service Time First Select the disk I/O request that requires the least
movement of the disk arm from its current position Always choose the minimum Seek time
![Page 40: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/40.jpg)
40
Disk Scheduling Policies
SCAN Arm moves in one direction only, satisfying all outstanding
requests until it reaches the last track in that direction Direction is reversed
![Page 41: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/41.jpg)
41
Disk Scheduling Policies
C-SCAN Restricts scanning to one direction only When the last track has been visited in one direction, the
arm is returned to the opposite end of the disk and the scan begins again
![Page 42: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/42.jpg)
42
Disk Scheduling Policies
N-step-SCANSegments the disk request queue into subqueues of
length NSubqueues are processed one at a time, using SCANNew requests added to other queue when queue is
processed FSCAN
Two queuesOne queue is empty for new requests
![Page 43: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/43.jpg)
43
Disk Scheduling Algorithms
![Page 44: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/44.jpg)
44
RAID
Redundant Array of Independent Disks Set of physical disk drives viewed by the
operating system as a single logical drive Data are distributed across the physical drives of
an array Redundant disk capacity is used to store parity
information Tutorial
![Page 45: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/45.jpg)
45
RAID 0 (non-redundant)
![Page 46: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/46.jpg)
46
RAID 1 (mirrored)
![Page 47: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/47.jpg)
47
RAID 2 Redundancy through Hamming code – seldom used
![Page 48: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/48.jpg)
48
RAID 3 (bit-interleaved parity)
![Page 49: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/49.jpg)
49
RAID parity
X4 = X3 (+) X2 (+) X1 (+) X0(+) = XOR
Assume X1 failsDetect Regenerate missing bit
X1 = X3 (+) X2 (+) X4 (+) X0
Replace drive 1 and regenerate whole drive
![Page 50: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/50.jpg)
50
RAID 4 (block-level parity)
![Page 51: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/51.jpg)
51
RAID 4 parity change with write
X4’ = X3 (+) X2 (+) X1’ (+) X0X4’ = X3 (+) X2 (+) X1’ (+) X0
![Page 52: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/52.jpg)
52
RAID 5 (block-level distributed parity)
![Page 53: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/53.jpg)
53
RAID 6 (dual redundancy)
![Page 54: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/54.jpg)
54
Disk Cache
Buffer in main memory for disk sectors Contains a copy of some of the sectors on
the disk
![Page 55: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/55.jpg)
55
Least Recently Used
The block that has been in the cache the longest with no reference to it is replaced
The cache consists of a stack of blocks Most recently referenced block is on the
top of the stack When a block is referenced or brought into
the cache, it is placed on the top of the stack
![Page 56: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/56.jpg)
56
Least Recently Used
The block on the bottom of the stack is removed when a new block is brought in
Blocks don’t actually move around in main memory
A stack of pointers is used
![Page 57: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/57.jpg)
57
Least Frequently Used
The block that has experienced the fewest references is replaced
A counter is associated with each block Counter is incremented each time block accessed Block with smallest count is selected for
replacement Some blocks may be referenced many times in a
short period of time and the reference count is misleading
![Page 58: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/58.jpg)
58
![Page 59: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/59.jpg)
59
![Page 60: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/60.jpg)
60
![Page 61: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/61.jpg)
61
UNIX SCR4 I/O
Each individual device is associated with a special file
Two types of I/O Buffered Unbuffered
![Page 62: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/62.jpg)
62
![Page 63: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/63.jpg)
63
Linux I/O
Elevator schedulerMaintains a single queue for disk read and
write requestsKeeps list of requests sorted by block numberDrive moves in a single direction to satisy
each request
![Page 64: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/64.jpg)
64
Linux I/O
Deadline schedulerUses three queues
Incoming requests Read requests go to the tail of a FIFO queue Write requests go to the tail of a FIFO queue
Each request has an expiration time
![Page 65: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/65.jpg)
65
Linux I/O
![Page 66: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/66.jpg)
66
Linux I/O
Anticipatory I/O schedulerDelay a short period of time after satisfying a
read request to see if a new nearby request can be made
![Page 67: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/67.jpg)
67
Windows I/O
Basic I/O modulesCache managerFile system driversNetwork driversHardware device drivers
![Page 68: I/O Management and Disk Scheduling](https://reader035.vdocuments.site/reader035/viewer/2022062217/5681478c550346895db4bc92/html5/thumbnails/68.jpg)
68
Windows I/O