Application I/O Interface

Since, as we emphasized before, devices can differ in various aspects (which we also learn in a few slides from now,) the OS strives to create a unified interface for all the devices, and hide the device-specific aspects from user applications.

To achieve that, the operating system implements layers of software and hardware, each of which layers has specific roles and capabilities that differ from those of other layers.

The device drivers layer, which is a part of the OS, deals with device-specific code, while the application layer 'sees' all the devices via a common interface.

The principle of using a unified interface and hiding device-specific details from applications or users is called abstraction, standardization, or transparency.