Quando as pessoas dizem "No Unix, tudo é um arquivo", o que elas querem dizer é que também coisas que não são arquivos são tratadas como arquivos.
Obviamente, a maioria dos sistemas operacionais trabalha com arquivos. Arquivos de texto, arquivos de imagem, arquivos de som. Mas nem todos os sistemas operacionais tratam os dispositivos como arquivos. Essa é uma diferença importante. Se eu listar o conteúdo da minha pasta / dev / no meu sistema operacional Ubuntu (que é baseado em Unix), receberei uma lista de mais de 200 dispositivos. Alguns desses dispositivos são de hardware, mas são mostrados dentro de uma pasta. Por exemplo, discos rígidos, portas USB, mouse e teclado, dispositivos de áudio e impressoras, entre outros. Alguns dos dispositivos são virtuais, por exemplo / dev / urandom, que se comporta como um arquivo infinito cheio de números aleatórios. Não é um arquivo real no meu disco rígido.
Todos esses dispositivos são tratados como arquivos. Posso ler dados e / ou gravar dados nesses dispositivos. Aqui há exemplos de cópia de dados de diferentes dispositivos no dispositivo de áudio. Isso é possível porque eles são tratados como arquivos. O resultado (nerd) é a capacidade de ouvir o conteúdo do disco rígido, o movimento do mouse, a memória do computador ou os pixels de uma imagem. Isso seria muito mais difícil de conseguir se os dispositivos não fossem tratados como arquivos, porque cada dispositivo exigiria métodos diferentes para ler e gravar dados.
Dito isto, o que "tudo" significa varia de sistema para sistema. Por exemplo, o OS X é baseado no Unix, mas não possui um dispositivo / dev / audio. Ele usa um sistema de áudio proprietário chamado CoreAudio. Portanto, neste caso, pode-se dizer "quase tudo é um arquivo". Então, em sistemas como o Windows, onde "nem tudo é um arquivo", você ainda pode fazer coisas como copiar o conteúdo de um arquivo para a porta da impressora (digitando algo como copy mydocument.txt >lpt1:
), que é semelhante a copiar um documento para o dispositivo da impressora no Unix sistemas.
Outros sistemas operacionais, como Windows e OS X, não operam em arquivos? Sim, eles fazem. O Windows e o OS X operam em arquivos, mas o Windows não trata os dispositivos como arquivos, o que faz parte do que significa "tudo é um arquivo".