HPFS (High Performance File System) is a
file system created specifically for the
OS/2
OS/2 is a Proprietary software, proprietary computer operating system for x86 and PowerPC based personal computers. It was created and initially developed jointly by IBM and Microsoft, under the leadership of IBM software designer Ed Iacobucci, ...
operating system
An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ...
to improve upon the limitations of the
FAT
In nutrition science, nutrition, biology, and chemistry, fat usually means any ester of fatty acids, or a mixture of such chemical compound, compounds, most commonly those that occur in living beings or in food.
The term often refers specif ...
file system. It was written by
Gordon Letwin and others at
Microsoft
Microsoft Corporation is an American multinational corporation and technology company, technology conglomerate headquartered in Redmond, Washington. Founded in 1975, the company became influential in the History of personal computers#The ear ...
and added to OS/2 version
1.2, at that time still a joint undertaking of Microsoft and
IBM
International Business Machines Corporation (using the trademark IBM), nicknamed Big Blue, is an American Multinational corporation, multinational technology company headquartered in Armonk, New York, and present in over 175 countries. It is ...
, and released in 1988.
Overview
Compared with FAT, HPFS provided a number of additional capabilities:
*Support for
mixed case file names, in different
code page
In computing, a code page is a character encoding and as such it is a specific association of a set of printable character (computing), characters and control characters with unique numbers. Typically each number represents the binary value in a s ...
s
*Support for long file names (255 characters as opposed to FAT's
8.3 naming scheme)
*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 last-modification-only datestamp in then-times implementations of FAT)
*
B+ tree
A B+ tree is an m-ary tree with a variable but often large number of children per node. A B+ tree consists of a root, internal nodes and leaves. The root may be either a leaf or a node with two or more children.
A B+ tree can be viewed as a B ...
structure for directories
*Root directory located at the midpoint, rather than at the beginning of the disk, for faster average access
HPFS also can keep 64
KB of
metadata
Metadata (or metainformation) is "data that provides information about other data", but not the content of the data itself, such as the text of a message or the image itself. There are many distinct types of metadata, including:
* Descriptive ...
("
extended attribute
Extended file attributes are file system features that enable users to associate computer files with metadata not interpreted by the filesystem, whereas regular attributes have a purpose strictly defined by the filesystem (such as permissions or ...
s") per file.
IBM offers two kinds of
IFS drivers for this file system:
*The standard one with a cache limited to 2 MB
*''HPFS386'' provided with certain server versions of OS/2, or as added component for the server versions that did not come with it
HPFS386's cache is limited by the amount of available memory in OS/2's system memory arena
and was implemented in 32-bit
assembly language
In computing, assembly language (alternatively assembler language or symbolic machine code), often referred to simply as assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence bet ...
. 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
daemon
A demon is a malevolent supernatural being, evil spirit or fiend in religion, occultism, literature, fiction, mythology and folklore.
Demon, daemon or dæmon may also refer to:
Entertainment Fictional entities
* Daemon (G.I. Joe), a character ...
s, 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 GB and the long disk-check times after a crash, IBM ported the
journaling file system
A journaling file system is a file system that keeps track of changes not yet committed to the file system's main part by recording the goal of such changes in a data structure known as a " journal", which is usually a circular log. In the ev ...
,
JFS, to OS/2 as a substitute.
DOS
DOS (, ) is a family of disk-based operating systems for IBM PC compatible computers. The DOS family primarily consists of IBM PC DOS and a rebranded version, Microsoft's MS-DOS, both of which were introduced in 1981. Later compatible syste ...
and
Linux
Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
support HPFS via third-party drivers.
Windows NT
Windows NT is a Proprietary software, proprietary Graphical user interface, graphical operating system produced by Microsoft as part of its Windows product line, the first version of which, Windows NT 3.1, was released on July 27, 1993. Original ...
versions 3.51 and earlier had native support for HPFS.
Native support under Windows
Windows 95
Windows 95 is a consumer-oriented operating system developed by Microsoft and the first of its Windows 9x family of operating systems, released to manufacturing on July 14, 1995, and generally to retail on August 24, 1995. Windows 95 merged ...
and its successors
Windows 98
Windows 98 is a consumer-oriented operating system developed by Microsoft as part of its Windows 9x family of Microsoft Windows operating systems. It was the second operating system in the 9x line, as the successor to Windows 95. It was Software ...
and
Windows Me
Windows Me (Millennium Edition) is an operating system developed by Microsoft as part of its Windows 9x family of Microsoft Windows operating systems. It was the successor to Windows 98, and was released to manufacturing on June 19, 2000, and t ...
have no support for HPFS. , because NTFS and HPFS share the same
filesystem identification number in the partition table.
Windows NT 3.1
Windows NT 3.1 is the first major release of the Windows NT operating system developed by Microsoft, released on July 27, 1993. It marked the company's entry into the corporate computing environment, designed to support large networks and to be ...
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
Windows NT 4.0 is a major release of the Windows NT operating system developed by Microsoft, targeting the data server and personal workstation markets. It is the direct successor to Windows NT 3.51, and was released to manufacturing on July ...
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
File Allocation Table (FAT) is a file system developed for personal computers and was the default file system for the MS-DOS and Windows 9x operating systems. Originally developed in 1977 for use on floppy disks, it was adapted for use on ...
and
FAT16
File Allocation Table (FAT) is a file system developed for personal computers and was the default file system for the MS-DOS and Windows 9x operating systems. Originally developed in 1977 for use on floppy disks, it was adapted for use on Ha ...
filesystems. However, since HPFS lacks a
journal
A journal, from the Old French ''journal'' (meaning "daily"), may refer to:
*Bullet journal, a method of personal organization
*Diary, a record of personal secretive thoughts and as open book to personal therapy or used to feel connected to onesel ...
, any recovery after an unexpected shutdown or other error state takes progressively longer as the filesystem grows. A utility such as
CHKDSK
In computing, CHKDSK (short for "check disk") is a system software, system tool and command (computing), command in DOS and Microsoft Windows (and related operating systems), as well as Digital Research FlexOS, IBM/Toshiba 4690 Operating System, 4 ...
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
*
Comparison of file systems
The following tables compare general and technical information for a number of file systems.
General information
Metadata
All widely used file systems record a last modified time stamp (also known as "mtime"). It is not included i ...
*
HPFS BPB
References
Further reading
*
*
*
*
How to get Windows NT 4, Windows 2000, and Windows XP to read HPFS partitions
{{OS/2
Disk file systems
File systems supported by the Linux kernel
IBM file systems
Windows disk file systems
High Performance File System
Computer file systems
Assembly language software