This articleneeds additional citations forverification. Please helpimprove this article byadding 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 message) |
| Developer(s) | Microsoft,IBM |
|---|---|
| Full name | High Performance File System |
| Introduced | November 1989; 36 years ago (1989-11) withOS/2 1.2 |
| Partition IDs | 0x07 (MBR) |
| Structures | |
| Directory contents | B tree |
| File allocation | B+ tree |
| Bad blocks | List |
| Limits | |
| Max volume size | 64GB (as implemented) 2TB (theoretical) |
| Max file size | 2GB |
| Maxno. of files | Unlimited |
| Max filename length | 255 characters |
| Allowed filename characters | Single-byte from0x20 to0xFF |
| Features | |
| Dates recorded | Access, Creation, Modified |
| Forks | Yes |
| Attributes | Read-only, hidden, system, archive |
| File system permissions | Yes (only in HPFS386) |
| Transparent compression | No |
| Transparent encryption | No |
| Other | |
| Supported operating systems | OS/2,Windows NT,Linux,DragonFly BSD,eComStation,ArcaOS |
HPFS (High Performance File System) is afile system created specifically for theOS/2operating system to improve upon the limitations of theFAT file system. It was written byGordon Letwin and others atMicrosoft and added to OS/2 version1.2, at that time still a joint undertaking of Microsoft andIBM, and released in 1988.
Compared with FAT, HPFS provided a number of additional capabilities:
HPFS also can keep 64KB ofmetadata ("extended attributes") per file.
IBM offers two kinds ofIFS 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-bitassembly language. HPFS386 is aring 0 driver (allowing direct hardware access and direct interaction with the kernel) with built-in SMB networking properties that are usable by various serverdaemons, whereas HPFS is aring 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 thejournaling file system,JFS, to OS/2 as a substitute.
DOS andLinux support HPFS via third-party drivers.Windows NT versions 3.51 and earlier had native support for HPFS.
Windows 95 and its successorsWindows 98 andWindows Me have no support for HPFS.They listed theNTFS partitions of networked computers as "HPFS"[citation needed], because NTFS and HPFS share the samefilesystem identification number in the partition table.
Windows NT 3.1 and3.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 withWindows NT 4 the filesystem driverPINBALL.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 theFAT12 andFAT16 filesystems. However, since HPFS lacks ajournal, any recovery after an unexpected shutdown or other error state takes progressively longer as the filesystem grows. A utility such asCHKDSK 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.