Файл: 12. Управление внешними устройствами.pdf

Добавлен: 20.10.2018

Просмотров: 930

Скачиваний: 5

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

 

проверяется  состояние  затребованного  устройства,  и  если  устройство 

занято,  то  соответствующий  процесс  ставится  в  очередь  ожидания  с 

изменением его состояния и запуском планировщика потоков; 

 

если устройство свободно, то диспетчер:  

вызывает соответствующий драйвер, передавая ему всю 

необходимую информацию; 

переводит (если это необходимо) процесс-источник запроса в 

состояние ожидания; 

“засыпает” до тех пор, пока драйвер не завершит выполнение 

операции; 

 

после выполнения драйвером необходимых действий, диспетчер вновь 

активизируется,  анализирует  полученную  от  драйвера  информацию  и 

передает  результат  операции  процессу

источнику  запроса,  изменяя, 

возможно, его состояние. 

В  итоге,  подобный  подход  позволяет  загружать  процессор  операциями 

ввода/вывода  только  в  случае  необходимости,  освобождая  его  для  других 

задач  на  время  работы  относительно  медленных  устройств  ввода/вывода. 

Еще большего эффекта удается достичь за счет использования специального 

механизма прямого доступа к памяти (DMA – Direct Memory Access). Этот 

механизм  используется  при  передаче  больших  объемов  данных 

непосредственно  между  основной  памятью  и  устройством  ввода/вывода, 

например  –  диском.  При  этом  процессор  из  самого  обмена  исключается  и 

может  заниматься  другой  работой.  Управление  процессом  обмена  берет  на 

себя контроллер DMA, который можно рассматривать как вспомогательный 

сопроцессор, работающий параллельно с основным процессором.