Всем привет, очень нужна помощь с пониманием логики модулей ядра.
Есть одно задание - написать модуль ядра, на входе у него 3 файла. В двух текст, нужно текст склеить и записать его в третий файл. Есть еще упоминание что работать это должно через /proc
Я уже и гугл весь перерыл и книги все доступные перелистал, но я совершенно не понимаю как это делать.
Из того что я понял по книгам: 1) Модуль общается с ядром и все взаимодействие происходит через память 2) Мы можем читать/писать файлы в /proc 3) Мы можем передать параметры при загрузке модуля в систему через moduleparam.h
И вот модуль загружен, вот есть девайс /dev/test1, есть файлы /tmp/test1, /tmp/test2, /tmp/test3. И каким образом можно получить их содержимое? Я нашел что можно читать/писать /proc, /dev, ибо там уже есть связь User Space - Kernel Space. Вся связь к тому же идет через указатели.
Еще, каким образом это хотя бы примерно должно работать? Есть file_operations, и вот создал я девайс, и могу обратиться к нему либо по Open, либо по Write. Соответственно тут какой-то бред - чтоб склеить файлы мне нужно вызывать «cat /dev/test1»?
Возможно немного сумбурно получилось, но я совершенно не могу понять логики. Буду рад абсолютно любой подсказке