Если я прав, буфер используется в качестве промежуточного звена между процессором и устройством, чтобы освободить процессор от ожидания завершения ввода-вывода с устройством и позволить процессору выполнять другие действия.

Поскольку процессор выполняет другие функции, управление буфером, похоже, не может работать. Что управляет передачей данных из буфера на устройство, когда буфер заполнен, или приемом данных с устройства, когда буфер пуст?

1 ответ1

1

Прямой доступ к памяти (DMA) - недостающая часть вашей головоломки. DMA позволяет контроллерам устройств ввода-вывода напрямую считывать и записывать память без вмешательства процессора.

Без DMA буфер все еще может использоваться, так как данные должны жить где-то, пока они извлекаются, и может потребоваться предоставить данные запрашивающей программе только в том случае, если ввод / вывод завершится успешно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .