title: How does disk controller signal processor that read/write request is completed
body: <p>Assuming a process requested to read a block to kernel and OS issued the request to the disk through direct-mapped memory(Not sure if this is correct), which is eventually read by disk controller and completes the read request, how does disk signal the processor that read request is completed? Does it use the same direct mapped memory? (In this case, isn't polling required, which is inefficient?). </p>