Добавлен: 20.10.2018
Просмотров: 1038
Скачиваний: 5
проверяется состояние затребованного устройства, и если устройство
занято, то соответствующий процесс ставится в очередь ожидания с
изменением его состояния и запуском планировщика потоков;
если устройство свободно, то диспетчер:
o
вызывает соответствующий драйвер, передавая ему всю
необходимую информацию;
o
переводит (если это необходимо) процесс-источник запроса в
состояние ожидания;
o
“засыпает” до тех пор, пока драйвер не завершит выполнение
операции;
после выполнения драйвером необходимых действий, диспетчер вновь
активизируется, анализирует полученную от драйвера информацию и
передает результат операции процессу
−
источнику запроса, изменяя,
возможно, его состояние.
В итоге, подобный подход позволяет загружать процессор операциями
ввода/вывода только в случае необходимости, освобождая его для других
задач на время работы относительно медленных устройств ввода/вывода.
Еще большего эффекта удается достичь за счет использования специального
механизма прямого доступа к памяти (DMA – Direct Memory Access). Этот
механизм используется при передаче больших объемов данных
непосредственно между основной памятью и устройством ввода/вывода,
например – диском. При этом процессор из самого обмена исключается и
может заниматься другой работой. Управление процессом обмена берет на
себя контроллер DMA, который можно рассматривать как вспомогательный
сопроцессор, работающий параллельно с основным процессором.