Este artigo explica os seguintes conceitos básicos: sistemas de arquivos, área de troca (SWAP), diretório temporário (/tmp), sistemas de arquivos virtuais (/proc, /sys, /dev) e os sistemas de arquivos temporários em RAM (/run). Baseado na estrutura do Debian Jessie (Sid).
Apesar de se apresentarem ao usuário como sistemas de arquivos, eles são interfaces entre o kernel e o nível do usuário (chamado de RING 3). Eles existem para permitir a depuração em tempo de execução do kernel, pois esse é isolado do nível do usuário no chamado RING 0, ou seja, o kernel em execução não pode ser lido diretamente pelo usuário, mas uma IMAGEM do kernel pode.
Podemos pensar nesse mecanismo do mesmo modo que os cientistas estudam o Sol. Não é possível olhar diretamente para o Sol, mas é possível olhar para uma imagem projetada do Sol e estudar seus fenômenos.
Assim, esses sistemas de arquivo são IMAGENS projetadas do que acontece dentro do kernel em tempo de execução. A maioria dos arquivos em sistemas virtuais é somente para leitura. Entretanto, algumas poucas opções permitem modificar parâmetros no kernel em tempo de execução. Qualquer modificação feita deste modo, é efêmera e se perderá quando o sistema reiniciar. Para tornar essas mudanças permanentes, é preciso um sistema como sysctl, que no Debian é configurado por /etc/sysctl.conf.
A função dos sistemas de arquivo virtuais, é obter o estado do funcionamento de partes do kernel em funcionamento e permitir a depuração desse funcionamento. Isso é uma experiência para desenvolvedores e quase inútil para usuários comuns.
/proc é um sistema que permite obter informações sobre processos. Processos são programas em execução e também são chamados de instâncias ou instâncias em execução.
/sys é um sistema que permite obter informações sobre o funcionando e configuração do hardware.
Os sistemas de arquivo /proc e /sys são de interesse de desenvolvedores, especialistas em hardware e programadores. O usuário comum não deve modificar parâmetros nesses sistemas, sob o risco de inutilizar seu funcionamento e derrubar o servidor.
/dev é um sistema de arquivos virtual que armazena todos os dispositivos (devices) que são criados pelo sistema udev durante o processo de boot, através de recursos como PNP (Plug and Play) e informações do SETUP presente na BIOS da placa mãe.
Os arquivos em /dev são pontos de ligação entre o hardware e os módulos. Sem eles, um dispositivo não funciona corretamente, pois não é possível estabelecer a comunicação entre o dispositivo físico e o driver de software diretamente.
Uma vez que o driver é parte do kernel, ele é isolado do espaço usuário. Os dispositivos em /dev são o ponto de contato entre o kernel e o espaço usuário.
A maioria dos arquivos em /dev é do tipo especial de bloco, caractere, socket ou pipe. Todos esses arquivos estão envolvidos na comunicação de dados e estão relacionados com a dinâmica de entrada/saída (input/output) de dados do sistema.