Нужно как можно раньше брать и писать. Так, "через руки" многие вещи сразу становятся намного понятнее.smt писал(а):Конечная цель - это да, модули для блочных устройств. В частности, карты расширения с интерфейсом PCI-E. Единственное, пока я изучаю теорию, т.к. нужно сформировать основную базу, понять, как всё строится.
Нужно чётко разделить 2 задачи:smt писал(а):Тогда уже будет понятнее и как упрощенную задачу ставить. И тогда уже буду обращаться, спасибо!
- код работы с PCI-E ... более-менее это описано в тексте;
- код работы с блочным устройством - для этого нужно писать модельную задачу;
Модельная задача для блочного устройства может быть подобна следующему:
- модул "прихватывает" себе достаточно большой кусок RAM (размер может задаваться параметром установки модуля)...
- и дальше в этой области RAM организуется устройство прямого доступа, блочное...
- что-то вроде примитивного RAM-диска.
На этом можно многое отыграть.
P.S. Ну, а для обсуждений примеров и деталей кода завести новую специальную тему, где-то в Linux изнутри.
Там (в разделе), кстати, есть немало и нетривиальных примеров модулей ядра, гляньте!