Exatamente qual é a diferença entre devfs e sysfs ? Ambos parecem manter uma lista de hardwares anexados ao sistema . Então, por que surgiu a necessidade de 2 fs separados? Tanto quanto eu posso obter / sys mantém uma lista "bruta" de dispositivos (como "ser0"). O Udev atua nesses dispositivos, obtém várias informações e aplica várias regras para apresentá-las como nomes reconhecíveis que são mapeados no / dev (como "camera"). Essa é a única razão? E então montamos os dispositivos correspondentes do / dev fs (não podemos fazer isso do / sys fs) no / media fs.
Eu li a resposta em Diferença entre / dev e / sys / class? . Mas não consigo obter a parte sys fs, onde afirma que
Os Sysfs contêm a hierarquia de dispositivos, pois eles estão conectados ao computador
Os arquivos em / sys não são arquivos do nó do dispositivo? Então, que tipo de arquivos são eles?
sysfs
sob perspectivas diferentes e nenhuma das respostas para a outra pergunta explica como o/dev
diretório está relacionadosysfs
.Respostas:
O
/sys
sistema de arquivos (sysfs) contém arquivos que fornecem informações sobre dispositivos: se ele está ligado, o nome e o modelo do fornecedor, em qual barramento o dispositivo está conectado, etc. É de interesse para os aplicativos que gerenciam dispositivos.O
/dev
sistema de arquivos contém arquivos que permitem aos programas acessar os próprios dispositivos: gravar dados em uma porta serial, ler um disco rígido, etc. É de interesse para aplicativos que acessam dispositivos.Uma metáfora é que
/sys
fornece acesso à embalagem, enquanto/dev
fornece acesso ao conteúdo da caixa.Os arquivos
/sys
não são nós de dispositivos, mas links simbólicos e arquivos regulares. Esses arquivos regulares são especiais, pois a leitura ou gravação deles invoca funções específicas de arquivos no kernel, como nós do dispositivo. A diferença é que os arquivos/sys
funcionam dessa maneira devido ao sistema de arquivos em que estão, enquanto os nós do dispositivo funcionam dessa maneira devido às características dos nós dos dispositivos (o tipo de arquivo que indica um dispositivo (bloco ou caractere) e o número principal e secundário do dispositivo, indicando qual dispositivo é).A razão de
/dev
existir independentemente/sys
é parcialmente histórica:/dev
remonta ao início do Unix, enquanto/sys
é uma invenção muito mais recente. Se o Linux foi projetado hoje sem histórico,/dev/sda
pode ser/sys/block/sda/content
.fonte
man hier
.