Gestion de l'espace de stockage
02/04/2006
 Christian CALECA 
Liste des cours

Bien que nous ayons maintenant, après le formatage de bas niveau, une collection de secteurs, pouvant contenir chacun 512 octets de données, il faut encore créer une structure logicielle qui permette de gérer correctement ces secteurs pour pouvoir y écrire et y relire des fichiers de données qui feront le plus souvent bien plus que 512 octets.

Le partitionnement

partitions

Cette opération consiste à découper l'espace de stockage d'un disque dur en plusieurs morceaux, appelés partitions. Chaque partition pourra par la suite être exploitée par un système de fichiers, ce système pouvant être différent sur chaque partition.

Pour des raisons techniques que nous comprendrons mieux par la suite, les informations de partitionnement doivent être inscrites dans le premier secteur du disque, de même que le premier chargeur de démarrage, que nous verrons également plus loin.

Comme la place est limitée à 512 octets, la table de partitionnement ne peut contenir que quatre entrées. Autrement dit, il n'est possible de créer que quatre partitions  sur un disque dur. Comme c'est souvent largement insuffisant, et comme on sait bien le faire en informatique, une astuce a été trouvée pour contourner cette limitation en introduisant les notions de partitions principales et étendues.

Dans la représentation ci-contre, il n'y a que deux partitions primaires, pour simplifier.

Le "Master Boot Record" (MBR) est le premier secteur du disque, c'est lui qui conteint, entre autres, la table des partitions.

Le premier secteur de chaque partition joue également un rôle particulier. On l'appelle le "Partition Loader" (PL). Nous verrons son rôle exact un peu plus loin.

Une partition étendue est en fait un pointeur sur une autre table de partitions, située ailleurs que sur le premier secteur.

Ainsi, il sera possible de créer un nombre plus important de patitions.

Dans la philosophie Microsoft /  MS DOS, les partitions contiennent des unités logiques, représentées par des lettres à partir de la lettre C (les lettres A et B sont réservées aux unités de disquettes).

Une partition principale ne peut contenir qu'une seule unité logique, alors qu'une partition étendue peut en contenir plusieurs.

Dans le cas le plus simple, nous pouvons créer une seule partition principale, qui contiendra une unité logique nommée C:

Dans un cas plus complexe, nous pourrons créer une partition principale et une partition secondaire. La partition principale contiendra une unité logique C: et, dans la partition secondaire, nous pourrons créer autant d'unités logiques que nous voudrons (par exemple, D:, E: F:...).

L'outil MS DOS qui permet de réaliser ces opérations s'appelle FDISK.

Dans la philosophie UNIX (GNU/Linux, par exemple), les choses sont un petit peu plus compliquées. Les partitions ne sont pas représentées par des lettres, mais sont vues comme des répertoires. Nous verrons cela plus tard. Cependant, les limitations dues au BIOS des machines de type PC s'appliquent à tous les systèmes et donc le FDISK de Linux ne sait pas, lui non plus créer plus de quatre partitions dans le MBR, et sait, lui aussi, créer des partitions étendues.

Le système de fichiers

Chaque système d'exploitation propose au moins un système de fichiers (File System). Windows XP, par exemple, propose l'antique système FAT (File Allocation Table) dont la première version date de MS DOS, et le NTFS (New Technology File System), apparu avec WIndows NT.

GNU/Linux propose bien plus de possibilités de gestion des fichiers :

et d'autres encore. GNU/Linux sait gérer le FAT en lecture/écriture et le NTFS en lecture seule pour l'instant.

Pour aller plus loin...

Le premier secteur d'un disque (secteur 1, face 0, piste 0) a donc le statut très particulier de "MBR". C'est l'unique secteur que le BIOS est capable de lire, lors de la séquence de démarrage. Ce secteur doit contenir un bout de programme qui permettra d'aller plus avant dans le chargement d'un système d'exploitation. Ce secteur contient également la table des partitions.

Ce secteur privilégié est appelé le MBR (Master Boot Record).

Mais chaque partition dispose elle aussi d'un secteur particulier. En effet, le premier secteur de chaque partition joue lui aussi un rôle important dans le chargement d'un système. On l'appelle le PL (Partition Loader).

Dans une architecture Microsoft, le MBR ne fait rien d'autre que déclencher le chargement du PL de la partition marquée comme active. Le programme FDISK permet de marquer une partition primaire (et une seule) comme étant active.

partitions

Prenons un exemple simple.

Au moyen du FDISK de FreeDOS (un peu plus évolué que celui du MS DOS) :

  • nous créons sur notre disque trois partitions principales, qui apparaîtront comme les unités C:, D: et E:,
  • nous marquons comme active la seconde partition.

FDISK fera que le MBR déclenchera le chargement et l'exécution du PL de la seconde partition, qui sera automatiquement marquée C:

Si nous mettons dans ce PL ce qu'il faut pour charger en mémoire un premier fichier du système (généralement le "kernel"), il deviendra alors "simple" de charger tout l'nvironnement d'exploitation. Un exemple trivial, mais compréhensible est donné avec FreeDOS.