Depois mount
são listados alguns sistemas de arquivos. Eu preciso saber o que há no /dev
, /proc
e /sys
. Alguns exemplos seriam ótimos!
Depois mount
são listados alguns sistemas de arquivos. Eu preciso saber o que há no /dev
, /proc
e /sys
. Alguns exemplos seriam ótimos!
Respostas:
A /dev
árvore contém nós de dispositivo , o que dá ao usuário acesso de espaço aos drivers de dispositivo no kernel em execução do sistema operacional.¹ Todos os sistemas operacionais do tipo POSIX possuem uma /dev
árvore.
A /proc
árvore se originou no System V Unix, onde forneceu apenas informações sobre cada processo em execução, usando um /proc/$PID/stuff
esquema. O Linux estendeu bastante isso , adicionando todo tipo de informação sobre o status do kernel em execução. Além desses arquivos de informação somente leitura, o Linux /proc
também possui arquivos virtuais graváveis que podem alterar o estado do kernel em execução. Geralmente, os sistemas operacionais do tipo BSD não possuem /proc
, de modo que muito do que você encontra aqui não é portátil.
A solução pretendida para essa bagunça no Linux /proc
é /sys
. Idealmente, todas as informações que não são do processo que foram lançadas na /proc
árvore já deveriam ter sido movidas até /sys
agora, mas a inércia histórica manteve muitas coisas /proc
. Freqüentemente, existem duas maneiras de efetuar uma alteração no kernel em execução: a /proc
maneira antiga , mantida para compatibilidade com versões anteriores, e a nova /sys
maneira que você deveria estar usando agora.²
Notas de rodapé:
Há também várias /dev
entradas que não correspondem aos dispositivos de hardware, como /dev/null
, /dev/random
, e /dev/tty
. Esses são dispositivos virtuais que permitem que os programas espaciais do usuário conversem com outras partes do kernel, além dos drivers em execução, de maneira semelhante a um dispositivo.
Como regra, /sys
tende a ser mais estritamente organizada do que /proc
, uma vez que /sys
espelha as estruturas internas de dados do kernel que gerenciam os recursos do sistema, enquanto /proc
cresceu organicamente ao longo de muitos anos, e as antigas decisões questionáveis do projeto não podem mudar agora porque existem programas usando essas interfaces antigas . /sys
começou com um design mais claro e não precisa arrastar tanta bagagem histórica quanto /proc
.