sysfs — виртуальная файловая система, обычно смонтированная в /sys. Она представляет объекты ядра и связи между ними каталогами, символическими ссылками и небольшими файлами атрибутов. Средства обнаружения и менеджеры устройств используют её для понимания текущей модели ядра.
Устройства · Урок 4
sysfs
Узнайте, как sysfs показывает живую модель устройств, драйверов, шин и классов ядра Linux в `/sys`.
Навигация по модели устройств
Важные представления верхнего уровня:
/sys/devices/: физическая и логическая иерархия;/sys/class/: устройства по функциональным классам, например block или network;/sys/bus/: шины, их устройства и драйверы;/sys/block/: удобное представление блочных устройств;/sys/dev/: ссылки по major- и minor-номерам символьных и блочных устройств.
Многие записи вне /sys/devices являются ссылками на каноническую иерархию. Получите фактический родительский путь через readlink -f:
$ readlink -f /sys/class/block/sda
На системе с другим интерфейсом хранения такого имени может не быть.
Какое поддерево sysfs содержит основную иерархию устройств ядра?
Чтение атрибутов
Файлы атрибутов предоставляют отдельные значения и элементы управления. Для блочного устройства встречаются:
$ cat /sys/class/block/sda/dev
8:0
$ cat /sys/class/block/sda/ro
0
$ cat /sys/class/block/sda/size
1953525168
dev сообщает major и minor, ro — флаг только для чтения. Для блочных устройств Linux size по соглашению выражен в 512-байтовых секторах независимо от физического сектора. Единицы и смысл конкретного атрибута сверяйте с ABI ядра.
Что обычно содержит атрибут dev блочного устройства?
Связь `/sys` и `/dev`
/dev содержит узлы, которые приложения открывают для ввода-вывода. /sys показывает связи объектов, свойства, состояние и некоторые элементы управления. Блочный /dev/sda можно сопоставить с /sys/dev/block/8:0, который разрешается в объект sysfs.
Интерфейсы дополняют друг друга. Ни один не является полностью автономной инвентаризацией, а устройство может исчезнуть во время исследования.
Какое утверждение правильно различает /sys и /dev?
Безопасная запись атрибутов
Некоторые атрибуты доступны для записи и меняют питание, привязку драйвера, очереди, авторизацию, светодиоды и другие живые элементы. Успешная текстовая запись может немедленно повлиять на оборудование или службу и не равна правке постоянной конфигурации.
Читайте документированный ABI и текущее значение, определяйте способ постоянной настройки и тестируйте только на разрешённой системе. Не меняйте рекурсивно разрешения и не записывайте угаданные значения по /sys.
Почему запись в атрибут sysfs может быть операционно значимой?
Лаборатория Изучение аппаратных устройств в Linux позволяет читать sysfs и сопоставлять её с узлами.
Урок завершён
Вы завершили sysfs
Теперь вы умеете использовать sysfs как структурированное представление живых объектов ядра.
Перемещаться по представлениям устройств, классов, шин, блоков и номеров.
Читать документированные атрибуты с правильными единицами.
Сопоставлять объекты sysfs с узлами
/dev.Считать записываемые атрибуты живыми интерфейсами управления.
Сохраните прогресс
Создайте бесплатный аккаунт, чтобы сохранить этот урок и продолжить на любом устройстве.
Создать бесплатный аккаунт