HPFS

HPFS
開発者 マイクロソフト
正式名 High Performance File System
導入 1989年11月 (OS/2 1.2)
パーティション識別子 0x07 (MBR)
構造
ディレクトリ B+ 木
領域管理 B+ 木
不良ブロック B+ 木
限度
最大ファイル サイズ 2GiB
最大ファイル数 無制限
最大ファイル名長 255文字
最大ボリューム サイズ 2TiB
ファイル名の文字 0x0020から0xFFFFまでのダブルバイト
特徴
タイムスタンプ アクセス, 作成, 変更
日付範囲 不明
フォーク 可能
属性 読み取りのみ, 隠し, システム, アーカイブ
パーミッション HPFS386のみ
透過的圧縮 なし
透過的暗号化 なし
対応OS OS/2, Windows NT, Linux, FreeBSD
テンプレートを表示

HPFS(High Performance Filesystem、エイチ・ピー・エフ・エス)は、1989年に発売されたOS/2のバージョン1.2以降で導入されたファイルシステム。従来のFATファイルシステムの欠点を補うため、最大ファイル名長の拡張(255バイトまで)、最大ボリュームサイズの拡張、ファイル属性の付加(拡張属性: EA)、フラグメンテーションの最小化、ファイルパフォーマンスの高速化などの改良が行われた。

概要

Windows NT系では、初期のWindows NTでOS/2との互換の為に採用されていたが、よりパフォーマンスのよいNTFSがメインに使われているためWindows 2000でサポートが打ち切られた。そのため、OS/2での互換目的以外はほとんど使われていないファイルシステムである。

なお、Windows NT登場後もOS/2においてはHPFSが利用され続けた。同程度の資源ではNTは重く、FAT (VFAT) しか利用できないWindows 95が信用できないとして、一部の個人と企業においてOS/2がHPFSで利用された。OS/2においても、大量のメモリーをディスクキャッシュに活用できるHPFS386が高価なオプションであったため、速度面の優位性は失われていったが、フラグメンテーションが発生しにくい利点は高い成果を発揮した。

また、1990年代後半はLinuxでもHPFSが書き込み可能なかたちでリリースされることが多かった。そのため、Windows NT 4.0で、NT 3.51のHPFS.DLLを流用し、LinuxとNTとの間をHPFSでやりとりする場合もあった。現在ではWindows、LinuxともにHPFS対応は現実的ではなく、ファイルのやりとりには、別途ファイルサーバを用意したり、FAT32領域を用意する方法が一般的となっている。

特徴

  • ブロックサイズは512バイト固定である。ボリュームサイズによってサイズが大きくなるFATに比べると無駄になるディスク領域が少ない。
  • フラグメンテーションの最小化。ファイルを拡張したときのブロックの割り当てを工夫する事で、ボリュームサイズが小さくてもフラグメンテーションが少なくなるように設計されている。
  • 最大ボリュームサイズは2TiB。16GiB未満が推奨されている。ただしOS/2の実装上64GB以上はHPFSでフォーマットできずHPFS386を含む他のファイルシステムを用いる必要がある
  • 最大ファイル名長は255バイト。後に拡張されたVFATと同じである。
  • VFATが長いファイル名だけを重視したFATの拡張に過ぎないのに対して、HPFSはフラグメンテーションの回避や対障害性を重視する。

関連項目