Контроллер DMA инициирует перенос данных из буфера в RAM. Контроллер HDD не отличает запросы ЦП и контроллера DMA;
По завершении записи буфера контроллер HDD отправляет сигнал подтверждения контроллеру DMA (вместо прерывания ЦП). При необходимости шаги 2-4 повторяются;
По завершении цикла копирования контроллер DMA вызывает прерывание процессора
40. Принципы программного обеспечения ввода-вывода.
41. Осуществление операций ввода-вывода. Программный ввод-вывод.
При таком подходе всю работу выполняет ЦП. Последовательность действий при печати строки на принтере:
Процесс пользователя собирает строку в буфере в пространстве пользователя.
Процесс обращается к системн. выз. и получает принтер на врем. пользование.
Процесс указывает ОС о необходимости печати строки из буфера.
ОС копирует содержимое буфера в массив в пространстве ядра.
Если принтер свободен, ОС копирует массив в регистр данных принтера.
ОС подает на принтер команду печати.
По завершению печати управление передается процессу пользователя.
42. Осуществление операций ввода-вывода. Управляемый прерываниями ввод-вывод. Ввод-вывод с использованием DMA.
Управляемый прерываниями в/в
Когда процесс пользоват. выполн. системн. вызов печати строки, ЦП вызывает планировщик, блокирующий процесс пользователя на все время печати и запускает другой процесс.
43. Программые уровни ввода-вывода.
Обработчики прерываний
Должны быть реализованы глубоко в недрах ОС. Общение с ОП производится только через драйвера устройств.
У каждого контроллера присутствуют регистры для управления и обмена данными. Число таких регистров зависит от конкретного устройства. Для управления каждым устройством необходим драйвер. Чтобы получить доступ к регистрам, драйвер должен быть частью ОС.