Главная » Ядро Linux » Объекты kobject и файловая система sysfs

0

нифицированнаямодельпредставленияустройств—этосущественноноваяособенность, которая появилась в ядрах серии  2.6.  Модель  устройств—  это  еди-

ный  механизм для  представления устройств  и описания их топологии в системе. Использование единого  представления устройств  позволяет получить  следующие преимущества.

• Уменьшается дублирование кода.

• Используется механизм для  выполнения общих, часто  встречающихся  функций, таких как счетчики использования.

• Появляется возможность систематизации всех устройств  в системе,  возможность  просмотра состояний устройств  и определения, к какой  шине то или другое устройство подключено.

• Появляется возможность генерации полной и корректной информации о древовидной структуре  всех устройств  в системе, включая все шины и соединения.

• Обеспечивается возможность связывания устройств  с их драйверами и наоборот.

• Появляется  возможность разделения устройств  ва категории в соответствии с различными классификациями, таких как устройства ввода, без знания физической  топологии устройств.

• Обеспечивается возможность просмотра иерархии устройств  от листьев  к корню и выключения питания устройств  в правильном порядке.

Последний пункт  был самой  первой  мотивацией необходимости создания общей модели  представления устройств. Для  того  чтобы  реализовать интеллектуальное управление электропитанием в ядре, необходимо построить дерево, которое  представляет  топологию устройств  в системе. Для выключения питания устройств, которые  организованы в виде древовидной топологии, ориентированной сверху вниз, ядро  должно  выключить питание нижних узлов  (листьев) перед  выключением питания  верхних  узлов.  Например, ядро  должно  выключить питание USB-мыши перед

тем, как выключать питание контроллера шины USB, а питание контроллера шины USB должно быть выключено перед выключением питания шины PCI. Чтобы делать это эффективно и правильно для всей системы, ядру необходимо отслеживать топологию дерева всех устройств в  системе.

Источник: Лав,  Роберт. Разработка ядра  Linux, 2-е  издание. : Пер.  с англ.  — М.  : ООО  «И.Д.  Вильяме» 2006. — 448 с. : ил. — Парал. тит. англ.

По теме:

  • Комментарии