Глава 3, Символьные драйверы |
Предыдущая Содержание Следующая |
Цель этой главы - написать полный символьный драйвер устройства. Мы разрабатываем символьный драйвер, потому что этот класс предназначен для самых простых устройств. Символьные драйверы также легче понять, чем блочные или сетевые драйверы (с которыми мы познакомимся в последующих главах). Наша конечная цель заключается в написании модулизированного символьного драйвера, но мы не будем говорить в этой главе о вопросах модуляризации.
На протяжении всей главы мы представляем фрагменты кода, извлечённые из реального драйвера устройства: scull (Simple Character Utility for Loading Localities, Простую Символьную Утилиту для Загрузки Местоположений, "череп", так же созвучно school, школа). scull является символьным драйвером, который оперирует с областью памяти, как будто это устройство. В этой главе мы используем слово устройство наравне с "область памяти, используемая scull", потому что это особенность scull.
Преимуществом scull является аппаратная независимость. scull просто работает с некоторой областью памяти, выделенной ядром. Любой пользователь может скомпилировать и запустить scull, и scull переносим на различные компьютерные архитектуры, на которых работает Linux. С другой стороны, устройство не делает ничего "полезного", кроме демонстрации интерфейса между ядром и символьными драйверами и возможности пользователю запускать некоторые тесты.
|
Предыдущая Содержание Следующая |