Acesso Direto à Memória (DMA) é a peça que falta no seu quebra-cabeça. O DMA permite que os controladores de dispositivo de E / S leiam e gravem diretamente a memória sem a intervenção da CPU.
Sem DMA, um buffer ainda pode ser empregado, já que os dados precisam viver em algum lugar enquanto estão sendo recuperados e pode ser desejável dar apenas dados ao programa solicitante se a E / S for concluída com êxito.