It is asynchronous if it only initiates the operation and lets the process continue execution while the device performs the operation. The arguments for and against these two kinds of primitives are similar to the ones we saw in interprocess communication. Synchronous communication is normally preferred because of its ease of use. A process refers to a device through a device descriptor . This descriptor needs to be bound to an actual device.
Early binding is efficient whereas late binding is flexible.
An operating system often provides pseudo devices that are built on top of actual devices. For instance most operating systems provide files, which are pseudo devices built on top of a disk. When pseudo devices are provided, device descriptors refer to both actual and pseudo devices. Independent Another issue is whether a general set of primitives be provided that may be used for all devices or if each device should be associated with its own set of primitives. Its disadvantage is that a general set of primitives may not fit the needs of a current or future device.