![]() The application calls a function implemented by the operating system, and the operating system calls a function implemented by the driver. The driver, which was written by the same company that designed and manufactured the device, knows how to communicate with the device hardware to get the data. Our explanation so far is oversimplified in several ways: After the driver gets the data from the device, it returns the data to the operating system, which returns it to the application. Not all drivers have to be written by the company that designed the device. In many cases, a device is designed according to a published hardware standard. Therefore, the driver can be written by Microsoft and the device designer doesn't have to provide a driver. ![]() ![]() Not all drivers communicate directly with a device.įor a given I/O request (like reading data from a device), there are often several drivers layered in a driver stack that participate in the request. The conventional way to visualize the stack is with the first participant at the top and the last participant at the bottom, as shown in this diagram. Some of the drivers in the stack might participate by transforming the request from one format to another. These drivers don't communicate directly with the device they just manipulate the request and pass the request along to drivers that are lower in the stack.įunction driver: The one driver in the stack that communicates directly with the device is called the function driver.įilter driver: The drivers that perform auxiliary processing are called filter drivers.įor more information on stacks, see Driver stacks.
0 Comments
Leave a Reply.AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |