Selecting a Disk-Scheduling Algorithmsurendar.chandrabrown.org/teach/spr06/cse30341/... · The...
Transcript of Selecting a Disk-Scheduling Algorithmsurendar.chandrabrown.org/teach/spr06/cse30341/... · The...
![Page 1: Selecting a Disk-Scheduling Algorithmsurendar.chandrabrown.org/teach/spr06/cse30341/... · The disk-scheduling algorithm should be written as a separate module of the operating system,](https://reader034.fdocuments.in/reader034/viewer/2022042917/5f598ed046e7c8763f5055fd/html5/thumbnails/1.jpg)
page 14/2/06 CSE 30341: Operating Systems Principles
Selecting a Disk-Scheduling Algorithm
SSTF is common and has a natural appealSCAN 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 algorithmif necessary.
Either SSTF or LOOK is a reasonable choice forthe default algorithm.
![Page 2: Selecting a Disk-Scheduling Algorithmsurendar.chandrabrown.org/teach/spr06/cse30341/... · The disk-scheduling algorithm should be written as a separate module of the operating system,](https://reader034.fdocuments.in/reader034/viewer/2022042917/5f598ed046e7c8763f5055fd/html5/thumbnails/2.jpg)
page 24/2/06 CSE 30341: Operating Systems Principles
Disk Management
Low-level formatting, or physical formatting —Dividing a disk into sectors that the disk controllercan read and write.
To use a disk to hold files, the operating systemstill needs to record its own data structures on thedisk. 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 used to handlebad blocks.
![Page 3: Selecting a Disk-Scheduling Algorithmsurendar.chandrabrown.org/teach/spr06/cse30341/... · The disk-scheduling algorithm should be written as a separate module of the operating system,](https://reader034.fdocuments.in/reader034/viewer/2022042917/5f598ed046e7c8763f5055fd/html5/thumbnails/3.jpg)
page 34/2/06 CSE 30341: Operating Systems Principles
Booting from a Disk in Windows 2000
![Page 4: Selecting a Disk-Scheduling Algorithmsurendar.chandrabrown.org/teach/spr06/cse30341/... · The disk-scheduling algorithm should be written as a separate module of the operating system,](https://reader034.fdocuments.in/reader034/viewer/2022042917/5f598ed046e7c8763f5055fd/html5/thumbnails/4.jpg)
page 44/2/06 CSE 30341: Operating Systems Principles
Swap-Space Management
Swap-space — Virtual memory uses disk space asan extension of main memory.
Swap-space can be carved out of the normal filesystem,or, more commonly, it can be in a separatedisk 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 virtualmemory page is first created.
![Page 5: Selecting a Disk-Scheduling Algorithmsurendar.chandrabrown.org/teach/spr06/cse30341/... · The disk-scheduling algorithm should be written as a separate module of the operating system,](https://reader034.fdocuments.in/reader034/viewer/2022042917/5f598ed046e7c8763f5055fd/html5/thumbnails/5.jpg)
page 54/2/06 CSE 30341: Operating Systems Principles
RAID Structure
RAID – multiple disk drives provides reliability viaredundancy.
RAID is arranged into six different levels.
![Page 6: Selecting a Disk-Scheduling Algorithmsurendar.chandrabrown.org/teach/spr06/cse30341/... · The disk-scheduling algorithm should be written as a separate module of the operating system,](https://reader034.fdocuments.in/reader034/viewer/2022042917/5f598ed046e7c8763f5055fd/html5/thumbnails/6.jpg)
page 64/2/06 CSE 30341: Operating Systems Principles
RAID (cont)
Several improvements in disk-use techniquesinvolve the use of multiple disks workingcooperatively.
Disk striping uses a group of disks as one storageunit.
RAID schemes improve performance and improvethe reliability of the storage system by storingredundant data. Mirroring or shadowing keeps duplicate of each disk. Block interleaved parity uses much less redundancy.
![Page 7: Selecting a Disk-Scheduling Algorithmsurendar.chandrabrown.org/teach/spr06/cse30341/... · The disk-scheduling algorithm should be written as a separate module of the operating system,](https://reader034.fdocuments.in/reader034/viewer/2022042917/5f598ed046e7c8763f5055fd/html5/thumbnails/7.jpg)
page 74/2/06 CSE 30341: Operating Systems Principles
RAID Levels
![Page 8: Selecting a Disk-Scheduling Algorithmsurendar.chandrabrown.org/teach/spr06/cse30341/... · The disk-scheduling algorithm should be written as a separate module of the operating system,](https://reader034.fdocuments.in/reader034/viewer/2022042917/5f598ed046e7c8763f5055fd/html5/thumbnails/8.jpg)
page 84/2/06 CSE 30341: Operating Systems Principles
RAID (0 + 1) and (1 + 0)
![Page 9: Selecting a Disk-Scheduling Algorithmsurendar.chandrabrown.org/teach/spr06/cse30341/... · The disk-scheduling algorithm should be written as a separate module of the operating system,](https://reader034.fdocuments.in/reader034/viewer/2022042917/5f598ed046e7c8763f5055fd/html5/thumbnails/9.jpg)
page 94/2/06 CSE 30341: Operating Systems Principles
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 duringdata transfer or recovery.
![Page 10: Selecting a Disk-Scheduling Algorithmsurendar.chandrabrown.org/teach/spr06/cse30341/... · The disk-scheduling algorithm should be written as a separate module of the operating system,](https://reader034.fdocuments.in/reader034/viewer/2022042917/5f598ed046e7c8763f5055fd/html5/thumbnails/10.jpg)
page 104/2/06 CSE 30341: Operating Systems Principles
Chapter 13: I/O Systems - Objectives
Explore the structure of an operating system’s I/Osubsystem
Discuss the principles of I/O hardware and itscomplexity
Provide details of the performance aspects of I/Ohardware and software
![Page 11: Selecting a Disk-Scheduling Algorithmsurendar.chandrabrown.org/teach/spr06/cse30341/... · The disk-scheduling algorithm should be written as a separate module of the operating system,](https://reader034.fdocuments.in/reader034/viewer/2022042917/5f598ed046e7c8763f5055fd/html5/thumbnails/11.jpg)
page 114/2/06 CSE 30341: Operating Systems Principles
I/O Hardware
Incredible variety of I/O devicesCommon concepts
Port Bus (daisy chain or shared direct access) Controller (host adapter)
I/O instructions control devicesDevices have addresses, used by
Direct I/O instructions Memory-mapped I/O
![Page 12: Selecting a Disk-Scheduling Algorithmsurendar.chandrabrown.org/teach/spr06/cse30341/... · The disk-scheduling algorithm should be written as a separate module of the operating system,](https://reader034.fdocuments.in/reader034/viewer/2022042917/5f598ed046e7c8763f5055fd/html5/thumbnails/12.jpg)
page 124/2/06 CSE 30341: Operating Systems Principles
A Typical PC Bus Structure
![Page 13: Selecting a Disk-Scheduling Algorithmsurendar.chandrabrown.org/teach/spr06/cse30341/... · The disk-scheduling algorithm should be written as a separate module of the operating system,](https://reader034.fdocuments.in/reader034/viewer/2022042917/5f598ed046e7c8763f5055fd/html5/thumbnails/13.jpg)
page 134/2/06 CSE 30341: Operating Systems Principles
Polling
Determines state of device command-ready busy Error
Busy-wait cycle to wait for I/O from device
![Page 14: Selecting a Disk-Scheduling Algorithmsurendar.chandrabrown.org/teach/spr06/cse30341/... · The disk-scheduling algorithm should be written as a separate module of the operating system,](https://reader034.fdocuments.in/reader034/viewer/2022042917/5f598ed046e7c8763f5055fd/html5/thumbnails/14.jpg)
page 144/2/06 CSE 30341: Operating Systems Principles
Interrupts
CPU Interrupt-request line triggered by I/Odevice
Interrupt handler receives interrupts
Maskable to ignore or delay some interrupts
Interrupt vector to dispatch interrupt to correcthandler Based on priority Some nonmaskable
Interrupt mechanism also used for exceptions
![Page 15: Selecting a Disk-Scheduling Algorithmsurendar.chandrabrown.org/teach/spr06/cse30341/... · The disk-scheduling algorithm should be written as a separate module of the operating system,](https://reader034.fdocuments.in/reader034/viewer/2022042917/5f598ed046e7c8763f5055fd/html5/thumbnails/15.jpg)
page 154/2/06 CSE 30341: Operating Systems Principles
Interrupt-Driven I/O Cycle
![Page 16: Selecting a Disk-Scheduling Algorithmsurendar.chandrabrown.org/teach/spr06/cse30341/... · The disk-scheduling algorithm should be written as a separate module of the operating system,](https://reader034.fdocuments.in/reader034/viewer/2022042917/5f598ed046e7c8763f5055fd/html5/thumbnails/16.jpg)
page 164/2/06 CSE 30341: Operating Systems Principles
Direct Memory Access
Used to avoid programmed I/O for large datamovement
Requires DMA controller
Bypasses CPU to transfer data directly betweenI/O device and memory
![Page 17: Selecting a Disk-Scheduling Algorithmsurendar.chandrabrown.org/teach/spr06/cse30341/... · The disk-scheduling algorithm should be written as a separate module of the operating system,](https://reader034.fdocuments.in/reader034/viewer/2022042917/5f598ed046e7c8763f5055fd/html5/thumbnails/17.jpg)
page 174/2/06 CSE 30341: Operating Systems Principles
Six Step Process to Perform DMA Transfer
![Page 18: Selecting a Disk-Scheduling Algorithmsurendar.chandrabrown.org/teach/spr06/cse30341/... · The disk-scheduling algorithm should be written as a separate module of the operating system,](https://reader034.fdocuments.in/reader034/viewer/2022042917/5f598ed046e7c8763f5055fd/html5/thumbnails/18.jpg)
page 184/2/06 CSE 30341: Operating Systems Principles
Application I/O Interface
I/O system calls encapsulate device behaviors ingeneric classes
Device-driver layer hides differences among I/Ocontrollers from kernel
Devices vary in many dimensions Character-stream or block Sequential or random-access Sharable or dedicated Speed of operation read-write, read only, or write only
![Page 19: Selecting a Disk-Scheduling Algorithmsurendar.chandrabrown.org/teach/spr06/cse30341/... · The disk-scheduling algorithm should be written as a separate module of the operating system,](https://reader034.fdocuments.in/reader034/viewer/2022042917/5f598ed046e7c8763f5055fd/html5/thumbnails/19.jpg)
page 194/2/06 CSE 30341: Operating Systems Principles
A Kernel I/O Structure
![Page 20: Selecting a Disk-Scheduling Algorithmsurendar.chandrabrown.org/teach/spr06/cse30341/... · The disk-scheduling algorithm should be written as a separate module of the operating system,](https://reader034.fdocuments.in/reader034/viewer/2022042917/5f598ed046e7c8763f5055fd/html5/thumbnails/20.jpg)
page 204/2/06 CSE 30341: Operating Systems Principles
Characteristics of I/O Devices
![Page 21: Selecting a Disk-Scheduling Algorithmsurendar.chandrabrown.org/teach/spr06/cse30341/... · The disk-scheduling algorithm should be written as a separate module of the operating system,](https://reader034.fdocuments.in/reader034/viewer/2022042917/5f598ed046e7c8763f5055fd/html5/thumbnails/21.jpg)
page 214/2/06 CSE 30341: Operating Systems Principles
Block and Character Devices
Block devices include disk drives Commands include read, write, seek Raw I/O or file-system access Memory-mapped file access possible
Character devices include keyboards, mice, serialports Commands include get, put Libraries layered on top allow line editing
![Page 22: Selecting a Disk-Scheduling Algorithmsurendar.chandrabrown.org/teach/spr06/cse30341/... · The disk-scheduling algorithm should be written as a separate module of the operating system,](https://reader034.fdocuments.in/reader034/viewer/2022042917/5f598ed046e7c8763f5055fd/html5/thumbnails/22.jpg)
page 224/2/06 CSE 30341: Operating Systems Principles
Blocking and Nonblocking I/O
Blocking - process suspended until I/O completed Easy to use and understand Insufficient for some needs
Nonblocking - I/O call returns as much asavailable User interface, data copy (buffered I/O) Implemented via multi-threading Returns quickly with count of bytes read or written
Asynchronous - process runs while I/O executes Difficult to use I/O subsystem signals process when I/O completed
![Page 23: Selecting a Disk-Scheduling Algorithmsurendar.chandrabrown.org/teach/spr06/cse30341/... · The disk-scheduling algorithm should be written as a separate module of the operating system,](https://reader034.fdocuments.in/reader034/viewer/2022042917/5f598ed046e7c8763f5055fd/html5/thumbnails/23.jpg)
page 234/2/06 CSE 30341: Operating Systems Principles
Two I/O Methods
Synchronous Asynchronous
![Page 24: Selecting a Disk-Scheduling Algorithmsurendar.chandrabrown.org/teach/spr06/cse30341/... · The disk-scheduling algorithm should be written as a separate module of the operating system,](https://reader034.fdocuments.in/reader034/viewer/2022042917/5f598ed046e7c8763f5055fd/html5/thumbnails/24.jpg)
page 244/2/06 CSE 30341: Operating Systems Principles
Kernel I/O Subsystem
Scheduling Some I/O request ordering via per-device queue Some OSs try fairness
Buffering - store data in memory while transferringbetween devices To cope with device speed mismatch To cope with device transfer size mismatch To maintain “copy semantics”
![Page 25: Selecting a Disk-Scheduling Algorithmsurendar.chandrabrown.org/teach/spr06/cse30341/... · The disk-scheduling algorithm should be written as a separate module of the operating system,](https://reader034.fdocuments.in/reader034/viewer/2022042917/5f598ed046e7c8763f5055fd/html5/thumbnails/25.jpg)
page 254/2/06 CSE 30341: Operating Systems Principles
Kernel I/O Subsystem
Caching - fast memory holding copy of data Always just a copy Key to performance
Spooling - hold output for a device If device can serve only one request at a time i.e., Printing
Device reservation - provides exclusive access toa device System calls for allocation and deallocation Watch out for deadlock
![Page 26: Selecting a Disk-Scheduling Algorithmsurendar.chandrabrown.org/teach/spr06/cse30341/... · The disk-scheduling algorithm should be written as a separate module of the operating system,](https://reader034.fdocuments.in/reader034/viewer/2022042917/5f598ed046e7c8763f5055fd/html5/thumbnails/26.jpg)
page 264/2/06 CSE 30341: Operating Systems Principles
Error Handling
OS can recover from disk read, device unavailable,transient write failures
Most return an error number or code when I/Orequest fails
System error logs hold problem reports
![Page 27: Selecting a Disk-Scheduling Algorithmsurendar.chandrabrown.org/teach/spr06/cse30341/... · The disk-scheduling algorithm should be written as a separate module of the operating system,](https://reader034.fdocuments.in/reader034/viewer/2022042917/5f598ed046e7c8763f5055fd/html5/thumbnails/27.jpg)
page 274/2/06 CSE 30341: Operating Systems Principles
I/O Protection
User process may accidentally or purposefullyattempt to disrupt normal operation via illegal I/Oinstructions All I/O instructions defined to be privileged I/O must be performed via system calls
Memory-mapped and I/O port memory locations must beprotected too
![Page 28: Selecting a Disk-Scheduling Algorithmsurendar.chandrabrown.org/teach/spr06/cse30341/... · The disk-scheduling algorithm should be written as a separate module of the operating system,](https://reader034.fdocuments.in/reader034/viewer/2022042917/5f598ed046e7c8763f5055fd/html5/thumbnails/28.jpg)
page 284/2/06 CSE 30341: Operating Systems Principles
Kernel Data Structures
Kernel keeps state info for I/O components,including open file tables, network connections,character device state
Many, many complex data structures to trackbuffers, memory allocation, “dirty” blocks
Some use object-oriented methods and messagepassing to implement I/O
![Page 29: Selecting a Disk-Scheduling Algorithmsurendar.chandrabrown.org/teach/spr06/cse30341/... · The disk-scheduling algorithm should be written as a separate module of the operating system,](https://reader034.fdocuments.in/reader034/viewer/2022042917/5f598ed046e7c8763f5055fd/html5/thumbnails/29.jpg)
page 294/2/06 CSE 30341: Operating Systems Principles
I/O Requests to Hardware Operations
Consider reading a file from disk for a process:
Determine device holding file Translate name to device representation Physically read data from disk into buffer Make data available to requesting process Return control to process
![Page 30: Selecting a Disk-Scheduling Algorithmsurendar.chandrabrown.org/teach/spr06/cse30341/... · The disk-scheduling algorithm should be written as a separate module of the operating system,](https://reader034.fdocuments.in/reader034/viewer/2022042917/5f598ed046e7c8763f5055fd/html5/thumbnails/30.jpg)
page 304/2/06 CSE 30341: Operating Systems Principles
Improving Performance
Reduce number of context switchesReduce data copyingReduce interrupts by using large transfers, smart
controllers, pollingUse DMABalance CPU, memory, bus, and I/O performance
for highest throughput