Программные уровни и функции ввода-вывода
Ввод-вывод с использованием DMA
Управляемый прерываниями ввод-вывод
Если в предыдущем примере буфер не используется, а принтер печатает 100 символов в секунду, то на каждый символ будет уходить 10мс, в это время процессор будет простаивать, ожидая готовности принтера.
Рассмотрим тот же пример, но с небольшим усовершенствованием.
Алгоритм печати:
1. До пункта 8 тоже самое.
2. Процессор не ждет готовности принтера, а вызывает планировщик и переключается на другую задачу. Печатающий процесс блокируется.
3. Когда принтер будет готов, он посылает прерывание процессору.
4. Процессор переключается на печатающий процесс.
Недостаток предыдущего метода в том, что прерывание происходит при печати каждого символа.
Алгоритм не отличается, но всю работу на себя берет контроллер DMA.
Четыре уровня ввода-вывода:
Уровни ввода-вывода