Sysfs - Sysfs

sysfs это псевдо файловая система предоставленный Ядро Linux который экспортирует информацию о различных подсистемах ядра, аппаратных устройствах и связанных с ними драйверы устройств от модели устройства ядра до пространство пользователя через виртуальные файлы.[1] Помимо предоставления информации о различных устройствах и подсистемах ядра, экспортированные виртуальные файлы также используются для их конфигурации.

sysfs предоставляет функциональность, аналогичную sysctl механизм найден в BSD операционные системы, с той разницей, что sysfs реализован как виртуальная файловая система, а не как специальный механизм ядра, и что в Linux sysctl параметры конфигурации доступны по адресу / proc / sys / как часть procfs, а не sysfs, установленный в / sys /.[2]

История

Во время цикла разработки 2.5 была представлена ​​модель драйвера Linux, чтобы исправить следующие недостатки версии 2.4:

  • Единого метода представления отношений драйвер-устройство не существовало.
  • Не было общего горячая вилка механизм.
  • procfs был загроможден непроцессной информацией.

Sysfs был разработан для экспорта информации, представленной в дерево устройств который больше не будет загромождать procfs. Его написал Патрик Мохель.[3][4] Позже Маниш Сони написал патч для резервного хранилища sysfs, чтобы уменьшить использование памяти в больших системах.

В течение следующего года разработки 2.5 инфраструктурные возможности модели драйвера и driverfs, ранее называвшиеся ddfs, стали полезными для других подсистем.[5][6] кобъекты были разработаны для обеспечения центрального механизма управления объектами, а driverfs был переименован в sysfs, чтобы представить агностицизм его подсистем.

Sysfs монтируется под / sys Точка монтирования. Если он не смонтирован во время инициализации, вы всегда можете смонтировать его с помощью команды: "mount -t sysfs sysfs / sys"

Поддерживаемые автобусы

ACPI
Экспорт информации о ACPI устройств.
PCI
Экспорт информации о PCI и PCI Express устройств.
PCI Express
Экспорт информации о PCI Express устройств.
USB
Экспорт информации о USB устройств.
SCSI
Экспорт информации о массовое хранилище устройства, в том числе USB, PATA, SATA, SCSI, SAS и NVMe интерфейсы.[7]
Автобусы S / 390
Поскольку S / 390 архитектура содержит устройства, нигде больше не встречающиеся, созданы специальные шины:
  • css: Содержит субканалы (в настоящее время предоставляется единственный драйвер для субканалов ввода / вывода).
  • против часовой стрелки: Содержит подключенные к каналу устройства (управляемые CCWs ).
  • ccwgroup: Искусственные устройства, созданные пользователем и состоящие из устройств ccw. Заменяет некоторые функции chandev версии 2.4.
  • iucv: Искусственные устройства, такие как устройства netiucv, которые используют виртуальные машины. IUCV интерфейс.

Sysfs и пользовательское пространство

Sysfs используется несколькими утилитами для доступа к информации об оборудовании и его драйвере (модули ядра ) Такие как udev или же HAL. Для доступа к информации, ранее полученной через procfs, а некоторые сценарии настраивают драйверы устройств и устройства через их атрибуты.

Смотрите также

  • procfs
  • configfs
  • tmpfs
  • sysctl, альтернативный способ экспорта конфигурации, используемый в системах BSD

Рекомендации

  1. ^ Патрик Мочел и Майк Мерфи. "sysfs - _The_ файловая система для экспорта объектов ядра". kernel.org.
  2. ^ SUSE. "страница руководства sysctl". FreeBSD. sysctl используется для изменения параметров ядра во время выполнения. Доступные параметры перечислены в / proc / sys /. Procfs требуется для поддержки sysctl в Linux. Вы можете использовать sysctl как для чтения, так и для записи данных sysctl.
  3. ^ Торвальдс, Линус (18 октября 2002 г.). «Linux v2.5.44 - и офлайн на неделю».
  4. ^ Торвальдс, Линус (4 ноября 2002 г.). «Linux v2.5.46».
  5. ^ Мохель, Патрик (17 октября 2001 г.). «[RFC] Новая модель драйвера для 2.5».
  6. ^ Янсен, Тим (1 ноября 2001 г.). "Re: [ПАТЧ] 2.5 ПРЕДЛОЖЕНИЕ: Замена на ток / проц говна".
  7. ^ «Руководство по интерфейсам SCSI - документация ядра Linux». www.kernel.org. Получено 2020-11-13.

внешняя ссылка