5 questions to test your understanding
A process calls write() to save a file. The call returns successfully. The system then loses power before fsync() is called. What happens to the written data?
Why does DMA (Direct Memory Access) dramatically improve I/O performance compared to programmed I/O?
A bug in a device driver will crash mainly the specific process that was using the device at the time, since drivers handle device-specific operations in isolated user-space processes.
The layered I/O architecture means that adding support for a new storage device requires writing only a new device driver, without modifying the file system, kernel buffering logic, or user-space API.
Explain why DMA is essential for modern I/O performance, and describe what the CPU does while a DMA transfer is in progress.