Comparando estruturas do sistema de arquivos
Queremos comparar as estruturas do sistema de arquivos em busca de diferenças não estéticas.
Nós comparamos sistemas de arquivos hierárquicos com uma estrutura em árvore de diretórios,
com sistemas de arquivos planos que possuem apenas um local que contém todos os arquivos, semelhante a um único diretório sem subdiretórios.
Os dois principais tipos de diferenças estão no tempo da CPU e no uso da memória.
Outro tipo que pode ser relevante aqui é a complexidade da implementação.
Desempenho do acesso a arquivos
O desempenho dos diretórios de listagem depende da contagem de arquivos do diretório.
Mesmo em sistemas de arquivos hierárquicos, pode ser um problema listar arquivos em um diretório para excluí-los, se forem muitos.
Isso não é relevante para apenas milhares de arquivos, mas para centenas de milhares em cada um dos 100 diretórios, é melhor não colocá-los todos em um sistema de arquivos simples ou em um único diretório.
O problema é que uma listagem de diretório está passando por toda a lista - porque nenhuma árvore é usada dentro do diretório.
Para encontrar um arquivo, cerca de metade dos nomes dos arquivos devem ser lidos, em média.
Para arquivos 1000000 em um sistema de arquivos simples, isso significa que precisamos ler 500.000 nomes.
Em uma estrutura em árvore, poderíamos usar dois níveis da árvore dividindo os arquivos em 1000 diretórios, com 1000 arquivos cada. Para encontrar um, precisamos ler 500 nomes em média em cada nível, 1000 no total. Poderíamos também usar três níveis com 100 entradas. Precisamos ler 150 nomes em média.
Com este cálculo de exemplo, é plausível que uma estrutura de árvore possa facilmente ser muito mais rápida do que o sistema de arquivos simples, como 2000 vezes mais rápido.
Múltiplos usos
Parte da árvore em um sistema de arquivos hierárquico pode ser usada para alguma finalidade separada , enquanto não estiver usando o restante para essa finalidade:
Por exemplo, você pode montar outro sistema de arquivos - plano ou não - em um subdiretório de um sistema de arquivos hierárquico.
A montagem no sistema de arquivos simples faz tão pouco sentido quanto a montagem na raiz de um sistema de arquivos hierárquico.
Permissões
Um sistema de arquivos estruturado em árvore possui subseções - os subdiretórios - que você pode atribuir permissões.
Em um sistema de arquivos simples, você não pode fazer alguém ver apenas parte dos nomes dos arquivos.
Para alterar permissões em um sistema de arquivos simples, para parte dos arquivos, não é possível de uma só vez - ele precisa de alterações nas permissões de arquivos individuais e pode levar segundos ou minutos enquanto as permissões não são claras e estão sendo alteradas.
Pequeno e simples
Sistemas de arquivos simples podem ter vantagens em ambientes limitados de recursos - em sistemas embarcados.
Uma implementação de sistema de arquivos simples pode ser muito simples. E contanto que a contagem de arquivos para manusear seja pequena, ela pode até ser mais rápida que um sistema de arquivos hierárquico!
Um dispositivo de hardware pode precisar armazenar uma lista de arquivos, cada um rotulado com um número e nunca mais de 1000 de uma só vez. Para essa tarefa, usar um sistema de arquivos simples faz sentido se permitir o uso de um processador menor, resultando em maior vida útil da bateria.
A simplicidade de um sistema de arquivos simples também pode ser útil para garantir que o sistema de arquivos não possua bugs na implementação.