The website "dmilvdv.narod.ru." is not registered with uCoz.
If you are absolutely sure your website must be here,
please contact our Support Team.
If you were searching for something on the Internet and ended up here, try again:

About uCoz web-service

Community

Legal information

Глава 1, Введение в драйверы устройств

Глава 1, Введение в драйверы устройств

Предыдущая  Содержание  Следующая V*D*V

Глава 1

 

Одно из главных преимуществ свободных операционных систем, таких как Linux, это то, что их внутренности открыты для просмотра всем. Эти операционные системы, когда-то тёмная и мистическая область, чей код был доступен только небольшому числу программистов, могут быть теперь легко изучены, поняты и модифицированы кем угодно, если он обладает необходимым уровнем знаний. Linux помог демократизировать операционные системы. Ядро Linux, тем не менее, представляет собой большой и сложный набор кода, и потенциальные исследователи ядра нуждаются в точке входа, где они могут обращаться к этому коду не будучи подавленными его сложностью. Часто такую точку входа создают драйверы устройств.

 

Драйверам устройств отводится особая роль в ядре Linux. Это прекрасные “чёрные ящики”, которые заставляют специфичную часть оборудования соответствовать строго заданному программному интерфейсу; они полностью скрывают детали того, как работает устройство. Действия пользователя сводятся к выполнению стандартизированных вызовов, которые не зависят от специфики драйвера; перевод этих вызовов в специфичные для данного устройства операции, которые исполняются реальным оборудованием, является задачей драйвера устройства. Этот программный интерфейс таков, что драйверы могут быть собраны отдельно от остальной части ядра и подключены в процессе работы, когда это необходимо. Такая модульность делает драйверы Linux простыми для написания, так что теперь доступны сотни драйверов.

 

Есть много причин быть заинтересованным в написании драйверов устройств для Linux. Количество нового оборудования, которое становится доступным (и устаревает!) гарантирует, что создатели драйверов будут заняты в обозримом будущем. Отдельные люди могут нуждаться в знаниях о драйверах, чтобы получить необходимый уровень доступа к устройству, которое представляет для них интерес. Разработчики оборудования, создавая драйвер для Linux для своей продукции, могут добавить большое и растущее количество пользователей Linux в качестве потенциальных покупателей. А открытая природа системы Linux означает, что если автор драйвера пожелает, исходник драйвера может быть быстро распространён среди миллионов пользователей.

 

Эта книга научит вас, как писать ваши собственные драйверы и как исследовать необходимые области ядра. Мы избрали независимый от устройства подход; предлагаемая техника программирования и интерфейсы представлены, где возможно, без привязки к какому-либо конкретному устройству. Каждый драйвер уникален; как разработчику драйвера, вам необходимо хорошо знать работу своего устройства. Но большинство принципов и основных техник одинаковы для всех драйверов. Эта книга не может научить вас работать с вашим устройством, но она даст ту необходимую информацию, на основе которой вы сможете сделать ваше устройство рабочим. Поскольку вы учитесь писать драйверы, вы узнаете много вообще о ядре Linux; это может помочь понять вам, как работает ваш компьютер и почему всё происходит не так быстро, как вы ожидаете, или выполняется не совсем так, как вы хотите. Мы вводим новые идеи постепенно, начиная с очень простых драйверов и основываясь на них; каждое новое понятие сопровождается примером кода, который не нуждается в каком-то специальном оборудовании для тестирования.

 

В этой главе нет ничего по написанию кода. Тем не менее, мы вводим некоторые основные концепции ядра Linux, и позже, когда мы начнём программирование, вы будете рады, что познакомились с ними.

 

Предыдущая  Содержание  Следующая