O que há em / dev, / proc e / sys?

7

Depois de mount , são listados alguns sistemas de arquivos. Preciso saber o que está no /dev , /proc e /sys . Alguns exemplos seriam ótimos!

    
por mefe 08.03.2015 / 15:45

1 resposta

15

A árvore /dev contém nós de dispositivo , que fornece espaço do usuário acesso aos drivers de dispositivo no kernel em execução do seu sistema operacional.¹ Todos os sistemas operacionais do tipo POSIX possuem uma árvore /dev .

A árvore /proc originou-se no System V Unix, onde forneceu apenas informações sobre cada processo em execução, usando um esquema /proc/$PID/stuff . O Linux estendeu muito isso , adicionando todos os tipos de informações sobre o status do kernel em execução. Além desses arquivos de informações somente leitura, o /proc do Linux também possui arquivos virtuais graváveis que podem alterar o estado do kernel em execução. Sistemas operacionais do tipo BSD geralmente não têm /proc , e muito do que você encontra aqui não é portátil.

A solução pretendida para essa bagunça no /proc do Linux é /sys . Idealmente, todas as informações que não foram processadas e que foram reunidas na árvore /proc já devem ter sido movidas para /sys , mas a inércia histórica manteve muitas coisas em /proc . Geralmente, existem duas maneiras de efetuar uma mudança no kernel em execução: o antigo /proc way, mantido para compatibilidade com versões anteriores, e a nova /sys maneira que você está para usar agora. ²

Notas de rodapé:

  1. Também existem várias entradas /dev que não correspondem a dispositivos de hardware, como /dev/null , /dev/random e /dev/tty . Estes são dispositivos virtuais que permitem que os programas de espaço do usuário conversem com outras partes do kernel, além dos drivers em execução, de uma maneira parecida a um dispositivo.

  2. Como regra geral, /sys tende a ser mais estritamente organizado do que /proc , pois /sys espelha as estruturas de dados internas do kernel que gerenciam os recursos do sistema, enquanto /proc cresceu organicamente ao longo de muitos anos, e as antigas decisões de design questionáveis não podem mudar agora porque existem programas usando essas interfaces antigas. O /sys começou com um design mais claro e não precisa arrastar o máximo de bagagem histórica de /proc .

por 08.03.2015 / 15:55