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

16

Eu sei que em um sistema Linux típico, ambos /proc, e /syssão estruturas de arquivos virtuais com pseudo arquivos, usadas para se comunicar com o kernel, mas qual é a diferença entre /proc/sys/kernele /sys/kernel?

Por exemplo, pegue /sys/kernel/uevent_seqnum. Tenho certeza de que essa é uma opção altamente esotérica que ninguém deve mudar, mas mesmo assim, o que é e o que faz?

Se há um funcionário ou centralizado manpágina para o material em /sys/kernel, (como man 5 procem proc, por exemplo), em seguida, citações a partir dessas fontes seriam apreciados e preferível.

Evan Carroll
fonte
related: Qual é a diferença entre procfs e sysfs? .
Ciro Santilli foi lançado em 29/05/19

Respostas:

21

Essencialmente / proc e / sys são os mesmos.

O sysfs foi adicionado no kernel 2.5 ou 2.6 devido à desordem no procfs

O procfs foi criado apenas para armazenar informações do processo. Eventualmente, tudo começou a se misturar com o proc e criou um labirinto sinuoso com dados do dispositivo presos em locais diferentes em todo o lugar. Enquanto isso, o sysfs foi implementado com o objetivo de segmentar dados do dispositivo dos procfs.

Especificamente, / sys mantém informações de processo do dispositivo mais detalhadas (posição dos nós realmente representa a hierarquia do dispositivo por subsistema). Para cada objeto no modelo de driver, um diretório é criado. A estrutura do arquivo do dispositivo é:

/sys/devices  - devices by physical layout
/sys/bus      - symbolic links to devices
/sys/block    - devices by block
/sys/class    - devices by class

Em seu sistema local, você pode encontrar a página de manual man sysfse informações sobre como modificar os parâmetros do kernel em / proc / sys comman sysctl

Se você quiser obter mais informações sobre / sys, consulte o whitepaper do sistema de arquivos sysfs do Linux no kernel.org [pdf] e a documentação / sysfs.txt na fonte do kernel.

Greg Buehler
fonte