Todos os sistemas de arquivos que encontrei foram baseados em pastas - você tem uma pasta raiz, que contém arquivos e subpastas, que por sua vez contém arquivos e subpastas, e assim por diante.
Existe uma alternativa melhor para organizar arquivos e ele substituirá o sistema atual em breve? Sinta-se à vontade para incluir algum histórico sobre sistemas de arquivos, se julgar que está em ordem na sua resposta.
Interprete o termo "melhor" como quiser.
file-structure
file-storage
gablin
fonte
fonte
Respostas:
Sim.
Não.
Você não pode substituir a hierarquia como uma maneira de organizar conceitos.
Todos os sistemas de arquivos têm links físicos: os sistemas de arquivos atuais não são hierárquicos.
As pessoas as usam dessa maneira porque pessoas assim.
No entanto, o sistema de arquivos é um banco de dados "em rede" (não hierárquico). Nós simplesmente não fazemos muito uso dos recursos de rede por um motivo óbvio. Qualquer coisa que não seja uma simples hierarquia é confusa.
fonte
git
. Emboragit
indiscutivelmente crie um sistema de arquivos, seus commits formam uma estrutura que não é hierárquica. Eles formam um DAG em sua forma mais geral, o que permite qualquer combinação de ramificação e fusão. A maioria dos arquivos é referenciada por uma tonelada de confirmações diferentes, até os pontos em que foram alteradas no histórico. Além disso, os objetos file / tree / commit nunca podem mudar. E são precisamente essas peculiaridades que tornam o sistema de arquivos quegit
cria tão altamente útil.Eu acho que não, pois houve algumas tentativas (por exemplo, WinFS ), que foram todas eliminadas. A estrutura "pasta" é uma estrutura hierárquica muito comum. Eu posso ser visto como taxonomia. Eu sinto que é uma maneira natural de organizar recursos.
Por outro lado, você pode ter visualizações de front-end, como "arquivos recentes" ou "todas as minhas músicas". Mas não há motivo real para implementar isso em nível baixo, no próprio sistema de arquivos. Você pode ter uma estrutura de dados para essa compilação no sistema de arquivos hierárquico.
fonte
Eu acho que o sistema de arquivos em forma de árvore, baseado em pastas, é comum, mas não é o melhor. Na verdade, acredito que uma boa classificação de um arquivo é melhor do que colocar um arquivo em um determinado local, por exemplo, pasta.
Os arquivos têm conteúdo diferente e, portanto, um arquivo mp3 contém meta-informações diferentes em comparação com, digamos, um arquivo png. Mostrado em uma lista com colunas, ocorre um problema, apenas colunas como tamanho, data de criação etc. são comuns.
Se você observar o Windows Explorer, por exemplo, as colunas mudam quando determinados tipos de arquivos são detectados. Se você possui muitos arquivos mp3 em um diretório, por exemplo, colunas como Álbum, Título etc. ocorrem. Se entre esses arquivos houver um arquivo png, essas colunas / células não farão sentido para esse arquivo / linha específico.
Descobri que muitas vezes faria sentido colocar um arquivo em mais de uma pasta, apenas porque existem mais de uma propriedade de classificação que identifica o arquivo. Mas por que um 'local', uma 'pasta' classifica um arquivo?
Se eu tenho um carro, não importa se está na garagem, em um estacionamento ou em outro lugar, não é o 'lugar' que identifica meu carro, mas suas propriedades.
Quando todos os meus arquivos são classificados corretamente e precisos por metadados, não importa onde estão armazenados, é apenas em alguma "nuvem". Se eu precisar obter um determinado arquivo, isso deve ser feito pelas especificações dos metadados.
fonte
Alguns sistemas operacionais experimentais nem sequer possuem arquivos. Eles têm algum mecanismo de persistência ortogonal . Veja alguns projetos acadêmicos de SO ( Coyotos , Grasshopper , IsaacOS , etc ...).
E as antigas máquinas Lisp da década de 1980 também podem não ter sistemas de arquivos como os conhecemos hoje.
O site inativo tunes.org teve algumas discussões (do século anterior) sobre SO sem arquivos.
O problema com sistemas operacionais não baseados em arquivos é que eles precisam reimplementar tudo; até um compilador C precisa de algum sistema de arquivos ... E, infelizmente, existem poucos incentivos econômicos para desenvolver um sistema operacional desse tipo a partir do zero.
Observe, no entanto, que nossos discos terabytes são uma bagunça suja (sistemas de arquivos hierárquicos não são a melhor maneira de organizar dados neles), e seria ótimo se pudéssemos ter algo melhor que os sistemas de arquivos inspirados no Unix (que foram copiados no Windows) .
Sistemas de arquivos hierárquicos foram inventados com Multics (1969); O Unix os copiou.
fonte