Which one of the following facilitates transfer of bulk data from hard disk to main memory with the highest throughput?
- (A)
DMA based I/O transfer
- (B)
Interrupt driven I/O transfer
- (C)
Polling based I/O transfer
- (D)
Programmed I/O transfer
Which one of the following facilitates transfer of bulk data from hard disk to main memory with the highest throughput?
DMA based I/O transfer
Interrupt driven I/O transfer
Polling based I/O transfer
Programmed I/O transfer
ANSWER
The correct answer is (A) DMA based I/O transfer.
Official answer: ASource: Official answer key, GATE 2022 CS (IIT Kharagpur)
Programmed I/O: the CPU actively polls the device status register and copies every single data word itself. The CPU is fully occupied for the entire transfer, so it is the bottleneck and throughput is low for bulk data.
Polling-based I/O: functionally the same overhead pattern as programmed I/O here — the CPU repeatedly checks device readiness and moves data word by word, wasting CPU cycles and limiting throughput.
Interrupt-driven I/O: the CPU is freed from busy-waiting between transfers, but it is still interrupted for each unit of data (or small chunk) and must run an interrupt-service routine to move it. This per-unit CPU intervention still caps throughput for large, bulk transfers.
DMA-based I/O: a DMA controller is set up once with the source address, destination address and word count, then transfers the entire block directly between disk and memory, only stealing individual bus cycles from the CPU. There is no per-word CPU intervention, so data moves essentially at bus/device speed.
Since bulk transfer throughput is limited precisely by how much CPU intervention is needed per word, and DMA removes that intervention almost entirely, DMA gives the highest throughput among the four options.
Hence the correct option is (A) DMA based I/O transfer.
KEY IDEA
Throughput for bulk transfers is limited by how much CPU intervention is required per word/chunk moved; ranking from most to least CPU intervention: programmed/polling I/O (every word) > interrupt-driven I/O (every unit/chunk) > DMA (none — only bus cycle-stealing), so DMA gives the highest throughput.
WATCH OUT FOR
Confusing "interrupt-driven" with "no CPU involvement" and picking (B) — interrupt-driven I/O still requires the CPU to run an ISR for each data unit/chunk, so it does not scale to bulk transfers the way DMA does, which offloads the entire block move to a dedicated controller.
From the GATE 2022 CS paper. Every question of this paper · Download the full paper · All 8 I/O, interrupts & DMA questions, with notes