4. DEVICE I/O MANAGEMENT

4.1. I/O Software layers

I/O software is often organized in the following layers −

  • User Level Libraries − This provides simple interface to the user program to perform input and output. For example, stdio is a library provided by C and C++ programming languages.

  • Kernel Level Modules − This provides device driver to interact with the device controller and device independent I/O modules used by the device drivers.

  • Hardware − This layer includes actual hardware and hardware controller which interact with the device drivers and makes hardware alive.