Answer:
c. User applications usually communicate directly with a device driver.
Explanation:
A software can be defined as a set of executable instructions (codes) or collection of data that is used typically to instruct a computer on how to perform a specific task and solve a particular problem. Thus, it's a computer program or application that comprises of sets of code for performing specific tasks on the system.
The four (4) input-output (I/O) software layers includes the following;
I. Interrupt drivers (handlers): it is responsible for handling interruptions that occur while using a software on a computer system.
II. Device drivers: it controls the input-output (I/O) devices that are connected to a computer system through a wired or wireless connection.
III. Device-independent OS software: it allows for uniform interfacing and buffering for device drivers.
IV. User level software: it provides user programs with a simple user interface to perform input and output functions.
An operating system is a system software pre-installed on a computing device to manage or control software application, computer hardware and user processes.
This ultimately implies that, an operating system acts as an interface or intermediary between the computer end user and the hardware portion of the computer system (computer hardware) in the processing and execution of instructions.
Hence, user (software) applications make a request to the operating system (OS) to use a device and then the operating system (OS) communicates with the device driver.
In conclusion, user applications do not communicate directly with a device driver.