Direct memory access (DMA) allows hardware devices to access system memory independently of the CPU. It is managed by a DMA controller which configures data transfers between memory and devices like disk controllers and network cards. This improves performance by enabling transfers without CPU involvement. DMA modes include register, counter, and burst. It speeds up memory operations and decreases CPU workload but increases system costs if not implemented correctly.