В чем разница между devfs и sysfs ? Похоже, что оба поддерживают список оборудования, подключенного к системе . Тогда почему возникла необходимость в 2 отдельных фс? Насколько я могу получить / sys поддерживает несколько «сырой» список устройств (например, «ser0»). Udev действует на этих устройствах, получает различную информацию и применяет различные правила, чтобы представить их как распознаваемые имена, которые затем отображаются на / dev (например, «камера»). Это единственная причина? И затем мы монтируем соответствующие устройства из / dev fs (мы не можем сделать это из / sys fs) в / media fs.
Я прочитал ответ в Разница между / dev и / sys / class? , Но я не могу получить часть системы, где говорится, что
Sysfs содержат иерархию устройств, так как они подключены к компьютеру.
Файлы в / sys не являются файлами узлов устройства? Тогда что это за файлы?
sysfs
с разных точек зрения, и ни один из ответов на другой вопрос не объясняет, как/dev
справочник относится кsysfs
.Ответы:
/sys
Файловая система (sysfs) содержит файлы , которые содержат информацию об устройствах: будь то включено, имя производителя и модель, каким автобус устройство подключено к и т.д. Это представляет интерес для приложений, управляющих устройствами./dev
Файловая система содержит файлы , которые позволяют получить доступ к программам самим устройств: записывать данные в последовательный порт, читать жесткий диск и т.д. Это представляет интерес для приложений, устройства доступа.Метафора - это
/sys
доступ к упаковке и/dev
доступ к содержимому коробки.Файлы
/sys
являются не узлами устройства, а символическими ссылками и обычными файлами. Эти обычные файлы отличаются тем, что чтение или запись в них вызывает специфичные для файла функции в ядре, такие как узлы устройства. Разница в том, что файлы/sys
работают таким образом из-за файловой системы, в которой они находятся, тогда как узлы устройства работают таким образом из-за характеристик их узлов устройства (тип файла, указывающий устройство (блочное или символьное), а также старшего и младшего номера устройства, указывающего какое это устройство).Причиной
/dev
существования независимо от/sys
частично является историческая:/dev
восходит к заре Unix, а/sys
это гораздо более новое изобретение. Если бы Linux был разработан сегодня без исторического фона,/dev/sda
может быть/sys/block/sda/content
.источник
man hier
.