Exercise #10. Драйвер символьного устройства∗
Description∗
Implement a Character device driver.
References∗
Guidance∗
Использовать Git.
Использовать следующие названия директорий:
exercise10
- для проектов решений подзадач;partXX
- для проекта решения соответствующей подзадачи (XX
- номер подзадачи);src
- для исходников.Периодически отправлять изменения в удаленный репозиторий, соответствующий Вашей фамилии.
Разработать модуль символьного устройства, предоставляющий пользователю только операцию чтения из устройства, с созданием именованного устройства вручную. Example.
- выполнить сборку модуля;
- подобрать вручную Major Number и выполнить загрузку модуля;
- создать именованное устройство в каталоге
/dev
вручную и проверить работоспособность модуля; - создать именованное устройство в рабочем каталоге пользователя и проверить работоспособность модуля;
- проверить поддержку драйвером заданного ему диапазона minor-номеров;
- проверить загрузку модуля с определением номера устройства Major Number динамически.
Разработать модуль символьного устройства, динамически создающий устройства в каталоге
/dev
с заданным старшим и младшим номером. Example.
- проверить отсуствие обслуживаемых устройств в
/dev
до загрузки модуля; - проверить автоматическое создание устройств при загрузке модуля и их удаление при выгрузке;
- проверить соответствующие элементы в
/sys/module/
и/proc/
(/proc/devices
и/proc/modules
).
Implement bash script for the module testing.
Provide a test scenario.