Questions: Device Drivers and I/O Controllers

5 questions to test your understanding

Score: 0 / 5
Question 1 Multiple Choice

A user program calls read() on a network socket. Which of the following best describes what happens next?

AThe program directly accesses the network hardware through memory-mapped registers
BThe OS filesystem layer handles the request identically to a disk read
CThe request passes through the network driver, which translates it into hardware-specific register commands; the controller operates independently and raises an interrupt on completion
DThe controller runs the driver code to translate the high-level read into hardware commands
Question 2 Multiple Choice

Why are device driver bugs particularly dangerous compared to bugs in ordinary application code?

ADrivers run in user space with elevated permissions, allowing them to bypass file system checks
BDrivers run in kernel space with full hardware access, so a crash or memory corruption in a driver corrupts the entire OS
CDrivers interact directly with user data, making bugs a privacy risk rather than a stability risk
DDriver bugs are no more dangerous than application bugs — the OS isolates all processes equally
Question 3 True / False

A device controller is a piece of hardware that manages a physical device; a device driver is the kernel software that communicates with that controller.

TTrue
FFalse
Question 4 True / False

Device drivers provide a uniform interface so that most hardware device is accessed through the same kernel API, meaning most drivers implement identical logic internally.

TTrue
FFalse
Question 5 Short Answer

Explain why the abstraction provided by device drivers matters for the rest of the operating system and for user programs.

Think about your answer, then reveal below.