.. _Device: ************************************************* Device Management ************************************************* .. .. seealso:: .. * `Video Lecture about Device and IO Management `_ Hardware devices typically provide the ability to **input** data into the computer or **output** data from the computer. To simplify the ability to support a variety of hardware devices, standardized application programming interfaces (API) are used. * Application programs use the System Call API to request one of a finite set of preset I/O requests from the Operating System. * The Operating System uses algorithms for processing the request that are device independent. * The Operating System uses another API to request data from the device driver. * The device driver is third party software that knows how to interact with the specific device to perform the I/O. * Sometimes we have a layering of device drivers where one device driver will call on another device driver to facilitate the I/O. An example of this is when devices are connected to a USB port. The driver for the device will make use of the USB device driver to facilitate passing data to and from the device. **Contents:** .. toctree:: :maxdepth: 2 drivers io_wait blocking top_bottom driver_implement buffers