Direct Memory Access

Without DMA, how does data get from a disk device into main memory, and what problem does DMA solve?

A

The CPU polls the device in a busy loop; DMA replaces polling with interrupts

B

The CPU must execute a load instruction for every byte transferred from the device; DMA lets the device write directly to memory without CPU involvement per byte

C

The disk writes directly to the CPU cache; DMA bypasses the cache for faster access

D

The kernel copies data from disk to a temporary buffer in kernel space; DMA eliminates the need for kernel buffers