Às vezes nos referimos a eles como filesystems
, porque às vezes esses diretórios são pontos de montagem. Tanta coisa para a única pergunta que você fez ...
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 uma mídia de armazenamento.
- A metodologia usada pelo SO para oferecer aos processos acesso unificado aos dados.
O conceito de arquivos e diretórios é uma metáfora. Para um computador, existem apenas dados e toda mídia não passa de dispositivos que podem armazenar dados. Alguns dispositivos permitem a leitura e gravação de dados (por exemplo, HDD), outros dispositivos apenas permitem a leitura de dados (por exemplo, CD-ROM) e existem até dispositivos que permitem apenas a gravação de dados (por exemplo, impressora). Usamos a metáfora de arquivo e diretório para estruturar 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 da estruturação. Nós os usamos para colocar rótulos em blocos de dados (arquivos) e 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 é bastante uma tarefa, e é por isso que não há apenas um sabor do sistema de arquivos.
O outro aspecto dos sistemas de arquivos é que é tarefa do sistema operacional tornar os dados armazenados nos dispositivos de armazenamento acessíveis a todos os programas. Isso é realizado 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 qualquer outra coisa. Os programas / processos acessam arquivos e diretórios de maneira uniforme.
O sistema operacional organiza toda a mídia de armazenamento, ou seja, seus sistemas de arquivos, em uma estrutura superordenada. Os programas acessam arquivos e diretórios por meio dessa estrutura superordenada 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. Essa estrutura superordenada é frequentemente 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 Linux está inicializando, o kernel cria o sistema de arquivos virtual (VFS). Logo após a criação, ele está vazio e consiste apenas em seu ponto de entrada, também conhecido como raiz, transcrito /
. 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 no disco rígido. Como é adicionada na raiz do VFS, essa partição é frequentemente chamada de sistema de arquivos raiz.
Agora, aqui vem a parte em que as linhas ficam borradas 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 eles existe na partição raiz. No entanto, todo 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 são geralmente diretórios vazios, para que não tornemos os dados inacessíveis montando outros sistemas de arquivos na parte superior.
Quando você instala o sistema operacional, cabe a você decidir se deseja 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. O ú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 referidos como sistemas de arquivos.
Para os computadores que geralmente temos em casa, dividir sua instalação em vários sistemas de arquivos não é mais necessário. Ainda pode haver boas razões para fazê-lo, mas isso está fora do escopo desta publicação.
Para manter o restante desta postagem curta: Partições são outro meio de estruturar dados em dispositivos de armazenamento. Com as partições, é possível extrair espaço de armazenamento contíguo de um dispositivo de armazenamento físico e oferecê-lo como dispositivo de armazenamento individual ao sistema operacional (no qual é possível colocar sistemas de arquivos para montar no VFS). Uma razão para fazer isso pode ser porque um possui apenas um disco rígido, mas deseja empregar muitos sistemas de arquivos diferentes. A partição na qual o sistema de arquivos raiz vive é frequentemente chamada de partição raiz.