Я знаю, что в типичной системе Linux оба /proc
, и /sys
- это виртуальные файловые структуры с псевдофайлами, используемые для связи с ядром, но в чем разница между /proc/sys/kernel
, и /sys/kernel
?
Например, возьмите /sys/kernel/uevent_seqnum
. Я уверен, что это очень эзотерический вариант, который никто не должен менять, но даже в этом случае, что это такое и для чего он нужен?
Если есть официальная или централизованная man
страница для материала в /sys/kernel
, (лайк man 5 proc
для proc
, например), то цитаты из этих источников будут приветствоваться и предпочтительнее.
По сути, / proc и / sys одинаковы.
sysfs был добавлен в ядро 2.5 или 2.6 из-за беспорядка в procfs
Файл procfs предназначен только для хранения информации о процессе. в конечном итоге все начало смешиваться в процессе, и это создало извилистый лабиринт с данными устройств, застрявшими в разных местах повсюду. Тем временем была реализована sysfs с целью сегментирования данных устройства из procfs.
В частности, / sys поддерживает более подробную (положение узлов фактически представляет иерархию устройства по подсистеме) информацию о процессе устройства. Для каждого объекта в модели драйвера создается каталог. Файловая структура устройства:
/sys/devices - devices by physical layout
/sys/bus - symbolic links to devices
/sys/block - devices by block
/sys/class - devices by class
В вашей локальной системе вы можете найти справочную страницу по адресу man sysfs
и информацию об изменении параметров ядра в / proc / sys с помощью man sysctl
Если вам нужна дополнительная информация о / sys, вы можете просмотреть Техническая документация по файловой системе sysfs в Linux на kernel.org [pdf] и Документация / sysfs.txt в исходном коде ядра.