A kernel structure to show that how a user application sends request to devices which passes to various levels of an operating system. The applications has access to Application Programming Interface (API) which are nothing but function calls. These APIs send request to kernel which passes the request to respective driver for which the user application has generated the request. The driver then sends the information to its device which does the actual process and the response is sent back through the same channel to the user application.
An example of how device drivers interact with applications and hardware.