I/O Management in Representative Operating Systems - PowerPoint PPT Presentation

1 / 13
About This Presentation
Title:

I/O Management in Representative Operating Systems

Description:

To read or write to a device, a read or write request is made for a special file ... Noncontiguous disk space combined into one or more logical partitions by the ... – PowerPoint PPT presentation

Number of Views:27
Avg rating:3.0/5.0
Slides: 14
Provided by: marius3
Learn more at: http://www.cs.iit.edu
Category:

less

Transcript and Presenter's Notes

Title: I/O Management in Representative Operating Systems


1
I/O Managementin Representative Operating
Systems

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
UNIX SVR4 I/O Management (cont.)
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
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
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
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
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
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
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
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
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
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
Write a Comment
User Comments (0)
About PowerShow.com