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