vendredi 6 janvier 2012

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 , 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.

0 commentaires:

Enregistrer un commentaire

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites

 

IP