Un système de fichiers est-il juste la disposition des dossiers?

56

J'utilise Windows depuis mon enfance, et quand j'entends l'expression "système de fichiers Windows", je pense à des répertoires (dossiers) dans des répertoires, à un dossier appelé SYSTEM, à un dossier appelé PROGRAM FILES, etc. Est-ce ainsi que le système est? Juste la mise en page des dossiers?

Et puis, j'ai récemment commencé à utiliser Linux, et mon livre de référence indique que, dans le système de fichiers Linux, tout commence à la racine et se branche à partir de là. Comment est-ce vraiment différent de Windows? Je veux dire, il semble que le système Linux et le système Windows ne sont que deux façons de configurer une arborescence de répertoires. Est-ce ce que signifie le système de fichiers?

P_Q
la source
3
Avez-vous essayé de lire en.wikipedia.org/wiki/Filesystem ?
Choroba
2
Pour votre information, il n'y a pas de "système de fichiers Linux". Ce que le livre voulait dire, c'est l'arborescence des répertoires Linux. Et, oui, l’arborescence de répertoires n’est que la disposition des dossiers.
user606723
2
Linux n'a pas le concept de lecteurs , de sorte que tout est monté sous /. Sous Windows, ce n’est pas le cas, car il manque un montage de type UNIX (corrigez-moi si je me trompe ici), donc tout est organisé en fonction des lecteurs.
new123456
1
@ new123456 Sentez-vous corrigé. Windows supporte le montage (depuis W2K ou NT), bien que cette fonctionnalité soit très rarement utilisée.
Kubanczyk

Réponses:

130

Juste la mise en page des dossiers?

Cela semble trop beau pour être vrai ...

Prenons le système de fichiers FAT32 comme exemple. Je peux installer Windows XP sur celui-ci, mais je peux aussi l'utiliser sur une carte mémoire. Sur une carte mémoire, vous n'avez pas ces dossiers que vous résumez.

Alors ... Ne confondez pas la structure de répertoires d'une famille de systèmes d'exploitation avec un système de fichiers.

Est-ce que cela signifie un système de fichiers?

Non ... Il fait référence aux bits et octets sous-jacents qui permettent à votre structure de répertoire de fonctionner.

Les bits et octets sous-jacents? Montrez-moi FAT32!

Regardons à quoi ressemble FAT32 , il a:

  • Certains secteurs d'en-tête au début, comme l'ID de volume et les secteurs réservés
  • Deux tables d’allocation de fichiers nous permettant de savoir où sont nos fichiers.
  • Clusters contenant toutes nos données de répertoire et de fichier.
  • Un très petit espace inutilisé que nous ne pouvons pas utiliser.

Une table FAT se compose de nombreuses entrées qui ressemblent à ceci, ce qui nous permet de déterminer où le répertoire ou le fichier est stocké dans l’espace des clusters, ainsi que certains attributs et leur taille.

Une entrée de répertoire pointe vers une liste d'entrées de répertoire / fichier ...

Dans l'espace des clusters, nous pouvons maintenant parcourir nos clusters pour trouver les données dont nous avons besoin. Un cluster contient essentiellement des données et des informations où se trouvent les prochains fragments.

entrez la description de l'image ici

Est-ce que d'autres systèmes de fichiers diffèrent? Montrez-moi NTFS!

Je vais vous montrer une image pour que vous puissiez remarquer les différences, le reste est un devoir pour le lecteur: vous pouvez trouver plus d'informations sur ces archives de blog ou sur Google.

L'idée principale est que NTFS est une énorme amélioration par rapport à FAT32, qui est plus robuste / efficace. Avoir une meilleure idée de l'espace (non) utilisé en utilisant un bitmap pour aider davantage contre la fragmentation. Etc...

- http://thinkdifferent.typepad.com/photos/uncategorized/04ntfsfilesystem.png

Qu'en est-il des systèmes de fichiers sous Linux? Montrez-moi ext2 / 3!

L'idée est que ext2 / ext3 utilise des superblocs et des inodes; Cela permet de créer des liens symboliques et physiques, des répertoires sous forme de fichiers, des fichiers portant plusieurs noms, etc. L'essentiel est abstrait pour permettre au système de fichiers d'être capable de faire plus de méta-ish ...

- http://thinkdifferent.typepad.com/photos/uncategorized/03extfilesystem.png

Tamara Wijsman
la source
@Shadok: Je pourrais améliorer les dernières sections plus tard, je suis plutôt occupé ces jours-ci ... Merci.
Tamara Wijsman
2
Je voudrais +2 ceci si je pouvais. Maintenant, pourquoi ne pas plus de documents et les spécifications ressemblent plus à ceci!?
greatwolf
Peut-être devriez-vous écrire un article sur ce blog @TomWijsman ;-)
Ivo Flipse
@IvoFlipse: A "Stockage de données: comment ça marche?" série pourrait être possible, voici une autre réponse . Big & $ # images disent plus que les mots ... :)
Tamara Wijsman
Cela semble être une bonne idée
Ivo Flipse
14

La grande différence entre Linux et Windows, du moins en ce qui concerne leurs systèmes de fichiers et leurs arborescences de répertoires, est que sous Linux, "tout est un fichier" et que tout est issu d'une racine unique. Ceci s'applique également à presque tous les systèmes d'exploitation dérivés d'Unix tels que BSD, OS X, Solaris, etc., mais je vais simplement dire que "Linux" doit être générique (si ce n'est tout à fait exact).

Mais qu'est-ce que cela signifie en pratique?

Windows autorise plusieurs racines nommées pour leurs systèmes de fichiers. Vous les comprenez comme des lettres de lecteur: C: D: E:etc. Chacun a une racine ( \) et un arbre qui en descend. Les versions récentes de Windows autorisent des choses telles que les points de montage de volume, où un volume (ce que vous considéreriez comme une partition) peut être monté sur un dossier vide existant. Ainsi, au lieu de D:représenter la racine de votre lecteur optique (CD / DVD / BR), vous pouvez le monter sur C:\Optical. Cela ressemble plus à ce que fait Linux. Il existe également un espace de nom d'objet sous-jacent, à racine unique, identique à ce que Linux utilise et est géré par le gestionnaire d'objets , mais la plupart des utilisateurs le voient rarement référencé car il est principalement destiné au noyau.

Linux a une seule racine: /. Tout en découle, et il n’est pas forcément nécessaire de représenter votre disque dur. Disques durs, lecteurs optiques, cartes mémoire, partages réseau, imprimantes, scanners, CPU, RAM, processus, ... tout est représenté quelque part dans cet espace de noms unique et peut être utilisé par n'importe quel processus avec les API de gestion de fichiers standard, à condition que vous ayez un niveau d'accès suffisant. Ce n'est pas parce que vous pouvez lire ou écrire que c'est un fichier sur votre disque dur sous Linux. Par exemple, les périphériques sont généralement montés dans le système /dev. Par conséquent, lorsque vous y accédez, vous entendez souvent un périphérique, par exemple une carte son, un scanner, une caméra, etc. Ces fichiers sont appelés fichiers de périphérique . Procfsest un "système de fichiers" spécial qui est normalement monté sur /procet a un "répertoire" pour chaque processus en cours d'exécution, avec des fichiers dans chaque répertoire liés à des éléments tels que la ligne de commande utilisée pour appeler ce processus, les mappes de mémoire, les fichiers ouverts, etc. Sysfs en est un autre. système de fichiers spécial (monté sur /sys) utilisé pour exposer une mine d'informations sur les objets du noyau en cours d'exécution et peut également être utilisé pour affiner le noyau en cours d'exécution en écrivant simplement dans un fichier particulier.

afrazier
la source
2
Veuillez noter qu'il est facile de confondre un système de fichiers avec la disposition des répertoires du point de vue de l'utilisateur. Tandis que le terme système de fichiers est vraiment censé avoir l'air d'être sur les internes d'un système de fichiers; par exemple. la différence entre FAT et NTFS, ainsi que les différences entre ext2 et ext3 ...
Tamara Wijsman
4
@Tom: Il semble que l'OP s'interroge vraiment sur les différences entre les différentes hiérarchies d'objets entre Linux et Windows, plutôt que sur la disposition des bits sur le disque. udev, procfs, sysfs, tmpfs, etc. sont des systèmes de fichiers au même titre que ext2 ou NTFS sous Linux, même s’ils n’impliquent pas d’informations sur le disque.
Afrazier
Ce n'est qu'une partie de sa question "Un système de fichiers est-il juste la disposition des dossiers?", La façon dont vous répondez à la question ne fait que le rendre plus confus et ne répond pas à cette question. J'ai donc laissé un avis aux lecteurs ...
Tamara Wijsman
+1 pour "tout est un fichier" sous Linux. C'est la grande différence entre Linux et Windows pour moi.
Rabarberski
3

Le système de fichiers ne concerne pas seulement la configuration d'une arborescence de répertoires, mais également la manière dont ces informations sont codées sur le support. Il existe plusieurs systèmes de fichiers pour Linux: ext3, xfs, raiserfs, etc.

choroba
la source
3

Vous pouvez considérer les systèmes de fichiers comme différents formats pour stocker des fichiers et des dossiers, un peu comme si MS Word et PDF étaient différents formats pour stocker des documents, ou que MP3 et WAV étaient différents formats pour stocker de l'audio.

A partir de quelques fichiers et dossiers, le système de fichiers est le format et le code qui les stocke sur le disque afin de pouvoir les relire.

Et comme tous les lecteurs vidéo ne peuvent pas lire tous les formats vidéo, tous les systèmes d'exploitation ne peuvent pas lire tous les systèmes de fichiers. Par exemple, si vous stockez un fichier sous Linux sur une clé USB au format ext3, Windows ne peut pas lire le fichier car il ne sait pas comment gérer le système de fichiers ext3.

Les systèmes de fichiers communs incluent

  • FAT et NTFS (Windows, NTFS est standard sur les versions Windows les plus récentes)
  • ext3 et ext4 (Linux)
  • HFS plus (OS X)
  • ISO 9660 et UDF (CD, DVD et Blu-Ray)

Voir Wikipedia pour une comparaison des systèmes de fichiers .

jg-faustus
la source