Sou autodidata e não tenho um diploma em CS. Quanto mais aprendi sobre estrutura de dados, mais me pergunto, nos dias de hoje, como ainda estamos sobrecarregados com o sistema de arquivos, com diretórios e arquivos, como a estrutura básica de armazenamento de dados no sistema operacional?
Entendo a simplicidade, mas parece que hoje em dia pode haver mais opções disponíveis nativamente. Tanto quanto sei, o único projeto para melhorar a funcionalidade básica do sistema de arquivos foi o ReiserFS, onde você pode dizer qual linha de um arquivo foi alterada por quem e quando.
Por exemplo, se eu pudesse ter tags nativas para arquivos, onde eu poderia marcar imagens, diagramas, documentos de processamento de texto, um repositório de códigos inteiro, todos pertencentes a um único projeto, isso seria realmente útil para mim. Como estou preso ao paradigma do sistema de arquivos, sei que poderia colocar todos eles em uma única pasta / diretório, mas e se eles já existirem em diretórios diferentes e precisarem ficar lá? Eu sei que existem programas por aí que podem fazer isso, mas por que eles não estão no sistema de arquivos?
Algo que seria bom ter é algum tipo de recurso relacional no sistema de arquivos, como você obtém com RDBMSes. Entendo que isso deveria fazer parte do Vista / 7, mas também caiu na lista de recursos.
Certamente, qualquer programa pode armazenar um arquivo binário e ter qualquer estrutura de dados que deseje, por que o sistema operacional não poderia oferecer maneiras mais complexas de armazenar dados, além da simples hierarquia do sistema de arquivos?