Le système de gestion de fichier

Introduction

 Vue de l'explorateur WindowsJ'espère que vous le savez, l'ordinateur, contrairement aux machines à écrire, vous permet de sauvegarder vos documents. D'une manière ou d'une autre, il possède une mémoire. Comme rien n'est simple en informatique, il existe différents types de mémoire [cf Les différents types de mémoire d'un ordinateur], mais celle qui nous intéresse ici est la mémoire morte ou ROM. C'est celle qui ne nécessite pas d'électricité: le terme morte désignant la sauvegarde du contenu même si l'ordinateur est mort, c'est à dire non branché. Faites un essai: éteignez votre ordinateur, débranchez aussi longtemps qu'il vous plaira,  rebranchez et rallumez-le, les données sont toujours là.
La gestion de cette mémoire s'effectue à deux niveaux: physique et logique ou encore hardware et software. Le premier désigne le support physique de l'information sur un composant réel, que vous pouvez toucher, qui existe vraiment, le disque dur. Celui-ci se trouve à l'intérieur de votre ordinateur, dans la boite appelé unité centrale. Le second mot -software-, désigne un logiciel, un programme, ou un outil virtuel exécuté par l'ordinateur. C'est ce que l'on appelle la dualité hardware/software. Comme dans la vie de tous les jours, pour faire quelque chose, il faut un outil physique et une méthode. Planter un clou demande par exemple un marteau et la méthode d'utilisation. Donnez ce marteau à un singe: il ne saura pas vous planter un clou. Enlevez le marteau à l'ouvrier: il ne pourra pas non plus le planter. Il faut toujours les deux!
 
Exemple concret de la dualité hardware/software:
Imaginez que vous ayez à retenir une liste de course. Il vous faut donc un papier, un crayon, savoir lire et savoir écrire. Le papier et le crayon sont le hardware: deux composants du monde réel, que vous pouvez toucher, qui vous sont nécessaires pour effectuer l'opération, mais qui en tant que tels ne servent à rien: posez les sur une table, la liste de course de s'écrira pas. Il vous faut en effet ajouter un outil software: vos connaissances, c'est à dire le procédé mentale de reconnaissance des caractères et qui aux lettres associe des mots et aux mots un sens. Ce procédé n'a pas de réalité concrète, vous ne pouvez pas le toucher, et pourtant lui aussi est nécessaire à liste de course.
Lire et écrire, il vous faut donc un support physique et une méthode abstraite.
 
Dans un ordinateur la mémoire morte, - celle qui retient les informations  lorsque l'ordinateur est éteint - est inscrite sur le disque dur pour la partie support physique, et par le système d'exploitation pour la partie méthode. Ce dernier est un ensemble d'outils et de logiciels destinés à faire fonctionner les composants physiques de votre ordinateur et à fournir les fonctions de bases pour le développement de programmes. C'est ce que le grand public connait sous le nom de Windows, Linux, MacOS, Unix ou autre.
 
Dans la suite de l'article, nous aborderons les thèmes d'abstraction matérielle et de fragmentation, concepts dont la lecture peut également vous intéresser.

Le système de gestion de fichier

 Depuis l'invention de l'ordinateur, l'ensemble des données d'un disque dur est présenté à l'utilisateur sous forme de fichiers. C'est le cas pour tous les systèmes d'exploitation, bien qu'en théorie rien n'interdise d'inventer un nouveau paradigme (manière de voir les choses). Il faudrait juste trouver mieux!
 
Les fichiers sont une vue abstraite des données fournie à l'utilisateur afin de lui en faciliter l'utilisation. La gestion des fichiers sur votre ordinateur est gérée par une structure de donnée nommé le système de gestion de fichier, SGF ou encore filesystem. Elle permet de naviguer d'un fichier à l'autre par le principe des répertoires et dossiers, de renommer un fichier, de le copier, le coller, le déplacer, le supprimer,...
 
Ce système de gestion de fichier est une abstraction pour l'utilisateur [cf abstraction matérielle et logicielle]. Vous imaginez bien que suivant la nature du support (CD, disquette, disque dur, clé USB, ...) le principe de la lecture/écriture n'est pas la même. La disquette nécessite un lecteur magnétique, le CD un lecteur optique, la clé USB un lecteur numérique, etc.... L'utilisateur lui n'a qu'à effectuer un copier/coller ou enregistrer sous son fichier et le gestionnaire de fichier s'occupe du reste. Ce gestionnaire détermine l'endroit où est stocké le fichier et en commande la lecture ou l'écriture suivant la nature du support. Il peut diviser le fichier en morceaux s'il le faut [la fameuse fragmentation, cf Qu'est-ce que la défragmention] et gère la hiérarchie des dossiers.
Notons que le système de gestion de fichier (nous abrègerons désormais en SGF) utilise lui-même une autre abstraction: le driver. Chaque support a un driver associé qui est un petit outil capable d'écrire ou de lire sur le support. Il est différent pour chaque type, marque et même modèle de support. Chaque clef USB a un driver différent. Si votre système d'exploitation (XP, Vista, Linux, Max, ...) est capable de la reconnaître et l'utiliser tout seul, c'est que des drivers génériques sont inclus: une manière générale d'utiliser le composant qui prend pas en compte ses options particulières, de même que lors du permis de conduire on nous apprend à conduire, pas à utiliser les options particulières de la voiture comme la radio ou le toit ouvrant.
Certains périphériques en revanche ne fonctionnent pas avec les drivers génériques: il n'y a pas une manière générale de s'en servir et c'est pourquoi ils sont livrés avec un CD d'installation (caméra, magnétoscope, appareil photo, webcam, etc...).
 
Le fait de simplifier le fonctionnement réel à l'utilisateur est appelé abstraction matérielle. Imaginez que vous deviez effectuer une opération différente pour enregistrer un document suivant que vous le vouliez sur telle ou telle clef USB en fonction de la marque ou même du modèle de la clef: impensable! [cf abstraction matérielle et logicielle]
 
Exemple concret d'abstraction matérielle
On considère en informatique que le résultat (enregistrer, copier, etc...) prime pour l'utilisateur. Ceci est une évidence de la vie de tous les jours: seul le résultat compte. Imaginons que Brigitte veuille indiquer par téléphone à Monique l'adresse de son coiffeur préféré: une donnée à retenir absolument! Il lui suffit de dire à Monique "note donc cette adresse: 123, rue des Cheveux Lisses, 42000, Coiffland". C'est une abstraction matérielle, peu importe si Monique note cela sur une feuille A4 ou un Post-It, au crayon ou au feutre. Pour Brigitte, la seule chose qui compte est que l'information est été retenue. Imaginez la complication si à chaque fois que Monique donne cette adresse à une de ses amis elles doivent en plus lui apprendre comment écrire! "Tends la main en direction de la feuille. Ferme tes doigts, ramène la feuille vers toi, prends un stylo, c'est un objet tubulaire avec une pointe...."
Ici, Brigitte demande et Monique gère sa manière de retenir la chose pour retrouver l'information plus tard. Dans le cas d'un ordinateur, c'est pareil: l'utilisateur effectue un copier/coller et le système de gestion de fichier gère le transfert d'un endroit à un autre, en utilisant le driver approprié suivant qu'il faille écrire sur un CD ou une clef USB, une feuille ou un bout de tissu. Ce qui compte, c'est que l'utilisateur puisse retrouver son fichier à l'endroit où il l'a laissé!

Concrètement, le système de gestion de fichier, il fait quoi?

Le SGF vous fournit une vue arborescente de vos fichiers sous une forme visuelle facile d'utilisation. C'est cette vue que vous voyez dans votre explorateur de fichier (dans Poste de Travail sous Windows). Rappelez-vous: ça commence avec un disque: disque dur C:\  ou clé USB E:\. On appelle ceci la racine ou point de montage. Dedans des dossiers ou des fichiers. Un dossier peut lui-même contenir des dossiers ou des fichiers et ce à l'infini.
 
Le SGF, c'est lui qui gère tout ça. Il vous offre des opérations sur ces fichiers:
- créer/détruire des fichiers ou dossier
- modifier le contenu d'un fichier
- renommer
- copier/coller
- ...
Il gère également les métadonnées des fichiers:
- droits d'accès en lecture, écriture et exécution
- dates de dernier accès, de modification des métadonnées ou des données
- propriétaire et groupe propriétaire du fichier
- taille du fichier
- ...
Enfin le SGF gère la taille des clusters et leur utilisation: il fractionne les fichiers en morceaux et s'occupe de mettre en place un mécanisme pour retrouver chacun de ses morceaux. [cf disque dur et défragmentation]

Pour aller plus loin...

Nous vous invitons à voir plus en détail le fonctionnement du système de gestion de fichier en parcourant les articles sur la mémoire, mais surtout sur la fragmentation des données. Vous découvrirez notamment pourquoi faut-il défragmenter son disque dur.
Votre note : Aucun(e) Moyenne : 3.3 (3 votes)