HPFS(High Performance File System)は、FATファイルシステムの限界を克服するためにOS/2オペレーティングシステム専用に開発されたファイルシステムです。MicrosoftのGordon Letwin氏らによって開発され、当時はまだMicrosoftとIBMの共同開発だったOS/2バージョン1.2に追加され、 1988年にリリースされました。
FAT と比較して、HPFS はいくつかの追加機能を提供します。
HPFS は、ファイルごとに 64 KBのメタデータ(「拡張属性」) を保持することもできます。
IBM は、このファイル システム用に 2 種類のIFSドライバーを提供しています。
HPFS386のキャッシュは、OS/2のシステムメモリ領域[1]で利用可能なメモリ量によって制限され、32ビットアセンブリ言語で実装されています。HPFS386はリング0ドライバ(ハードウェアへの直接アクセスとカーネルとの直接的なやり取りが可能)であり、様々なサーバデーモンで利用可能なSMBネットワークプロパティを内蔵しています。一方、HPFSはリング3ドライバです。そのため、HPFS386はHPFSよりも高速で、サーバアプリケーション向けに高度に最適化されています。また、経験豊富な管理者であれば、高度なチューニングも可能です。
IBMは依然としてHPFSの権利を保有していましたが、HPFS386版のライセンスを継続するMicrosoftとの契約は、販売されたHPFSごとにIBMがMicrosoftにライセンス料を支払うことを条件としていました。これは、MicrosoftとIBMの協力関係の結果であり、両社にWindowsとOS/2の技術を使用する権利を与えました。
Microsoft への依存、パーティション サイズの制限、2 GB のファイル サイズ制限、およびクラッシュ後のディスク チェック時間の長さなどの理由から、IBM は代替手段としてジャーナリング ファイル システムJFSをOS/2 に移植しました。
DOSとLinux はサードパーティ製ドライバーを介して HPFS をサポートします。Windows NTバージョン 3.51 以前では、HPFS がネイティブにサポートされていました。
Windows 95とその後継であるWindows 98およびWindows MeはHPFSをサポートしていません。NTFSとHPFSはパーティションテーブル内で 同じファイルシステム識別番号を共有しているため、ネットワーク接続されたコンピュータのNTFSパーティションは「HPFS」としてリストされていました[要出典] 。
Windows NT 3.1および3.5 は、ローカル ディスクのネイティブ読み取り/書き込みサポートを備えており、HPFS パーティションにインストールすることもできます。
Windows NT 3.51 は、ローカルの HPFS フォーマットされたドライブの読み書きも可能です。Windows NT 4以降、読み書きアクセスを可能にするファイルシステムドライバPINBALL.SYS は同梱されていません。以降の Windows バージョンにはこのドライバは同梱されていません。このドライバは 4GB の HPFS ボリュームに制限されている点にご注意ください。
Microsoftは、IBMとの提携関係を解消した後も、HPFSファイルシステムを含むOS/2テクノロジの権利を保持していました。Windows NT 3.1は、以前のバージョンのWindowsよりも厳しい(エンタープライズクラスの)使用を想定して設計されていたため、HPFS(およびNTFS)のサポートが含まれており、FAT12およびFAT16ファイルシステムよりも大きなストレージ容量を実現しています。しかし、HPFSにはジャーナルがないため、予期せぬシャットダウンやその他のエラー状態からの回復は、ファイルシステムの規模が大きくなるにつれて徐々に時間がかかります。CHKDSKなどのユーティリティは、ファイルシステム内の各エントリをスキャンしてエラーがないことを確認する必要がありますが、ジャーナルを再生するだけのNTFSでは、この問題は大幅に軽減されます。