Драйверы устройств и процедуры обработки прерываний - PullRequest
3 голосов
/ 25 мая 2011

Очень простой вопрос.Я узнал, что драйверы устройств и подпрограммы обработки прерываний - это только некоторые программы или коды.при необходимости они сделаны для исполнения.Выполнение означает, что CPU выполняет некоторые инструкции из своего набора команд ISA.Значит ли это, что драйверы устройств и ISR также являются машинными инструкциями для получения требуемого результата?

что именно таким программам нравится драйвер устройства и программы обработки прерываний?У таких программ также есть сегмент данных, сегмент кода и сегмент стека?

Я изучаю язык ассемблера x86 и C.

Ответы [ 2 ]

3 голосов
/ 26 мая 2011

Рассмотрим, как получить данные с устройства.Есть два способа:

  • Опрос: Мы уже там?Мы уже там? Программа, ядро ​​ОС, драйвер устройства, что угодно ... постоянно спрашивает устройство, есть ли у него какие-либо новые данные.
  • Прерывания: устройство сообщает ЦПУ, что оно имеет что-то важноеи прерывает ЦП.Процессор выполняет подпрограмму, называемую подпрограммой обработки прерываний, для обслуживания запроса, а затем продолжает все, что он делал, до того, как он был прерван.) драйвер устройства может быть программой или неотъемлемой частью ядра вашей ОС, ...

    Типичный драйвер устройства выполняет несколько функций: идентификация устройств, инициализация устройств, обработка прерываний с устройстваобработка запросов на запись / чтение / настройку устройства, ...

    Конечно, современные процессоры, как правило, предоставляют функции защиты и не разрешают произвольным процессам доступ к устройствам.Таким образом, драйвер устройства будет работать с высоким уровнем привилегий, как правило, как часть ядра ОС, или в случае, если драйверы устройств пользовательского пространства будут использовать некоторые четко определенные интерфейсы, предоставляемые ядром.

3 голосов
/ 25 мая 2011

Это точная оценка. Достаточно сложный драйвер устройства имеет сегмент данных, сегмент кода и сегмент стека.

...