Linux для пользователя



         

Драйверы устройств - часть 2


Примечание

Хотя файлы модулей имеют суффикс .o, при использовании этих команд ссылки на модули указываются без упоминания этого суффикса. Например: при упоминании модуля, файл которого называется "joystick.o", вы должны использовать в командной строке просто "joystick".

И, наконец, для третьего типа драйверов устройств программный код драйвера поделен между ядром и специальной утилитой, предназначенной для управления данным устройством. Например, для драйвера принтера ядро отвечает за взаимодействие с параллельным портом, а формирование управляющих сигналов для принтера осуществляет демон печати lpd (который использует для этого специальную программу-фильтр, о чем подробнее будет рассказано ниже, в разд. 9.6). Другие примеры драйверов этого типа — драйверы модемов и X-сервер (драйвер видеоадаптера), о котором шла речь в главе 7.

Но надо специально отметить, что во всех трех случаях непосредственное взаимодействие с устройством осуществляет ядро или какой-то модуль ядра. А пользовательские программы взаимодействуют с драйверами устройств через специальные файлы, расположенные в каталоге /dev и его подкаталогах. То есть взаимодействие прикладных программ с аппаратной частью компьютера в ОС Linux осуществляется по следующей схеме:

устройство <-> ядро <-> специальный файл устройства <-> программа пользователя

Такая схема обеспечивает единый подход ко всем устройствам, которые с точки зрения приложений выглядят как обычные файлы.




Содержание  Назад  Вперед