Tous les systèmes de fichiers que j'ai rencontrés étaient basés sur des dossiers - vous avez un dossier racine, qui contient des fichiers et des sous-dossiers, qui à son tour contient des fichiers et des sous-dossiers, etc.
Existe-t-il une meilleure alternative à l'organisation des fichiers et remplacera-t-il bientôt le système actuel? N'hésitez pas à inclure un historique des systèmes de fichiers, si vous jugez que cela est en ordre dans votre réponse.
Interprétez le terme «mieux» comme bon vous semble.
file-structure
file-storage
gablin
la source
la source
Réponses:
Oui.
Non.
Vous ne pouvez pas remplacer la hiérarchie pour organiser les concepts.
Tous les systèmes de fichiers ont des liens matériels: les systèmes de fichiers actuels ne sont pas hiérarchiques.
Les gens les utilisent de cette façon parce que les gens aiment ça.
Cependant, le système de fichiers est une base de données "en réseau" (pas hiérarchique). Nous n'utilisons simplement pas beaucoup les capacités du réseau pour une raison évidente. Tout autre chose qu'une simple hiérarchie prête à confusion.
la source
git
. Bien qu'ilgit
crée incontestablement un système de fichiers, ses validations forment une structure qui n'est pas hiérarchique. Ils forment un DAG dans sa forme la plus générale, ce qui permet toute combinaison de ramification et de fusion. La plupart des fichiers sont même référencés par une tonne de validations différentes, jusqu'aux points où ils ont changé dans l'histoire. De plus, les objets file / tree / commit ne peuvent jamais changer. Et ce sont précisément ces particularités qui rendent le système de fichiers quigit
crée tellement utile.Je ne pense pas, car il y a eu quelques tentatives (par exemple WinFS ), qui ont toutes été tuées. La structure "dossier" est une structure hiérarchique très courante. Je peux être considéré comme une taxonomie. Je pense que c'est une façon naturelle d'organiser les ressources.
D'un autre côté, vous pouvez avoir des vues frontales, comme «fichiers récents» ou «toute ma musique». Mais il n'y a aucune raison réelle de l'implémenter à bas niveau, dans le système de fichiers lui-même. Vous pouvez avoir une structure de données pour cette construction au-dessus du système de fichiers hiérarchique.
la source
Je pense que le système de fichiers arborescent basé sur des dossiers est courant, mais ce n'est pas le meilleur. En effet, je crois qu'une bonne classification d'un fichier est meilleure que de placer un fichier dans un certain «endroit», par exemple un dossier.
Les fichiers ont un contenu différent et, par conséquent, un fichier mp3 contient des métadonnées différentes par rapport à, disons, un fichier png. Dans une liste de colonnes, un problème se produit, seules les colonnes telles que la taille, la date de création, etc. sont communes.
Si vous regardez l'explorateur Windows par exemple, les colonnes changent lorsque certains types de fichiers sont détectés. Si vous avez beaucoup de fichiers mp3 dans un répertoire par exemple, des colonnes comme Album, Titre, etc. se produisent. Si parmi ces fichiers il y a un fichier png, ces colonnes / cellules n'ont pas de sens pour ce fichier / ligne particulier.
J'ai découvert que plusieurs fois, il serait logique de placer un fichier dans plusieurs dossiers, simplement parce qu'il existe plusieurs propriétés de classification qui identifient le fichier. Mais pourquoi un «lieu», un «dossier» devraient-ils classer un fichier?
Si j'ai une voiture, peu importe qu'elle soit dans le garage, dans un parking ou ailleurs, ce n'est pas le «lieu» qui identifie ma voiture, mais ses propriétés.
Lorsque tous mes fichiers sont classés correctement et précisément par métadonnées, cela ne me dérange pas où ils sont stockés, c'est juste dans un «cloud». Si j'ai besoin d'obtenir un certain fichier, cela doit être fait en spécifiant les métadonnées.
la source
Certains systèmes d'exploitation expérimentaux n'ont même aucun fichier. Ils ont des machines de persistance orthogonales . Regardez quelques projets académiques OS ( Coyotos , Grasshopper , IsaacOS , etc ...).
Et les vieilles machines Lisp des années 80 pourraient également ne pas avoir de systèmes de fichiers tels que nous les connaissons aujourd'hui.
Le site inactif tunes.org a eu quelques discussions (du siècle précédent) sur le système d'exploitation sans fichiers.
Le problème avec les systèmes d'exploitation non basés sur des fichiers est qu'ils doivent tout réimplémenter; même un compilateur C a besoin d'un système de fichiers .... Et malheureusement, il existe peu d'incitations économiques pour développer un tel système d'exploitation à partir de zéro.
Notez cependant que nos disques téraoctets sont un sale gâchis (les systèmes de fichiers hiérarchiques ne sont pas le meilleur moyen d'organiser les données en eux), et ce serait génial si nous pouvions avoir quelque chose de mieux que les systèmes de fichiers inspirés d'Unix (qui ont été copiés sous Windows) .
Des systèmes de fichiers hiérarchiques ont été inventés avec Multics (1969); Unix les a copiés.
la source