Skip to content

Exercise #10. Драйвер символьного устройства


Description

Implement a Character device driver.


References


Guidance

Использовать Git.

Использовать следующие названия директорий: exercise10 - для проектов решений подзадач; partXX - для проекта решения соответствующей подзадачи (XX - номер подзадачи); src - для исходников.

Периодически отправлять изменения в удаленный репозиторий, соответствующий Вашей фамилии.

1⃣ Разработать модуль символьного устройства, предоставляющий пользователю только операцию чтения из устройства, с созданием именованного устройства вручную. Example.

  • выполнить сборку модуля;
  • подобрать вручную Major Number и выполнить загрузку модуля;
  • создать именованное устройство в каталоге /dev вручную и проверить работоспособность модуля;
  • создать именованное устройство в рабочем каталоге пользователя и проверить работоспособность модуля;
  • проверить поддержку драйвером заданного ему диапазона minor-номеров;
  • проверить загрузку модуля с определением номера устройства Major Number динамически.

2⃣ Разработать модуль символьного устройства, динамически создающий устройства в каталоге /dev с заданным старшим и младшим номером. Example.

  • проверить отсуствие обслуживаемых устройств в /dev до загрузки модуля;
  • проверить автоматическое создание устройств при загрузке модуля и их удаление при выгрузке;
  • проверить соответствующие элементы в /sys/module/ и /proc/ (/proc/devices и /proc/modules).

❤ Implement bash script for the module testing.

💛 Provide a test scenario.