The Device Management controls every piece of hardware and virtual device on a computer. The OS use the concept of drivers to establish a connection between these devices with the system.
Functions of Device Management:
- Keeps track of all devices and the programs using the device. This is called the I/O controller.
- Monitors the status of each device such as storage drivers, printers, and other peripheral devices.
- Enforces preset policies and decision making on which process gets the device when for how long.
- Allocates and deallocates devices efficiently
There are three types of device management:
- Boot device: It stores information in a fixed-size block, each one with its own address. Example, disks.
- Character device: It delivers or accepts a stream of characters. The individual characters are not addressable. For example, printers and keyboards.
- Network device: Responsible for transmitting data packets.
Types of devices
Dedicated Device
Certain devices are assigned to only one task at a time in device management until that task releases them. Plotters, printers, tape drives, and other similar devices require this kind of allocation method because sharing them with numerous users at the same time will be inconvenient. The drawback of these devices is the inefficiency that results from assigning the device to a single user throughout the entirety of the task execution process, even in cases when the device is not utilized exclusively.
Shared Device
There are numerous processes that these devices could be assigned to. Disk-DASD could be shared concurrently by many processes by interleaving their requests. All issues must be resolved by pre-established policies, and the Device Manager closely monitors the interleaving.
Virtual Device
Virtual devices are dedicated devices that have been converted into shared devices, making them a hybrid of the two types of devices. For instance, a spooling programme that routes all print requests to a disc can turn a printer into a sharing device. A print job is routed to the disc and not delivered straight to the printer until it is ready with all the necessary formatting and sequencing, at which time it is sent to the printers. The method can increase usability and performance by turning a single printer into a number of virtual printers.
Techniques for accessing a device
- Polling: The CPU keeps an eye on the status of the device to data with. When an input/output operation is needed, the computer keeps track of the I/O device’s status until it’s ready.
- Interrupt-driven I/O: The device controller notifies the associated driver of the device’s availability. One interrupt for each keyboard input results in slower data copying and movement for character devices, but the advantages include more effective use of CPU cycles.
- Direct Memory Access (DMA): DMA is the process of transferring data using a second controller without CPU usage. However, it has a drawback of preventing data access from a process that is in transit.
- Double Buffering: This mode of access has two buffers. One fills up while the other is utilized, and vice versa. In order to hide the line-by-line scanning from the viewer, this technique is frequently employed in animation and graphics.
Device Driver
Device Drivers enable different hardware devices to communicate with the computer’s OS. A device driver communicates with the computer hardware by computer subsystem or computer bus connected to the hardware.

Types of Device Driver:
- Kernel-mode Device Driver: The Kernel-mode device driver includes some generic hardware that loads with the operating system as part of the OS. These are BIOS, motherboard, processor, and some other hardware that are part of kernel software. It includes the minimum system requirement device drivers for each operating system.
- User-mode Device Driver: This driver is used for devices brought by the user such as keyboard, mouses, and monitors.
- Virtual Device Driver: Used by software components that simulate hardware devices such as VMs, and virtual audio cables.