Todas as implementações do unix com sistemas de arquivos baseados em tag “planos”?

7

Pelo que entendi, arquivos no Unix são todos armazenados em uma estrutura "flat" no disco rígido - o sistema de arquivos é meramente links de diretórios para outros diretórios e, eventualmente, para folhas / nós / arquivos. Muitos hard links podem apontar para o mesmo arquivo (mas não o mesmo diretório / branch)

Houve alguma abordagem para isso, onde essencialmente não há pastas - todos os arquivos estão em uma pasta gigante e, em vez de pastas, você tem tags? Seu diretório home pode não ser arquivos em pastas, mas meramente listas de tags / pastas, onde um arquivo pode ser encontrado em mais de um?

E também algum tipo de faculdade de software para fazer consultas de tags mais complicadas, como filtragem.

    
por Justin L. 28.06.2013 / 00:47

4 respostas

6

É verdade que os dados do arquivo são "simples" na unidade de disco real. A maioria das unidades de disco modernas tem "LBA" (Logical Block Addressing), o que significa que, mesmo para o kernel, um disco é uma grande linha de blocos. Os blocos que contêm os dados de um arquivo podem ser interrompidos, porque os inodes, etc, são espaçados em toda a linha de blocos de disco. Então, "flat" é um pouco enganador como uma descrição.

Também é verdade que a parte "hierarquia" é apenas uma ficção: pastas (melhor referidas como "diretórios") e seus membros obtêm arranjos do kernel "tornando isso" lendo nomes de arquivos e números de inode correspondentes de dados de um diretório.

Mas um arranjo hierárquico de dados é bastante útil. Já em 1991, as pessoas estavam discutindo sobre isso e sendo refutadas profundamente. Veja O Sistema de Arquivos Pertence ao Kernel de Brent Welch para um melhor argumento do que eu posso compor.

Eu também me sinto compelido a notar que a Microsoft embarcou em um sistema de arquivos como banco de dados pelo menos duas vezes nos últimos 20 anos, e abandou os dois vezes, mas talvez eu seja interpretar o que o Google diz incorretamente.

    
por 28.06.2013 / 01:18
2

Existem sistemas de arquivos FUSE que fornecem exibições baseadas em tags ou consultas de um sistema de arquivos hierárquico existente, mas nenhum que eu saiba disso, você trabalha inteiramente na visão não hierárquica.

Tagfs fornece uma visualização baseada em tag, mas você precisa configurar as tags manualmente. O mesmo vale para os mais maduros Tagsistant . QueryFS tem uma prova de conceito para acessar arquivos através de consultas arbitrárias ao banco de dados.

Outras entradas na lista de sistemas de arquivos FUSE podem lhe interessar. (Aviso: esta lista não é abrangente nem atualizada.)

    
por 29.06.2013 / 03:17
1

Você já pode fazer isso hoje: mais ou menos todos os sistemas de arquivos Linux suportam atributos estendidos. Você pode usar EAs para suas tags. Mas: Provavelmente nenhum sistema de arquivos é otimizado para uma estrutura tão plana, portanto, pode se tornar bastante lento. E, claro, não é suficiente ter um sistema de arquivos que suporte isso: você precisa de um aplicativo que suporte isso também.

No KDE (e provavelmente em outros ambientes de área de trabalho também), você pode marcar arquivos com palavras-chave. Mas eles parecem não ser armazenados em EAs. Eu não sei como eles fazem isso, provavelmente com um mecanismo de banco de dados separado, pois essa é uma tarefa clássica de banco de dados.

    
por 28.06.2013 / 01:04
1
O

BeOS foi um dos experimentos mais promissores em sistemas operacionais de desktop, embora realmente não fosse uma variante Unix. Ou um sucesso comercial. Mas certamente tinha algumas idéias interessantes, uma das quais era o sistema de arquivos do BeOS, BFS .

O BFS não abandonou completamente uma estrutura hierárquica, o que é bastante útil em termos organizacionais, mas aumentou com um sistema de atributos altamente flexível, com índices mantidos como árvores B + e ganchos que permitem definir ao vivo (isto é, constantemente mantidos) ) consultas, que poderiam ser usadas para impor estruturas organizacionais alternativas.

Acho que houve reimplementações do BFS para Linux.

    
por 28.06.2013 / 04:52