Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 I/O Management in Representative Operating Systems.

Similar presentations


Presentation on theme: "1 I/O Management in Representative Operating Systems."— Presentation transcript:

1 1 I/O Management in Representative Operating Systems

2 CS-550 (M.Soneru): I/O Management in Representative Operating Systems: [Sta’01] 2 UNIX SVR4 I/O Management Principles –Each I/O device is associated with a special file –Special files are managed by the file system –To read or write to a device, a read or write request is made for a special file associated with the device Types of I/O –Buffered I/O passes through system buffers Types of buffers –System buffer caches –Character queues –Unbuffered Uses the DMA facility: transfer takes place directly between the I/O module and the process I/O area

3 CS-550 (M.Soneru): I/O Management in Representative Operating Systems: [Sta’01] 3 UNIX SVR4 I/O Management (cont.)

4 CS-550 (M.Soneru): I/O Management in Representative Operating Systems: [Sta’01] 4 UNIX SVR4 I/O Management (cont.) Buffer cache –All I/O operations with the disk (block oriented) are handled through the buffer cache –Data transfer between the buffer cache and the user process space uses DMA: memory-to-memory copy –Buffer cache management uses three lists Free List: List of all buffers available for allocation Device List: List of all buffers currently associated with each disk Driver I/O Queue: List of buffers in the process of an I/O or waiting for an I/O on a particular device –Implementation All buffers are either on the free list or on the driver I/O queue list No physically separate lists: a list is maintained as pointers associated with each buffer Each buffer is associated with a device and remains associated with that device even on the free list, until reused and associated with another device

5 CS-550 (M.Soneru): I/O Management in Representative Operating Systems: [Sta’01] 5 UNIX SVR4 I/O Management (cont.) Buffer cache (cont.) –Operation Uses the readers/writers model: may be read multiple times On a reference to physical block X on device Y, the OS first checks if the block is in the buffer cache It searches the Device List for block X on device Y If entry exists, it contains a pointer to the first buffer in the chain Block replacement uses a least-recently-used algorithm: the free list maintains the least-recently-used order Character queue –Used for character-oriented devices (e.g., terminals, printers) –A character queue is either written by the process and read by the I/O device or written by device and read by the process –Producer-consumer model is used: a character, one read, is destroyed

6 CS-550 (M.Soneru): I/O Management in Representative Operating Systems: [Sta’01] 6 UNIX SVR4 I/O Management (cont.) Unbuffered I/O –Fastest I/O, uses DMA between the process space and the device space –Operation Process performing unbuffered I/O is locked in main memory and cannot be swapped out I/O device performing unbuffered I/O is assigned to the process for the duration of the transfer Types of devices and the buffering used for each –Disk drives: unbuffered I/O or buffer cache –Tape drives: unbuffered I/O or buffer cache –Terminals: character queue –Communication lines: character queue –Printers: unbuffered I/O or character queue

7 CS-550 (M.Soneru): I/O Management in Representative Operating Systems: [Sta’01] 7 Windows 2000 I/O Management I/O manager –Responsible for all I/O for the OS –Provides uniform interface that all types of drivers can call

8 CS-550 (M.Soneru): I/O Management in Representative Operating Systems: [Sta’01] 8 Windows 2000 I/O Management (cont.) Cache manager –Provides caching service in main memory for the entire I/O subsystem, serving file systems and network components –It manages the size of the cache for each activity –Provides two services to improve system performance Lazy write –Writes done in the cache only and not on disk –When processor utilization is low, cache manager writes changes to disk Lazy commit –Similar to lazy write for transaction processing –Committed information is written in cache only –Background process writes information to the file system log at a later time

9 CS-550 (M.Soneru): I/O Management in Representative Operating Systems: [Sta’01] 9 Windows 2000 I/O Management (cont.) File system drivers –Treated like any other device driver –Messages for certain volumes routed to the appropriate software driver for that device adapter Network drivers –Integrated networking capabilities –Support for distributed applications Hardware device drivers –Access the hardware registers of peripheral devices through entry points in the Executive dynamic link libraries –A set of such routines exists for every platform supported by W2K: routine names are the same for all platforms –Device drivers portable across different platforms

10 CS-550 (M.Soneru): I/O Management in Representative Operating Systems: [Sta’01] 10 Windows 2000 I/O Management (cont.) Asynchronous and synchronous I/O –Asynchronous mode Optimum application performance Application initiates I/O operation and the calling thread continues execution while the I/O operation is queued by the I/O manager and then performed Application needs to be notified when operation is complete –Synchronous mode Application is blocked until the I/O operation completes –Methods for signaling I/O completion for the asynchronous mode Signaling a device kernel object Signaling an event kernel object Alertable I/O I/O completion ports

11 CS-550 (M.Soneru): I/O Management in Representative Operating Systems: [Sta’01] 11 Windows 2000 I/O Management (cont.) Methods for signaling I/O completion for the asynchronous mode –Signaling a device kernel object Indicator associated with a device object is set when an operation on that object is complete The thread that invoked the I/O operation continues execution and then checks the indicator when it needs the outcome of the I/O operation Method is not appropriate for handling multiple requests on the same device (e.g., multiple actions on a single file) –Signaling an event kernel object Thread creates event for each request Thread can then wait on a single or multiple requests Method is appropriate for handling multiple simultaneous I/O requests on a single device or file

12 CS-550 (M.Soneru): I/O Management in Representative Operating Systems: [Sta’01] 12 Windows 2000 I/O Management (cont.) Methods for signaling I/O completion for the asynchronous mode (cont.) –Alertable I/O Uses an Asynchronous Procedure Call (APC) queue associated with the thread The thread I/O requests and the I/O manager places the results in the APC queue for that thread –I/O completion ports Used on the W2K server to optimize the use of threads A pool of threads is available for use: no need to create a new thread for each new request

13 CS-550 (M.Soneru): I/O Management in Representative Operating Systems: [Sta’01] 13 Windows 2000 I/O Management (cont.) Redundant Array of Independent Disks (RAID) support –Hardware RAID Separate physical disks combined into one or more logical disks by the disk controller Controller interface responsible for the creation and regeneration of redundant information –Software RAID Noncontiguous disk space combined into one or more logical partitions by the fault-tolerant software disk driver Implemented by the OS and available on the server with any set of multiple disks


Download ppt "1 I/O Management in Representative Operating Systems."

Similar presentations


Ads by Google