OS/2 High Performance File System

From Wikipedia, the free encyclopedia

HPFS
Developer Microsoft
Full name High Performance File System
Introduced November 1989 (OS/2 1.2)
Partition identifier 0x07 (MBR)
Structures
Directory contents B+ tree
File allocation B+ tree
Bad blocks B+ tree
Limits
Max file size 2 GiB
Max number of files Unlimited
Max filename size 255 characters
Max volume size 2 TiB
Allowed characters in filenames Double-byte from 0x0020 to 0xFFFF
Features
Dates recorded Access, Creation, Modified
Date range Unknown
Forks Yes
Attributes Read-only, hidden, system, archive
File system permissions Yes (only in HPFS386)
Transparent compression No
Transparent encryption No
Supported operating systems OS/2, Windows NT, Linux, FreeBSD


HPFS or High Performance File System, is a file system created specifically for the OS/2 operating system to improve upon the limitations of the FAT file system. It was written by Gordon Letwin and others at Microsoft and added to OS/2 version 1.2, at that time still a joint undertaking of Microsoft and IBM.

Among its improvements are

  • support for mixed case file names, in different code pages;
  • support for long file names (256 characters as opposed to FAT's 11 characters);
  • more efficient use of disk space (files are not stored using multiple-sector clusters but on a per-sector basis);
  • an internal architecture that keeps related items close to each other on the disk volume;
  • less fragmentation of data;
  • extent-based space allocation;
  • separate datestamps for last modification, last access, and creation (as opposed to FAT's one last modification datestamp);
  • a B+ tree structure for directories; and
  • root directory located at the mid-point, rather than beginning of the disk, for faster average access.

It also can keep 64 KiB of metadata ("Extended attributes") per file.

IBM offers two kind of IFS drivers for this file system: the standard one with a cache limited to 2 MiB, and HPFS386 provided with the server versions of OS/2. HPFS386's cache is limited by the available memory. It's highly tunable by experienced administrators. Thus, HPFS386 is faster, but IBM is required to pay Microsoft for each copy sold.

Because of the Microsoft dependence and the long disk check times after a crash, IBM ported the journaling file system JFS to OS/2 as a substitute.

There are also third-party drivers for DOS and Linux; Windows NT versions 3.51 and earlier natively supported HPFS.

[edit] Windows Native Support

Windows 95 had native read/write support for HPFS (but not on a local disk), and over a home network. It also listed networked computers' NTFS partitions as "HPFS". Windows NT 3.1 and 3.51 had native support, and could even be installed onto an HPFS partition, and read it on local drives. Windows NT removed read and write support in NT 4, and Windows 2000 has no support whatsoever for HPFS as well.

[edit] See also

[edit] Further reading