Système de Gestion de Fichier (SGF) Windows - Linux : FAT32 - NTFS - HPFS

1 Introduction
 
2     Formatage et partitionnement
      2.1     Le formatage
      2.2     Le partitionnement
            2.2.1 La partition active
            2.2.2 La partition étendue
            2.2.3 LE MBR
      2.3     Le Muli-Boot
 
3 Le SGF
      3.1     Introduction aux SGF
      3.2     Les clusters
      3.3     Les différents SGF
      3.4     Le Système de Gestion de Fichier FAT
            3.4.1 Le contenu des répertoires
            3.4.2 Le répertoire racine
            3.4.3 La table d‘allocation de fichiers
            3.4.4 Évolution des FAT
      3.5     Le système de gestion de fichier NTFS
            3.5.1 Présentation
            3.5.2 La table des fichiers maîtres : MFT
      3.6     Le système de gestion de fichier sous Linux
            3.6.1 Représentation de l'espace
            3.6.2 Les inodes
            3.6.3 Les répertoires
            3.6.4 La sécurité


1 -  Introduction 

Pour préparer une machine, c’est à dire installer un système d’exploitation, il faut suivre les étapes suivantes :
 
  • Formater physiquement le disque dur
  • Pétitionner physiquement le disque dur
  • Formater logiquement les partitions, c’est à dire créer un système de gestion de fichier
  • Installer le système d’exploitation à partir du support (CD, DVD, clef...) 
  
Toute information stockée sur une unité de stockage est rangée sous forme de fichier. La gestion de fichier est donc à la base de toute organisation de données. 

Nota : dans ce qui suit Système de gestion de fichier sera abrégé SGF

2 -  Formatage et partitionnement 

Ce sont les étapes préalables à toute installation de SE, et donc à toute mise en place d’un SGF. 
 
2.1 - Le formatage 
  
Le formatage est  une opération qui  consiste à  préparer une unité (disque,  disquette, clef USB,  CD  …)  afin de pouvoir y stocker des informations. 

Il existe 2 sortes de formatage : 
    
  • Le formatage de bas niveau  ou  physique   utilisé principalement  en  usine ou en  cas de doute sur une unité.  Ce formatage ne peut être réalisé qu’à  partir de logiciels spécifiques et réalise la subdivision de l’unité en éléments de base (pistes, secteurs, cylindres … ), chaque secteur contenant 512 octets. De plus, ce formatage repère et marque les unités défectueuses. Le formatage physique est indépendant du SE. 
  • Le formatage logique qui dépend du SE et est réalisé à l’aide des outils du SE (commande Format sous Dos). Ce formatage prépare une unité à recevoir des fichiers.
  • Le formatage logique consiste à : 
    • Effacer les données de l’unité (formatage en profondeur) ou seulement  la FAT et la table des répertoires (formatage rapide)
    • Initialise le SGF sur l’unité en cours afin de stocker ultérieurement des fichiers
    •   Écrire le secteur d’amorçage des partitions
    • Enregistrer l’octet d’Identification système (ID System) dans la table des partitions du disque.
    • Repérer et exclure les zones endommagées du SGF
 
En conclusion, le SGF a pour rôle d’organiser l’implantation des données sur le disque. 

2.2     Le partitionnement
  
Le  partitionnement  consiste  à  créer des zones physiques différentes sur le  même  disque.  Le  but  du partitionnement  est  de  séparer physiquement  des unités en  plusieurs entités afin  de  pouvoir créer une  unité contenant le système, et une autre contenant les données ou de pouvoir installer des SE différents. 
   
La séparation système -  donnée sur deux partitions augmente également  la sécurité en cas de réinstallation du système. 
  
Normalement le partitionnement se fait après le formatage physique du disque, mais certains utilitaires (Partition Magic) permettent de créer ou de redimensionner des partitions sans perdre les données. 

Sous Windows, une lettre d’unité sera affectée à chaque partition. 

Gestion des disques sous Windows XP 
   
 
Il y a trois sortes de partitions :
 
  • les partitions principales,
  • la partition étendue et
  • Les lecteurs logiques.
 
Un disque peut contenir jusqu’à quatre partitions principales (dont une seule peut être active), ou trois partitions principales et une  partition  étendue.  Dans la partition étendue l’utilisateur peut  créer des lecteurs logiques (c’est-à-dire faire en sorte que l’on ait l’impression qu’il y a  plusieurs disques durs de taille moindre).

2.2.1  La partition active :

C’est  la partition sur laquelle un des systèmes d’exploit ion est démarré au lancement de l’ordinateur. Les partitions autres que celle sur laquelle vous démarrez seront alors cachées (au moment du boot). Ainsi, les données d’une  partition  principale  ne  sont  accessibles qu’à  partir du  système  d’exploit ion  installé  sur cette partition.  Une fois l’ordinateur démarré,  les données contenues sur les autres partitions d’un  SGF  comptable avec l’OS actif sont alors accessibles, à travers un nom de volume spécifique.

2.2.2  La partition étendue :

La partition étendue a été mise au point pour outrepasser la limite des quatre partitions principales, en ayant la possibilité de créer autant de lecteurs logiques que voulu dans celle-ci. Au moins un lecteur logique est nécessaire dans une partition étendue pour pouvoir y stocker des données

Remarque :
Beaucoup  de  machines  sont  formatées  avec  une  seule  partition  utilisant  l’intégralité  de  l’espace disponible du lecteur. Ce n’est pas la solution la plus avantageuse en termes de performances et de capacité.

Créer plusieurs partitions possède plusieurs avantages :
  
  • Installer plusieurs systèmes d’exploitation sur votre disque
  •   Économiser de l’espace disque
  • Augmenter la sécurité des fichiers
  • Organiser les données plus facilement
  
Le repérage des partitions est  fait  grâce à  une table de partitions située dans un  enregistrement  particulier dit enregistrement  d’amorçage principal  ou MBR (M aster Boot Record).  Le MBR  contient  également  le Bootstrap permettant de lancer le SE. 

2.2.3  Le MBR 


Le MBR est un élément important du système qui contient : 
 
  • Les informations sur le disque
  • La table des partitions
  • Le programme lancé par le BIOS (Boot Manager ou Bootstrap pour le SE) 
 
Le MBR est une cible favorite des virus. En cas de destruction, l’ensemble des données du disque peut être perdu.

Organisation du secteur de Boot : 
  



Attention, en Système Intel, est mots de 16 bits (2 octets) sont écrits à l’envers 

 
EX : Nb d’octets par secteur à l’adresse OBH =>00 02 doit se lire 0200H =>51210 octets par secteurs

2.3 -  Le Multi-Boot 
 
Le Muli-Boot consiste à présenter un menu permettant à l’utilisateur de sélectionner le SE à charger. Il s’agit d’un programme situé dans le M BR qui est lancé par le BIOS. Ce programme lance ensuite le Boot-Loader du SE sélectionné, chaque SE étant normalement installé sur des partitions différentes.  

3 -  Le SGF 
  
3.1 -  Introduction aux SGF   
  
Les SGF : 
 
  • Ils ont pour rôle d’organiser l’implantation des données sur un disque de manière optimale. 
  • Ils permettent au système d’exploitation d’utiliser l’espace disque pour stocker et utiliser des fichiers.
  • Ils sont basés sur la gestion des clusters (unité d’allocation). 
   
3.2 - Les clusters 
  
  • Le cluster représente la plus petite entité (en temps que stockage) que peut gérer le SE. 
  • Un cluster est constitué d’un ou plusieurs secteurs (1 à 64) de 512 octets.   secteurs (1 secteur =512o), donc un cluster peut  avoir une taille comprise entre 512o  et  32  ko, voir 64ko.
  • Un fichier est stocké sur un nombre entier de clusters.
  • Un fichier aussi petit soit-il, occupe un cluster. 
  • La taille des clusters dépend  du  SE  et  de la taille de la partition  à gérer.
  • La  taille  des clusters détermine  le  nombre  d’entité  que  le  SE  doit gérer. 
  • Plus les clusters sont grands, plus il y a perte de place sur le disque, surtout si le SE gère des petits fichiers. 




3.3 - Les différents SGF 

Les SGF  sont  lés au système d’exploit ion.  De plus,  certains SE  sont  capables de reconnaître,  voire d’utiliser d’autres SGF, parfois à l’ de d’outils complémentaires.
 
 


Signification des sigles des SGF : 
  
  • FAT : File Allocation Table 
  • FAT 16 =>16 bits sont utilisés pour gérer les entrées dans les tables d’allocation 
  • FAT 32 =>idem mais 32 bits 
  • NTFS : New Technology  File System
  • EXT : Extended Fie System
  • Reiser, du nom du développeur
  • HPFS : High Performance Fie system 
  • HFS : Hierarchical File System
  
3.4 - Le Système de Gestion de Fichier FAT 

LE SGF FAT est celui utilisé nativement par les systèmes Windows. Il se décline en FAT 12, FAT 16, et FAT 32 actuellement. La différence réside dans la taille des partitions à gérer : 

FAT 12 est plus particulièrement utilisé pour gérer les disquettes et utilise des clusters de 4 Ko maximum: 
Gestion de 2 12 clusters =>4096 clusters (en fait 4086) =>(4086 * 4Ko) ~15 M o
Fat 16 =>2 16 clusters =>~2 Go de données 
Fat 32 =>268 435 456 clusters =>~ 2 To de données (8To en théorique)

Ces calculs sont issus de la limite de la taille des disques à 2 To

Le SGF FAT comprend les éléments suivants : 
   
  • Le MBR
  • Une zone réservé au secteur de chargement ( Boot Loader)
  • Un exemplaire de la FAT
  • Une copie de la FAT
  • Une zone où est stockée le répertoire avec les caractéristiques des fichiers
  • Une zone d*où sont stockées les données

3.4.1   Le contenu des répertoires

Les répertoires stockent sur 32 octets les informations sur les fichiers qu’ils contiennent
  
  • le nom de fichier
  • la taille du fichier
  • la date et l’heure de la dernière modification du fichier
  • les attributs du fichier (lecture seule, archive … )
  • le numéro du cluster auquel  le fichier commence(les autres clusters constitutifs étant  retrouvés par la FAT
  • le répertoire parent (pour les répertoires autre que racine)
  
Les répertoires sont gérés comme des fichiers particuliers, qui contiennent une entrée avec les informations ci-dessus

Organisation des 32 octets d’un fichier dans le répertoire : 

  

  
Le fait de créer un fichier avec un nom long crée plusieurs entrées dans le répertoire. 

Répertoire avec des noms courts 

     


Codage d’un nom long : ceci est un fichier avec un nom long.txt
   

 
3.4.2  Le répertoire racine

Le  système  de  gestion  de  fichier  FAT  utilise  un  répertoire  racine  (représenté  sur  les  systèmes d’exploit ions qui  utilisent  ce type de systèmes de fichiers par le signe C:\  )  ,  qui  doit  être situé à  un endroit spécifique du  disque dur.  Ce répertoire racine stocke les informations sur les sous-répertoires et  fichiers qu’il contient. Comme tous les autres répertoires, le répertoire racine possède une entrée de 32 octets qui contient les informations ci-dessous sur les fichiers:

3.4.3  La table d’allocation de fichiers
 
Le système de gestion  de fichier FAT  est  aussi  caractérisé par l’utilisation  d’une table d’allocation  de fichiers (FAT  =  Fie Allocation  Table)  située au  début  du  disque.  Cette table d’allocation  de fichiers gère les clusters libres ainsi  que ceux occupés par des fichiers sur le disque.  Un fichier est  géré sous forme d’une liste chaînée de clusters. 

Principe :
  


Dans l’exemple ci-dessus :  
 
Fichier1 se trouve dans les clusters : 0002, 0003 et 0004 
Fichier 2 :                                          0005, 0006, 0008 
Fichier 3 :                                          0007    et c’est tout.  
 
Les infos dans la table FAT ont 16 bits pour une FAT 16 et 32 bits pour une FAT 32. 

Les valeurs particulières de la FAT (dans le cas FAT16) sont : 
 
  • 0000 =>Cluster libre 
  • FFFF =>Fin de fichier 
  • FFF7 =>Cluster défectueux 
 
Pour des questions de sécurisé, la FAT est dupliquée en 2 endroits. 

3.4.4  Evolution des FAT
  
  • FAT16 décri un fichier par un nom sur 8 caractères et une extension sur 3. 
  • VFAT  (Virtual  FAT)  est  née  sous  Windows  95  pour  prendre  en  compte  des  noms  longs  (255 caractères), mais tout en restant sur une FAT basée sur des no de cluster codé sur 16 bis. 
  • FAT32  a  repris les noms longs de  VFAT  en  gérant  les no  de  cluster sur 32  bits,  ce  qui  donne  un adressage  possible  jusque  2  To,  mais surtout  permet  de  diminuer la  taille  des clusters et  donc  de minimiser le gaspillage de disque. 
  
3.5 - Le système de gestion de fichier NTFS
 
3.5.1  Présentation

NTFS  (New  Technology  File  System)  utilise  un  système  basé  sur une  structure  appelée  «  table  de fichiers maître  »  ou  MFT  (Master File  Table),  permettant  de  contenir des informations détaillées sur  les fichiers.  Ce système  permet  ainsi  l’utilisation  de noms longs,  mais,  contrairement  au  système  FAT32,  il  est sensible à la casse (majuscules, minuscules) 
 
  • L’accès aux  fichiers sur une  partition  NTFS  est  plus rapide que sur une partition  de type FAT  car i  utilise une  technique  plus  performante  pour  localiser  les fichiers (un arbre binaire).
  • La limite théorique de la taille d’une partition est de (17 milliards de  To),  mais la limite physique d’un  disque est de 2To.
  • C’est  au  niveau  de  la  sécurité  que  NTFS  prend  toute son importance, car il permet de définir des attributs de sécurité pour chaque fichier.
  • La version 5 de ce système de fichiers (en standard sous Windows  2000  ou  XP)  amène  encore  de  nouvelles fonctionnalités  parmi  lesquelles  des  performances accrues,  des quotas de disque par volume définis pour chaque utilisateur.
  • Une unité logique peut être répartie sur plusieurs unités physiques ("agrégat de partition")  
  

 

3.5.2  La table des fichiers maîtres : MFT
 
La  FAT  est  un  tableau  de  valeurs numériques dont  chaque  case  permet  de  décrire  l’allocation  des clusters d’une partition, c’est-à-dire l’état (l’occupation ou non par un fichier). 

Le  système de  fichiers NTFS  est  basé  sur une  structure  différente,  appelée table  de  fichiers maître, contenant des enregistrements sur les fichiers et les répertoires de la partition. 
  
  • Le premier enregistrement appelé descripteur, content des informations sur la MFT. 
  • Le second enregistrement contient une copie du premier enregistrement.
  • Le  troisième  enregistrement  content  le  fichier journal  :  ,  un  fichier qui  content  toutes les actions effectuées sur la partition. 
  • Les enregistrements suivants,  constituant  ce que l’on  nomme le noyau,  référencent  chaque fichier et répertoire de la partition sous forme d’objets affectés d’attributs.
  
Cela signifie que les informations relatives à  chaque fichier sont  stockées dans le fichier,  qui  est  lui-même enregistré au sein de la MFT. La MFT représente donc une structure de stockage des données de la partition, et non une liste de clusters.

Description des 16 premiers enregistrements de la MFT 
   


Un enregistrement de la MFT occupe une taille de 1 à 4 Ko suivant le formatage réalisé au départ. Les données d’un enregistrement sont : 
   
  
  • Les informations standards (date, heure … 
  • Le nom du fichier ou du répertoire 
  • Les descripteurs de sécurité (autorisations, accès, propriétaire … )
  • Le fichier lui-même (s’il  tient  dans la zone allouée (<  1.5  Ko)  ou une liste donnant  l’implantation  du fichier sur le disque

Exemple de mappage d’un fichier 
   

 
VCN = Virtual Cluster Number 
correspond au No de cluster du fichier 

LCN = Logical Cluster Number.
Correspond au No de Cluster réel sur la partition du disque 

L’organisation des fichiers de NTFS est basée sur une table de description contenant l’ensemble des informations, y compris l’implantation sur le disque. Ceci  fait de NTFS un système de gestion plus sur, et plus rapide. 

3.6 - Le système de gestion de fichier sous Linux

Linux  est  un  système  d’exploit ion  qui  s’apparente  fort  à  Unix,  tout  en  étant  un  logiciel  libre.  Le système de fichier initiale  était dérivé de celui du système Minix, lui aussi dérivé d’Unix. Le système étant trop strict, un nouveau système de gestion de fichiers EXT2fs (Second extended file system) a été écrit. 

3.6.1  Représentation de l’espace 

L’ensemble du disque est découpé en blocs dont la taille est un multiple de la taille d’un secteur. Ext2fs pratique l’allocation  par bloc  de  taille  fixe.  Les  descripteurs  d’objets  externes  (fichiers,  répertoires,  ressources)  sont représentés dans ce qui  est appelé un inode, qui sont regroupés dans une table, l’indice dans la table, appelé le numéro d’inode identifiant de façon unique cet objet. Une table bitmap décrit l’état d’allocation des inodes, et une autre décrit l’état d’allocation des blocs. Pour des raisons de performances, en particulier sur les gros disques, ces tables sont morcelées et réparties dans la partition. 

Une partition est découpée en groupes de même taille  chaque groupe comportant 6 parties :
 
  • Le super bloc, qui contient les informations de structure du volume.
  • La liste des descripteurs de groupe,  qui  localise sur le disque les informations essentielles de chaque groupe (localisation des tables).
  • La  table  bitmap  d’état  d’allocation  des  blocs  du groupe.
  • La  table  bitmap  d’état  d’allocation  des  inodes  du groupe.
  • La table des inodes du groupe.
  • Les blocs de données.

L’organisation des fichiers se fait à l’intérieur de ces blocs 

   


Organisation Physique des Fichiers sous Ext2

3.6.2  Les inodes 

Les  fichiers  sont  définis  à  l’aide  d’inodes.  Il  s’agit  d’une  structure contenant les informations suivantes : 
  
  • propriétaire
  • type( réguler, répertoire, caractères, spécial, tube)
  • droits accès (sur 9 bis)
  • date d’accès, de modification, de création
  • compteur de référence
  • taille
  • localisation des données 
    
ATTENTION :  le  système  manipule  un  fichier uniquement  en  utilisant son  inode  et  non  le  nom  symbolique  attribué  par  l’utilisateur. 
 
L’information  du  nom  symbolique  se  trouve  d’ailleurs  au  niveau  du répertoire et non au niveau de l’inode.
   



3.6.3   Les répertoires

Ext2fs  gère  une  arborescence  de  fichiers.  Le  contenu  d’un répertoire étant une li e d’entrées constituées de couples <inode, nom>, le nom étant limité à 255 caractères. Les deux premières entrées d’un  répertoire sont  les entrées "." et  ".." habituelles.  Il est  possible d’avoir plusieurs noms ou  chemins d’accès pour le même inode.  Ceci a pour conséquence que la suppression d’une entrée  dans  un  répertoire  n’entraîne  pas  obligatoirement  la suppression de l’inode correspondant. 
  



3.6.4  La sécurité 

Toute  l’information maintenue  par le  système  est  enregistrée  dans des fichiers organisés dans une  structure hiérarchique de répertoires.  Comme pour les processus,  chaque fichier possède des attributs qui  peuvent  être modifiés par les utilisateurs par l’intermédiaire des commandes du système.  Linux étant un système multi-utilisateur, certains attributs déterminent les droits des utilisateurs à les utiliser ou à les modifier. Ces droits sont associés à une identification de chaque utilisateur pour le système. 
    

Article plus récent Article plus ancien

Leave a Reply