Разница между файлом устройства и драйверами устройств

Я новичок в программировании драйверов устройств.

Я не понимаю разницы между драйверами устройств и файлами устройств в Linux.

Кто-нибудь может объяснить разницу?


драйвер устройства — это часть программного обеспечения, которая управляет определенным типом устройства или управляет им. В современных операционных системах с монолитным ядром они обычно являются частью ядра. Многие монолитные ядра, включая Linux, имеют модульную конструкцию, что позволяет загружать исполняемые модули во время выполнения. Драйверы устройств обычно используют эту функцию, хотя ничто не препятствует компиляции драйверов устройств в образ ядра.

файл устройства — это интерфейс для драйвера устройства, который появляется в файловой системе, как если бы это был обычный файл. В Unix-подобных операционных системах они обычно находятся в каталоге /dev и также называются узлами устройств . Файл устройства может представлять символьные устройства , которые выдают поток данных по одному символу за раз, или блочные устройства , которые разрешают произвольный доступ к блокам данных.

Узлы устройства создаются системным вызовом mknod . Ресурс ядра, предоставляемый узлом устройства, идентифицируется старшим и младшим номерами. Обычно старший номер идентифицирует драйвер устройства, а младший номер идентифицирует конкретное устройство, которым управляет драйвер.

То, что содержит файл устройства, зависит от того, что драйверы устройства предоставляют через файл устройства. Например, файл символьного устройства, представляющий мышь, /dev/input/mice представляет движение мыши в виде потока символов, тогда как файл блочного устройства, представляющий жесткий диск, например /dev/sda , предоставляет адресные области памяти устройства. Некоторые файлы устройств также принимают ввод, позволяя приложениям пользовательского пространства взаимодействовать с устройством путем записи в его файл устройства.


-2

добавляя к тому, что сказал Томас Найман,

перед использованием каких-либо устройств, он должен быть установлен на объекты файловой системы, как все в linux — это файлы, некоторые из внутренних устройств автоматически монтируются, например, USB, жесткий диск и т. д.

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

поэтому в основном файл устройства обеспечивает интерфейс для драйвера устройства. вы можете написать свой собственный драйвер устройства в Linux, используя c.

Поделиться
Улучшите это ответ
изменён 6 февр. в 18:15
ответил 06 февраля 2018 в 18:09
добавить комментарий |

добавляя к тому, что сказал Томас Найман,

перед использованием каких-либо устройств он должен быть установлен на объекты файловой системы, так как все в Linux представляет собой файл, некоторые внутренние устройства автоматически монтируются, например, USB, жесткий диск и т. д.

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

поэтому в основном файл устройства предоставляет интерфейс для драйвера устройства. Вы можете написать свой собственный драйвер устройства в Linux, используя c.

Оцените статью
Botgadget.ru
Добавить комментарий