1 Device Management System Devices Sequential Access Storage Media Direct Access Storage Devices Components of I/O Subsystem Communication Among Devices.

Slides:



Advertisements
Similar presentations
I/O Management and Disk Scheduling
Advertisements

I/O Management and Disk Scheduling
I/O Management and Disk Scheduling
Secondary Storage Rohit Khokher
Device Management Ankur Saggar Nitin Golait Jason Foos Adam Estabrook.
Chapter Seven : Device Management
Accessing I/O Devices Processor Memory BUS I/O Device 1 I/O Device 2.
Device Management System Devices Sequential Access Storage Media
Device Management Part 1: I/O System.
Section 5a Types of Storage Devices.
Faculty of Information Technology Department of Computer Science Computer Organization and Assembly Language Chapter 6 External Memory.
OPERATING SYSTEMS CS3530 Summer 2014 OPERATING SYSTEMS CS3530 Summer 2014 Input/Output System Chapter 9.
Input/Output Management and Disk Scheduling
Data Storage Lecture 3 CSCI 1405, CSCI 1301 Introduction to Computer Science Fall 2009.
1 File Systems Chapter Files 6.2 Directories 6.3 File system implementation 6.4 Example file systems.
Lecture 17 I/O Optimization. Disk Organization Tracks: concentric rings around disk surface Sectors: arc of track, minimum unit of transfer Cylinder:
1 Chapter 6 Storage and Multimedia: The Facts and More.
Disk Drivers May 10, 2000 Instructor: Gary Kimura.
Based on the slides supporting the text
I/O Hardware n Incredible variety of I/O devices n Common concepts: – Port – connection point to the computer – Bus (daisy chain or shared direct access)
1 Storage Hierarchy Cache Main Memory Virtual Memory File System Tertiary Storage Programs DBMS Capacity & Cost Secondary Storage.
Chapter 1 and 2 Computer System and Operating System Overview
Disks.
Device Management.
Computer Organization and Architecture
Secondary Storage CSCI 444/544 Operating Systems Fall 2008.
04/21/2004CSCI 315 Operating Systems Design1 Disk Scheduling.
1 Today I/O Systems Storage. 2 I/O Devices Many different kinds of I/O devices Software that controls them: device drivers.
Secondary Storage Management Hank Levy. 8/7/20152 Secondary Storage • Secondary Storage is usually: –anything outside of “primary memory” –storage that.
12.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition Chapter 12: Mass-Storage Systems.
Chapter 7 Device Management
Understanding Operating Systems Fifth Edition
Device Management. So far… We have covered CPU and memory management Computing is not interesting without I/Os Device management: the OS component that.
L/O/G/O External Memory Chapter 3 (C) CS.216 Computer Architecture and Organization.
1 Lecture 8: Secondary-Storage Structure 2 Disk Architecture Cylinder Track SectorDisk head rpm.
Chapter 11 I/O Management and Disk Scheduling Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and.
Understanding Operating Systems 1 Chapter Seven : Device Management System Devices Sequential Access Storage Media Direct Access Storage Devices Components.
1 Computer System Overview Chapter 1. 2 n An Operating System makes the computing power available to users by controlling the hardware n Let us review.
Disk Structure Disk drives are addressed as large one- dimensional arrays of logical blocks, where the logical block is the smallest unit of transfer.
1 I/O Management and Disk Scheduling Chapter Categories of I/O Devices Human readable Used to communicate with the user Printers Video display terminals.
1 IO Management and Disk Scheduling Chapter Categories of I/O Devices n Human readable u used to communicate with the user u video display terminals.
1 I/O Management and Disk Scheduling Chapter
Chapter 7 Device Management
CS 6502 Operating Systems Dr. J.. Garrido Device Management (Lecture 7b) CS5002 Operating Systems Dr. Jose M. Garrido.
CE Operating Systems Lecture 20 Disk I/O. Overview of lecture In this lecture we will look at: Disk Structure Disk Scheduling Disk Management Swap-Space.
I/O Management and Disk Structure Introduction to Operating Systems: Module 14.
Disks Chapter 5 Thursday, April 5, Today’s Schedule Input/Output – Disks (Chapter 5.4)  Magnetic vs. Optical Disks  RAID levels and functions.
1 I/O Management and Disk Scheduling Chapter Categories of I/O Devices Human readable –Used to communicate with the user –Printers –Video display.
O VERVIEW OF M ASS S TORAGE S TRUCTURE Magnetic disks provide bulk of secondary storage of modern computers Drives rotate at 60 to 250 times per second.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 4 Computer Systems Review.
Chapter 12: Mass-Storage Systems
1 Lecture 1: Computer System Structures We go over the aspects of computer architecture relevant to OS design  overview  input and output (I/O) organization.
Device Management Mark Stanovich Operating Systems COP 4610.
Chapter 9 I/O System. 2 Input/Output System I/O Major objectives are: Take an application I/O request and send it to the physical device. Then, take whatever.
Chapter 11 I/O Management and Disk Scheduling Dave Bremer Otago Polytechnic, NZ ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
1 Chapter 11 I/O Management and Disk Scheduling Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and.
Chapter 10: Mass-Storage Systems
I/O System Chapter 5 Designed by .VAS.
Operating Systems Disk Scheduling A. Frank - P. Weisberg.
OPERATING SYSTEMS CS 3502 Fall 2017
Operating System I/O System Monday, August 11, 2008.
Device Management.
Device Management Damian Gordon.
Overview Continuation from Monday (File system implementation)
Disks and scheduling algorithms
Persistence: hard disk drive
Chapter 11 I/O Management and Disk Scheduling
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Disks Magnetic (hard) Disk arrays are used for reliable storage (RAID)
Presentation transcript:

1 Device Management System Devices Sequential Access Storage Media Direct Access Storage Devices Components of I/O Subsystem Communication Among Devices Management of I/O Requests Paper Storage Media Magnetic Tape Storage Magnetic Disk Storage Optical Disc Storage

2 Device Management Functions Track status of each device (such as tape drives, disk drives, printers, plotters, and terminals). Use preset policies to determine which process will get a device and for how long. Allocate the devices. Deallocate the devices at 2 levels: –At process level when I/O command has been executed & device is temporarily released – At job level when job is finished & device is permanently released.

3 System Devices Differences among system’s peripheral devices are a function of characteristics of devices, and how well they’re managed by the Device Manager. Most important differences among devices –Speeds –Degree of sharability. By minimizing variances among devices, a system’s overall efficiency can be dramatically improved.

4 Dedicated Devices Assigned to only one job at a time and serve that job for entire time it’s active. –E.g., tape drives, printers, and plotters, demand this kind of allocation scheme, because it would be awkward to share. Disadvantage -- must be allocated to a single user for duration of a job’s execution. –Can be quite inefficient, especially when device isn’t used 100 % of time.

5 Shared Devices Assigned to several processes. –E.g., disk pack (or other direct access storage device) can be shared by several processes at same time by interleaving their requests. Interleaving must be carefully controlled by Device Manager. All conflicts must be resolved based on predetermined policies to decide which request will be handled first.

6 Virtual Devices Combination of dedicated devices that have been transformed into shared devices. –E.g, printers are converted into sharable devices through a spooling program that reroutes all print requests to a disk. –Output sent to printer for printing only when all of a job’s output is complete and printer is ready to print out entire document. –Because disks are sharable devices, this technique can convert one printer into several “virtual” printers, thus improving both its performance and use.

7 Sequential Access Storage Media Magnetic tape used for secondary storage on early computer systems; now used for routine archiving & storing back-up data. Records on magnetic tapes are stored serially, one after other. Each record can be of any length. –Length is usually determined by the application program. Each record can be identified by its position on the tape. To access a single record, tape is mounted & “fast- forwarded” from its beginning until locate desired position.

8 Magnetic Tapes Data is recorded on 8 parallel tracks that run length of tape. Ninth track holds parity bit used for routine error checking. Number of characters that can be recorded per inch is determined by density of tape (e.g., 1600 or 6250 bpi). Parity Characters

9 Storing Records on Magnetic Tapes Can store records individually or grouped into blocks. –If individually, each record is separated by a space to indicate its starting and ending places. –If blocks, then entire block is preceded by a space and followed by a space, but individual records are stored sequentially within block. Interrecord gap (IRG) is gap between records about 1 / 2 inch long regardless of the sizes of the records it separates. Interblock gap (IBG) the gap between blocks of records; still 1 / 2 inch long.

10 Pros & Cons of Blocking Fewer I/O operations are needed because a single READ command can move an entire block (physical record that includes several logical records) into main memory. Less tape is wasted because size of physical record exceeds size of gap. Overhead and software routines are needed for blocking, deblocking, and record keeping. Buffer space may be wasted if you need only one logical record but must read an entire block to get it.

11 Transfer Rates & Speeds Block size set to take advantage of transfer rate. Transfer rate -- density of the tape, multiplied by the tape transport speed (speed of the tape) transfer rate = density * transport speed If transport speed is 200 inches per second, at 1600 bpi, a total of 320,000 bytes can be transferred in one second, –Theoretically optimal size of a block is 320,000 bytes. –Buffer must be equivalent.

12 Magnetic Tape Access Times Vary Widely BenchmarksAccess time Maximum access 2.5 minutes Average access 1.25 minutes Sequential access 3 milliseconds Variability makes magnetic tape a poor medium for routine secondary storage except for files with very high sequential activity.

13 Direct Access Storage Devices (Random Access Storage Devices) Direct access storage devices (DASDs)-- any devices that can directly read or write to a specific place on a disk. Two major categories: DASD with fixed read/write heads DASD with movable read/write heads. Although variance in DASD access times isn’t as wide as with magnetic tape, location of specific record still has a direct effect on amount of time required to access it.

14 Fixed-Head Drums Magnetically recordable drums. Resembles a giant coffee can covered with magnetic film and formatted so the tracks run around it. Data is recorded serially on each track by the read/write head positioned over it. Fixed-head drums were very fast but also very expensive, and they did not hold as much data as other DASDs.

15 Fixed Head Disks Fixed-head disks -- each disk looks like a phonograph album. Covered with magnetic film that has been formatted, usually on both sides, into concentric circles. Each circle is a track. Data is recorded serially on each track by the fixed read/write head positioned over it. One head for each track. Rotation

16 Pros & Cons of Fixed Head Disks Very fast—faster than movable-head disks. High cost. Reduced storage space compared to a moveable-head disk –because tracks must be positioned farther apart to accommodate width of the read/write heads.

17 Movable-Head Drums and Disks Movable-head drums have only a few read/write heads that move from track to track to cover entire surface of drum. –Least expensive device has only 1 read/write head for entire drum –More conventional design has several read/write heads that move together. One read/write head that floats over the surface of the disk. Disks can be individual units (used with many PCs) or part of a disk pack (a stack of disks).

18 Cylinders It’s slower to fill a disk pack surface-by-surface than to fill it up track-by-track. If fill Track 0 of all surfaces, got virtual cylinder of data. –Are as many cylinders as there are tracks. –Cylinders are as tall as the disk pack. To access any given record, system needs: –Cylinder number, so arm can move read/write heads to it. –Surface number, so proper read/write head is activated. –Record number, so read/write head know when to begin reading or writing.

19 Optical Disc Storage (CD-ROM) Optical disc drives uses a laser beam to read and write to multi-layered discs. Optical disc drives work in a manner similar to a magnetic disk drive. –Head on an arm that moves forward and backward across the disc. Uses a high-intensity laser beam to burn pits (indentations) and lands (flat areas) in disc to represent ones and zeros, respectively.

20 Concentric Tracks vs. Spiraling Tracks Magnetic disk consists of concentric tracks of sectors and it spins at a constant speed (constant angular velocity). –Because sectors at outside of disk spin faster past read/write head than inner sectors, outside sectors are much larger than sectors located near center of disk. An optical disc consists of a single spiraling track of same- sized sectors running from center to rim of disc. –Allows many more sectors & much more data to fit on optical disc compared to magnetic disk of same size.

21 Measures of Performance for Optical Disc Drives Sustained data-transfer rate -- speed at which massive amounts of data can be read from disc. –Measured in bytes per second (such as Mbps). –Crucial for applications requiring sequential access. Average access time -- average time required to move head to a specific place on disc. –Expressed in milliseconds (ms). Cache size -- hardware cache acts as a buffer by transferring blocks of data from the disc –Anticipates user may want to reread some recently retrieved info. – Act as read-ahead buffer, looking for next block of info on disc.

22 CD-ROM Technology CD-ROM -- first commonly used optical storage DASD. Stores very large databases, reference works, complex games, large software packages, system documentation, and user training material. CD-ROM jukeboxes (autochangers or libraries) are capable of handling multiple discs and networked to distribute multimedia and reference works to distant user.

23 CD-Recordable Technology (CD-R) CD-R drives record data on optical discs using a write- once technique. WORM (write once, read many). Only a finite amount of data can be recorded on each disc and, once data is written, it can’t be erased or modified. It has an extremely long shelf life.

24 CD-Rewritable Technology (CD-RW) CD-RW drives can read a standard CD-ROM, CD-R and CD-RW discs. CD-RW discs can be written and rewritten many times by focusing a low-energy laser beam on surface, heating media just enough to erase pits that store data and restoring recordable media to its original state. Useful for storing large quantities of data and for sound, graphics, and multimedia applications.

25 Digital Video Disc (DVD) Techonolgy DVD uses infrared laser to read disc (holds equivalent of 13 CD-ROM discs). By using compression technologies, has more than enough space to hold a 2-hour of movie with enhanced audio. –Single layered DVDs can hold 4.7 GB –Double-layered disc can hold 8.5 GB on each side of the disc. DVDs are used to store music, movies, and multimedia applications. DVD-RAM is a writable technology that uses a red laser to read, modify, and write data to DVD discs.

26 Three Factors Contribute To Time Required To Access a File Seek time -- time required to position the read/write head on the proper track. (Doesn’t apply to devices with fixed read/write heads.) –Slowest of the three factors Search time (rotational delay) -- time it takes to rotate DASD until requested record is under read/write head. Transfer time -- when data is actually transferred from secondary storage to main memory. –Fastest.

27 Access Time For Fixed-Head Devices Fixed-head devices can access a record by knowing its track number and record number. Total amount of time required to access data depends on: –Rotational speed is constant within each device (although it varies from device to device) –Position of record relative to position of the read/write head. search time (rotational delay) +transfer time (data transfer) access time

28 Example of Access Time For Fixed-Head Devices How long will it take to access a record? Typically, one complete revolution takes 16.8 ms, so average rotational delay is 8.4 ms. Data transfer time varies from device to device, but a typical value is ms per byte –size of record dictates this value. For example, it takes ms (almost 0.1 ms) to transfer a record with 100 bytes.

29 Access Time For Movable-Head Devices Movable-head DASDs adds time required to move arm into position over the proper track (seek time). seek time (arm movement) search time (rotational delay) +transfer time (data transfer) access time Seek time is the longest and several strategies have been developed to minimize it.

30 Components of the I/O Subsystem CPU Channel 1 Control Unit 1 Channel 2 Control Unit 2 Control Unit 3 Control Unit 4 Disk 1 Disk 2 Disk 3 Tape 1 Tape 2 Tape 3 Tape 4 Disk 4 Disk 5

31 I/O Subsystem : I/O Channel I/O Channel -- keeps up with I/O requests from CPU and pass them down the line to appropriate control unit. –Programmable units placed between CPU and control unit. –Synchronize fast speed of CPU with slow speed of the I/O device. –Make it possible to overlap I/O operations with processor operations so the CPU and I/O can process concurrently. Use channel programs that specifies action to be performed by devices & controls transmission of data between main memory & control units. Entire path must be available when an I/O command is initiated.

32 I/O Subsystem : I/O Control Unit I/O control unit interprets signal sent by channel. –One signal for each function. At start of I/O command, info passed from CPU to channel: –I/O command (READ, WRITE, REWIND, etc.) –Channel number –Address of physical record to be transferred (from or to secondary storage) –Starting address of a memory buffer from which or into which record is to be transferred

33 Device Manager Must Know which components are busy and which are free. Be able to accommodate requests that come in during heavy I/O traffic. Accommodate disparity of speeds between CPU and I/O devices. Handled by “buffering” records & queueing requests Solved by structuring interaction between units

34 Communication Among Devices Each unit in I/O subsystem can finish its operation independently from others. CPU is free to process data while I/O is being performed, which allows for concurrent processing and I/O. Success of operation depends on system’s ability to know when device has completed operation. –Uses a hardware flag that must be tested by CPU.

35 Hardware Flag Used To Communicate When A Device Has Completed An Operation Composed made up of three bits. –Each bit represents a component of I/O subsystem. –One each for channel, control unit, and device. Resides in the Channel Status Word (CSW) –In a predefined location in main memory and contains info indicating status of channel. Each bit is changed from zero to one to indicate that unit has changed from free to busy.

36 Testing the Flag : Polling or Interrupts Polling uses a special machine instruction to test flag. –CPU periodically tests the channel status bit (in CSW). Major disadvantage with this scheme is determining how often the flag should be polled. –If polling is done too frequently, CPU wastes time testing flag just to find out that channel is still busy. –If polling is done too seldom, channel could sit idle for long periods of time.

37 Interrupts Use of interrupts is a more efficient way to test flag. Hardware mechanism does test as part of every machine instruction executed by CPU. If channel is busy flag is set so that execution of current sequence of instructions is automatically interrupted. Control is transferred to interrupt handler, which resides in a predefined location in memory. Some sophisticated systems are equipped with hardware that can distinguish between several types of interrupts.

38 Direct Memory Access (DMA) I/O technique that allows a control unit to access main memory directly. Once reading or writing begins, remainder of data can be transferred to and from memory without CPU intervention. To activate this process CPU sends enough info to control unit to initiate transfer of data Then CPU goes to another task while control unit completes transfer independently. This mode of data transfer is used for high-speed devices such as disks.

39 Buffers Buffers are temporary storage areas residing in convenient locations throughout system: main memory, channels, and control units. Used extensively to better synchronize movement of data between relatively slow I/O devices & very fast CPU. Double buffering --2 buffers are present in main memory, channels, and control units. –While one record is being processed by CPU another can be read or written by channel

40 Management of I/O Requests Device Manager divides task into 3 parts, with each handled by specific software component of I/O subsystem. I/O traffic controller watches status of all devices, control units, and channels. I/O scheduler implements policies that determine allocation of, and access to, devices, control units, and channels. I/O device handler performs actual transfer of data and processes the device interrupts.

41 I/O Traffic Controller Monitors status of every device, control unit, and channel. –Becomes more complex as number of units in I/O subsystem increases and as number of paths between these units increases. Three main tasks: (1) it must determine if there’s at least 1 path available; (2) if there’s more than 1 path available, it must determine which to select; and (3) if paths are all busy, it must determine when one will become available. Maintains a database containing status and connections for each unit in I/O subsystem, grouped into Channel Control Blocks, Control Unit Control Blocks, and Device Control Blocks.

42 Traffic Controller Maintains Database For Each Unit In I/O Subsystem

43 I/O Scheduler I/O scheduler performs same job as Process Scheduler-- it allocates the devices, control units, and channels. Under heavy loads, when # requests > # available paths, I/O scheduler must decide which request satisfied first. I/O requests are not preempted: once channel program has started, it’s allowed to continue to completion even though I/O requests with higher priorities may have entered queue. –Feasible because programs are relatively short (50 to 100 ms).

44 I/O Scheduler - 2 Some systems allow I/O scheduler to give preferential treatment to I/O requests from “high-priority” programs. –If a process has high priority then its I/O requests also has high priority and is satisfied before other I/O requests with lower priorities. I/O scheduler must synchronize its work with traffic controller to make sure that a path is available to satisfy selected I/O requests.

45 I/O Device Handler I/O device handler processes the I/O interrupts, handles error conditions, and provides detailed scheduling algorithms, which are extremely device dependent. Each type of I/O device has own device handler algorithm. –first come first served (FCFS) –shortest seek time first (SSTF) –SCAN (including LOOK, N-Step SCAN, C-SCAN, and C-LOOK) Every scheduling algorithm should : –Minimize arm movement –Minimize mean response time –Minimize variance in response time

46 First Come First Served (FCFS) Device Scheduling Algorithm Simplest device-scheduling algorithm: Easy to program and essentially fair to users. On average, it doesn’t meet any of the three goals of a seek strategy. Remember, seek time is most time-consuming of functions performed here, so any algorithm that can minimize it is preferable to FCFS.

47 Shortest Seek Time First (SSTF) Device Scheduling Algorithm Uses same underlying philosophy as shortest job next where shortest jobs are processed first & longer jobs wait. Request with track closest to one being served (that is, one with shortest distance to travel) is next to be satisfied. Minimizes overall seek time. Favors easy-to-reach requests and postpones traveling to those that are out of way.

48 SCAN Device Scheduling Algorithm SCAN uses a directional bit to indicate whether the arm is moving toward the center of the disk or away from it. Algorithm moves arm methodically from outer to inner track servicing every request in its path. When it reaches innermost track it reverses direction and moves toward outer tracks, again servicing every request in its path.

49 LOOK (Elevator Algorithm) : A Variation of SCAN Arm doesn’t necessarily go all the way to either edge unless there are requests there. “Looks” ahead for a request before going to service it. Eliminates possibility of indefinite postponement of requests in out-of-the-way places—at either edge of disk. As requests arrive each is incorporated in its proper place in queue and serviced when the arm reaches that track.

50 Other Variations of SCAN N-Step SCAN -- holds all requests until arm starts on way back. New requests are grouped together for next sweep. C-SCAN (Circular SCAN) -- arm picks up requests on its path during inward sweep. –When innermost track has been reached returns to outermost track and starts servicing requests that arrived during last inward sweep. –Provides a more uniform wait time. C-LOOK (optimization of C-SCAN) --sweep inward stops at last high-numbered track request, so arm doesn’t move all the way to last track unless it’s required to do so. – Arm doesn’t necessarily return to the lowest-numbered track; it returns only to the lowest-numbered track that’s requested.

51 Which Device Scheduling Algorithm? FCFS works well with light loads, but as soon as load grows, service time becomes unacceptably long. SSTF is quite popular and intuitively appealing. It works well with moderate loads but has problem of localization under heavy loads. SCAN works well with light to moderate loads and eliminates problem of indefinite postponement. SCAN is similar to SSTF in throughput and mean service times. C-SCAN works well with moderate to heavy loads and has a very small variance in service times.

52 Search Strategies: Rotational Ordering Rotational ordering -- optimizes search times by ordering requests once read/write heads have been positioned. –Nothing can be done to improve time spent moving read/write head because it’s dependent on hardware. Amount of time wasted due to rotational delay can be reduced. –If requests are ordered within each track so that first sector requested on second track is next number higher than one just served, rotational delay is minimized.

53 Redundant Array of Inexpensive Disks (RAID) RAID is a set of physical disk drives that is viewed as a single logical unit by OS. RAID assumes several smaller-capacity disk drives preferable to few large-capacity disk drives because, by distributing data among several smaller disks, system can simultaneously access requested data from multiple drives. System shows improved I/O performance and improved data recovery in event of disk failure.

54 RAID -2 RAID introduces much-needed concept of redundancy to help systems recover from hardware failure. Also requires more disk drives which increase hardware costs.

55 Six standard levels of RAID fall into 4 categories. Each offers a unique combination of advantages.