
EDIT: Por obsoleto não quero dizer ruim/desnecessário (concordo em /proc
ser uma bagunça). Modularidade é uma coisa boa e eu adoro isso. Quero dizer: informações do sistema, mantidas (em /sys
) que podem ser encontradas em outro lugar.
Eu realmente não consegui encontrar muita informação sobre /sys
e /proc
. Além de ambos os conteúdos não fazerem parte doPadrão de hierarquia do sistema de arquivos(porque a maneira como eles se parecem/são construídos depende da versão do kernel)
/sysnãoaté mesmo ter sua própria man
página./proc
tem sua própria página de manual, e, cara, tem muitas explicações e ainda tenho algumas pastas e arquivos (por exemplo /acpi
e consoles
) que não são mencionados nele.
/sys
é muito novo, certo? E antes de existir toda a informação que /sys
dá fazia parte, /proc
certo?
Pergunta:
Este ainda é o caso? Todo o formulário de informações pode /sys
ser encontrado /proc
em um ou outro formulário? Isso tornaria a documentação /sys
obsoleta porque é apenas uma expansão com design amigável, certo? Ou há alguma informação do sistema /sys
que não esteja presente em alguma outra forma /proc
?
Se for esse o caso, onde fica o lugar que explica /sys
aos amadores do Linux?
Responder1
/sys
não é obsoleto, pelo contrário, /sys
é mais recente /proc
e crescerá no futuro.
/proc
(e procfs
) antecede o Linux em vários anos. Ele foi projetado para permitir acesso a estruturas de processos em execução, e nada mais, e especialmente voltado para depuradores e ferramentas similares. Ele permanece restrito a esse objetivo nos sistemas operacionais atuais baseados em SVR4, como o Solaris. Por outro lado, os implementadores do Linux procfs acharam uma boa ideia usar o procfs para também acessar estruturas do kernel não relacionadas aos processos, assim a mistura de diretórios numéricos direcionando para informações de processos e arquivos de texto e diretórios com acesso a estatísticas do kernel, tabelas e outros dados. Esta abordagem foi portada para AIX e é parcialmente emulada em BSDs para facilitar a portabilidade de software Linux.
Quando se tornou óbvio que esta abordagem estava levando a uma bagunça, /sys
foi criada com um design melhor e algumas /proc
entradas foram movidas para ela. Infelizmente, muitas ferramentas foram /proc/something
codificadas, portanto as entradas de diretório mais comumente usadas /proc
vieram para ficar.
Sobre como saber que tipo de informação contém um determinado arquivo em um determinado caminho em ou /proc
, /sys
a documentação, se houver, não é fácil de encontrar, como você notou. Esperançosamente, o kernel é de código aberto, então o último recurso é examinar seu código.
Veja também:Qual é a diferença entre procfs e sysfs?eO que há em /dev, /proc e /sys?