Às vezes nos referimos a eles como filesystems
, porque às vezes esses diretórios são pontos de montagem. Tanto para a única pergunta que você perguntou ...
filesystem
pode se referir a duas coisas diferentes ... ou na verdade dois aspectos muito diferentes da mesma coisa:
- A estrutura lógica usada para organizar dados em um meio de armazenamento.
- A metodologia usada pelo sistema operacional para oferecer aos processos acesso unificado aos dados.
O conceito de arquivos e diretórios é uma metáfora. Para um computador, há apenas dados e toda a mídia não é nada além de dispositivos que podem conter dados. Alguns dispositivos permitem ler e gravar dados (por exemplo, HDD), outros dispositivos apenas permitem a leitura de dados (por exemplo, CD-ROM) e existem dispositivos que permitem apenas a gravação de dados (por exemplo, impressora). Usamos a metáfora de arquivo e diretório para estruturar os dados, para que possamos acessar pequenos pedaços de dados, em vez de tudo ao mesmo tempo.
Os sistemas de arquivos que colocamos na mídia de armazenamento, por exemplo, ext4, xfs, fat fazem a parte estruturante. Nós os usamos para colocar rótulos em pedaços de dados (arquivos) e para ter uma lista estruturada consistente de todos os rótulos (diretórios). A lista estruturada é na verdade uma árvore. O aspecto mais importante é que uma árvore tem exatamente um começo, sua raiz. Manter essa estrutura e garantir que os dados estejam e permaneçam acessíveis é uma tarefa e, por isso, não há apenas um tipo de sistema de arquivos.
O outro aspecto dos sistemas de arquivos é que o trabalho do sistema operacional é tornar os dados armazenados em dispositivos de armazenamento acessíveis a todos os programas. Isso é feito por duas coisas:
-
O sistema operacional oferece precisamente uma interface (de programação) para acessar e interagir com arquivos e diretórios. Para programas / processos, não importa se o sistema de arquivos no dispositivo de armazenamento é ext2, xfs, fat ou whatever. Progams / processos acessam arquivos e diretórios de maneira uniforme.
-
O SO organiza toda a mídia de armazenamento, ou seja, seus sistemas de arquivos, em uma estrutura de superordinate. Os programas acessam arquivos e diretórios por meio dessa estrutura superior e não precisam interagir diretamente com os dispositivos de armazenamento. Dessa forma, os programas não precisam se preocupar com qual dispositivo os dados realmente residem. Esta estrutura superordenada é freqüentemente chamada de "sistema de arquivos virtual" do kernel.
Adicionar o sistema de arquivos de um dispositivo de armazenamento ao sistema de arquivos virtual é chamado
"montar" um sistema de arquivos. Quando o seu Linux está iniciando, o kernel cria o sistema de arquivos virtual (VFS). Logo após a criação está vazia e consiste apenas em seu ponto de entrada, a.k.a. sua raiz, transcreveu /
. Em seguida, o kernel monta um sistema de arquivos na raiz do VFS. Este é um ramdisk ou imediatamente um sistema de arquivos em uma partição em um disco rígido. Como é adicionado na raiz do VFS, essa partição é freqüentemente chamada de sistema de arquivos raiz.
Agora vem a parte em que as linhas se confundem e vemos que os sistemas de arquivos nos dispositivos de armazenamento e o VFS do kernel são, na verdade, dois aspectos da mesma tarefa do sistema operacional:
Com a montagem de um sistema de arquivos raiz, o VFS contém muitos arquivos e diretórios, todos os quais existem na partição raiz. No entanto, cada diretório pode se tornar um "ponto de montagem". Um ponto de montagem é onde o VFS coloca o ponto de entrada em um sistema de arquivos em um dispositivo de armazenamento. Isso significa que sempre que montamos um sistema de arquivos em um diretório, informamos ao VFS que, em vez de acessar os dados armazenados nesse diretório, preferimos acessar os dados em um dispositivo de armazenamento diferente. Os pontos de montagem geralmente são diretórios vazios, para que não tornemos os dados inacessíveis montando outros sistemas de arquivos no topo.
Quando você instala seu sistema operacional, depende de você decidir se quer colocar todos os dados em um sistema de arquivos que se torna seu sistema de arquivos raiz ou se deseja dividir seus dados entre vários sistemas de arquivos. Este último requer que seu sistema operacional monte todos os sistemas de arquivos individuais, para tornar todos os dados acessíveis. Como você divide as coisas é uma questão de como você projeta seu sistema. É por isso que, às vezes, os diretórios que você conhece da sua instalação são referenciados como sistemas de arquivos.
Para os computadores que normalmente temos em casa, a divisão de sua instalação em vários sistemas de arquivos não é mais necessária. Ainda assim, pode haver boas razões para isso, mas isso está fora do escopo desta postagem.
Para manter o restante desta postagem curta: As partições são outro meio de estruturar dados em dispositivos de armazenamento. Com partições, um espaço de armazenamento contíguo é copiado de um dispositivo de armazenamento físico e é oferecido como dispositivo de armazenamento individual para o sistema operacional (no qual é possível colocar sistemas de arquivos para serem montados no VFS). Uma razão para fazer isso é que um deles tem apenas um disco rígido, mas quer empregar muitos sistemas de arquivos diferentes. A partição na qual o sistema de arquivos raiz mora é frequentemente referida como partição raiz.