This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: "High Performance File System" – news · newspapers · books · scholar · JSTOR (August 2013) (Learn how and when to remove this template message)
HPFS
Developer(s)Microsoft, IBM
Full nameHigh Performance File System
IntroducedNovember 1989; 32 years ago (1989-11) with OS/2 1.2
Partition identifier0x07 (MBR)
Structures
Directory contentsB tree
File allocationB+ tree
Bad blocksList
Limits
Max. volume size64 GiB (as implemented)
2 TiB (theoretical)
Max. file size2 GiB
Max. number of filesUnlimited
Max. filename length255 characters
Allowed characters in filenamesSingle-byte from 0x20 to 0xFF
Features
Dates recordedAccess, Creation, Modified
ForksYes
AttributesRead-only, hidden, system, archive
File system permissionsYes (only in HPFS386)
Transparent compressionNo
Transparent encryptionNo
Other
Supported operating systemsOS/2, Windows NT, Linux, DragonFly BSD, eComStation, ArcaOS

HPFS (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, and released in 1988.

Overview

Compared with FAT, HPFS provided a number of additional capabilities:

HPFS also can keep 64 KiB of metadata ("extended attributes") per file.

IBM offers two kinds of IFS drivers for this file system:

HPFS386's cache is limited by the amount of available memory in OS/2's system memory arena[1] and was implemented in 32-bit assembly language. HPFS386 is a ring 0 driver (allowing direct hardware access and direct interaction with the kernel) with built-in SMB networking properties that are usable by various server daemons, whereas HPFS is a ring 3 driver. Thus, HPFS386 is faster than HPFS and highly optimized for server applications. It is also highly tunable by experienced administrators.

Though IBM still had rights to HPFS, its agreement with Microsoft to continue licensing the HPFS386 version was contingent upon the company paying Microsoft a licensing fee for each copy sold. This was a result of the Microsoft and IBM collaboration that gave both the right to use Windows and OS/2 technology.

Due to the Microsoft dependence, limited partition size, file size limit of 2 GiB and the long disk-check times after a crash, IBM ported the journaling file system JFS to OS/2 as a substitute.

DOS and Linux support HPFS via third-party drivers. Windows NT versions 3.51 (4.0) and earlier had native support for HPFS.

Native support under Windows

Windows 95 and its successors Windows 98 and Windows Me can read and write HPFS only when mapped via a network share; they cannot read it from a local disk. They listed the NTFS partitions of networked computers as "HPFS", because NTFS and HPFS share the same filesystem identification number in the partition table.

Windows NT 3.1 and 3.5 have native read/write support for local disks and can even be installed onto an HPFS partition.

Windows NT 3.51 can also read and write from local HPFS formatted drives. Starting with Windows NT 4 the filesystem driver PINBALL.SYS enabling the read/write access is not shipped anymore. Later Windows versions do not ship with this driver. Note that this driver is limited to 4GB HPFS volumes.

Microsoft retained rights to OS/2 technologies, including the HPFS filesystem, after they ceased collaboration with IBM. Since Windows NT 3.1 was designed for more rigorous (enterprise-class) use than previous versions of Windows, it included support for HPFS (and NTFS) giving it a larger storage capacity than the FAT12 and FAT16 filesystems. However, since HPFS lacks a journal, any recovery after an unexpected shutdown or other error state takes progressively longer as the filesystem grows. A utility such as CHKDSK would need to scan each entry in the filesystem to ensure no errors are present, a problem which is vastly reduced on NTFS, which simply replays the journal.

See also

References

  1. ^ "Virtual Memory Problems under OS/2". www.os2voice.org. Archived from the original on 24 September 2015. Retrieved 11 June 2015.

Further reading