HPFS (structure de fichiers)
# HPFS (structure de fichiers)

Le type de structure de fichier HPFS (de l'anglais High Performance File System) est le système de fichiers informatique natif d'OS/2.

Il porte le même « numéro d'identification » que le NTFS de Microsoft Windows.

## Historique

HPFS est apparu en 1989 avec OS/2 1.2 avec pour objectif principal d'abandonner le système de fichiers FAT qui était conçu pour des disquettes de 160 Kilooctets, et était particulièrement limité en termes de fonctionnalités et de performance.

## Généralités

* HPFS peut être lu par Windows NT jusqu'à la version 4.0, mais pas par Windows 2000 ni par ses successeurs. Il peut être lu par OS/2 (ce système d'exploitation n'est plus utilisé) et Linux.
* HPFS permet des noms de fichiers jusqu'à 255 caractères contre 11 pour FAT
* HPFS utilise la technique des arbres-b

Comme NTFS, il n'était pas possible de l'utiliser sur les disquettes, à cause de son surcoût trop important en termes d'espace utilisé par le répertoire.

## Identificateur de partition

L'identificateur de partition de HPFS a la valeur 7, ce qui veut dire que les concepts de "partition" et de "système de fichiers" ne sont pas synonymes car la même structure de partition est utilisé par NTFS, exFAT et IFS (Installable File System en).

Cet identificateur de partition est utilisé par le MBR (Master boot record) et l'EBR (Extended Boot Record en)

## Structure interne

* les premiers secteurs d'une partition HPFS contiennent le BootBlock ;
* le SuperBlock, toujours situé sur le secteur 16, contient un pointeur vers la liste des blocs, un pointeur vers la liste des bad blocks et un pointeur vers le directory block band' ;
* le directory band, d'une taille de 8 Mo, contient tous les répertoires (directories) de la partition. Il est situé exactement au milieu du disque, pour optimiser le temps perdu à déplacer les têtes de lecture ;
* l'arbre des répertoires ("directory tree") est sous forme d"un b-arbre. De la sorte, chercher un fichier parmi 16 000 autres dans un répertoire nécessite seulement deux accès avec HPFS, contre 16 000 pour FAT, qui parcourt les répertoires séquentiellement ;
* chaque fichier possède des attributs étendus.
