DMA is a way of doing input and output. A main processor asks the DMA controller either to copy information from a device into a certain block of memory, or to copy the block of memory to the device. When the transfer is finished, the DMA controller causes an interrupt.