Linux: proc / sys / kernel vs / sys / kernel


16

Я знаю, что в типичной системе Linux /procи /sysдля взаимодействия с ядром используются виртуальные файловые структуры с псевдофайлами, но в чем разница между /proc/sys/kernelи /sys/kernel?

Например, возьмите /sys/kernel/uevent_seqnum. Я уверен, что это очень эзотерический вариант, который никто не должен менять, но даже в этом случае, что это такое и что он делает?

Если есть официальная или централизованная manстраница для материала в /sys/kernel, (например , man 5 procдля proc, к примеру), то цитаты из этих источников будут оценены и предпочтительнее.


Ответы:


21

По сути / proc и / sys одинаковы.

sysfs был добавлен в ядро ​​2.5 или 2.6 из-за беспорядка в procfs

Procfs предназначался только для хранения информации о процессе. в конце концов, все стало смешиваться с proc, и он создал извилистый лабиринт с данными устройства, застрявшими в разных местах повсюду. Между тем, 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, вы можете просмотреть документацию по файловой системе Linux sysfs на kernel.org [pdf] и Documentation / sysfs.txt в исходном коде ядра.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.