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