I/O Systems

I/O device control has always been problem for OS designers because of the many different types of devices(mouse, disk, monitor, etc)

Kernel I/O Subsystem

two trends:

Basic concepts

Processor to controller communications (I/O Port)

Transparent I/O ops for applications

Device drivers in a layered system
                |----------------|
                |  Application   |
                |----------------|
                |     Kernel     |
                |----------------|
                | Kernel I/O sub |
                |----------------|
                |  Device Driver |
                |----------------|
                |   Controller   |
                |----------------|
                |     Device     |
                |----------------|
Issues
char or block
sequential or random access
synch or asynch
fast or slow
sharable or dedicated
read or write or both
blocking or non-block

Performance
scheduling
buffering - speed mismatch, size mismatch, copy semantics
caching vs buffering
spooling

Main Performance Issues
reduce context switches
reduce copying
reduce interupts (large blocks, polling)
increase concurrancy (DMA, I/O primatives to h/w)
balance overall performance






Index Previous Next

Copyright ©2017, G. Hill Price
Send comments to G. Hill Price