Si vous disposez d'ouvrages ou d'articles de référence ou si vous connaissez des sites web de qualité traitant du thème abordé ici, merci de compléter l'article en donnant les références utiles à sa vérifiabilité et en les liant à la section « Notes et références ».
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
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 ;