In This Article
What is HPFS (High Performance File System)?
HPFS, or High Performance File System, refers to the optional file system introduced with IBM’s OS/2 Version 1.2.
Technically, this particular file system can handle larger files and drives, along with long file names and extended attributes and can coexist with the FAT file system with the use of advanced data structures and techniques.
- The High Performance File System can work for both very small files as well as very large files by using advanced techniques and data structures, which helps it to deliver higher throughput and a high level of performance.
- HPFS, or High Performance File System, refers to a specific file system that supports larger hard drives and long file names up to 255 characters in comparison to File Allocation Table (FAT) file systems.
- This optional file system was initially introduced with the OS/2 version 1.2 of IBM but was also available on the later versions along with Microsoft Windows NT 3.0 and used to remove the issues native to FAT file system.
- The specific file system can support up to 64 GB and can be used with medium-sized disks up to 400 MB, along with Warp Server Advanced and LAN Server Advanced of IBM as for the 32-bit version of HPFS 386.
- This installable system uses caching, which allows using multiple active file systems on a computer and faster access to larger disk volumes. Readable by Linux, this file system can also read a regular DOS-based FAT partition.
Understanding HPFS (High Performance File System)
Primarily designed and developed by Microsoft and IBM to remove the weaknesses existing in the File Allocation Table (FAT) file system, the High Performance File System is specifically designed as an optional file system for use with the IBM OS/2.
This file system is capable of handling large files stored across several hard drives as well as long file names.
You can use the HPFS in extreme cases, both for small and large files. It uses sophisticated data structures and methods such as:
- Read ahead
- Write behind
- Intelligent caching
These techniques allow using the disk space more economically since they follow sector-based management.
All existing application programs usually benefit from the improved throughput and performance of HPFS, but will require some modifications made in them.
These modifications are not very difficult to make and will allow them to enjoy the support provided by the file system for long file names and extended attributes.
However, the good thing about it is that HPFS will allow reduced use of the Central Processing Unit (CPU) whether or not the applications are modified.
The features of HPFS include:
- A support offered up to 64 GB.
- The 32-bit version HPFS 386 supports using Warp Server Advanced and LAN Server Advanced of IBM.
HPFS does not fragment a file as the FAT partitions do and, therefore, allows storing files contiguously.
It, however, needs at least 500 KB of system memory in order to function and is usually not documented by a booted DOS partition.
Some other notable features of this file system are:
- Support for long filenames of up to 255 non-case-sensitive characters in length
- Extended attributes that support advanced search queries by file version number, file type, file subject, or comments
- Extended character set support
The design features of HPFS allow it to overcome the various limitations of MS-DOS, especially the 8-character restriction on computer file names.
This program can run independently or on the same machine with the existing MS-DOS file system. It can also coexist with the FAT file system.
This particular file system typically works as an Installable File System (IFS).
This is typically used as a Dynamic Link Library which allows hooking into the components of a file system in the kernel of the operating system.
The working process of it includes:
- Locating information about allocation and file directories in near propinquity to the physical files themselves found on the hard disk
- Locating directories more quickly using its more efficient and robust file system tree structure than FAT
Its working process is facilitated by the use of lazy-writes and large file cache sizes.
Also, the use of several asynchronous read/write threads along with sector-based allocation in place of higher space-wasting and cluster-based allocation, which is typically used by the FAT file system.
The High Performance File System is considered to be better than the FAT file system due to its additional capabilities such as:
- Mixed case file name support in different code pages
- More effective use of disk space
- Space allocation based on extent
- B+ tree structures for directories
- Two IFS drivers, one standard, and one HPFS 386
The design of HPFS offers several benefits such as:
- Reduced fragmentation of files
- Contiguous storage
- Smaller cluster size
- Separate date stamps for file creation, modification, and last access
- Up to 512 GB device support
- Faster disk operation
- Quicker file access
- Root directory located at the center of the disk rather than at the beginning
However, HPFS requires more system memory, at least 500 MB, to run and a special utility such as the Partition Magic from PowerQuest for accessing the partitions.
The system requires the disk partitions not to be recognized by MS-DOS as this will prevent booting the computer system from a floppy disk.
What is the File Size of HPFS?
According to the volume structure of High Performance File Systems, the IBM-compatible HPFS volumes typically consist of a sector size of 512 bytes. They usually come with a size of 2199 GB, maximum.
The file size of it is typically 2 GiB with a file name length of up to 255 characters for an unlimited number of files.
There are not many fixed structures. The 8 KB volume of the sectors 0 to 15 is the BootBlock, consisting of a 32-bit volume ID, a volume name, and a disk bootstrap program.
This bootstrap program is comparatively modern in comparison to the MS-DOS standards and comes with features that enable the HPFS to be used in a restricted mode for locating and reading the files of the operating system wherever they are found.
The next two sectors, 16 and 17, are called the SuperBlock and the SpareBlock, respectively. The SuperBlock is changed by disk maintenance utilities only and contains the following:
- The list of bad blocks
- The pointers to the bitmaps of free space
- The root directory
- The directory block band
- The date the volume was last checked and repaired with CHKDSK/F
The SpareBlock, on the other hand, contains the following:
- Different flags
- Several pointers
It is modified infrequently when the system executes.
The remaining part of the disk is divided into bands of 8 MB size, each of which has its own individual free space bitmap to represent a bit in each sector. It is represented as 0 if it is in use and as 1 if it is available.
The bitmaps are typically found at the beginning or end of the band. This ensures that the two are end-to-end between the alternate bands offering optimal contiguous free space of about 16 MB to be assigned to a file.
A specific band is located at the seek center of the disk or toward it. This is called the directory block band and its size is typical of the present application and may be altered in the subsequent versions of the file system.
HPFS Vs NTFS
- The High Performance File System is developed by Microsoft and IBM, but in comparison, the New Technology File System is developed by Microsoft.
- The HPFS was introduced in November 1989 with OS/2 1.2 and partition identifier 0x07 (MBR). On the other hand, the NTFS was introduced in July 1993 with Windows NT 3.1 and partition identifier 0x07 (MBR) as well as EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (GPT).
- The High Performance File System is best to use for drives with a storage capacity ranging anywhere between 200 MB and 400 MB. On the other hand, the NTFS is best suited for using on drives having a storage capacity of 400 MB or more.
- HPFS is supported by only Windows NT 3.1, 3.5, and 3.51. On the other hand, NTFS can boot under MS-DOS and other operating systems.
- The operating systems supported by HPFS are OS/2, Linux, Windows NT, eComStation, Linux, DragonFly BSD, and ArcaOS. On the other hand, NTFS supports Windows NT 3.1 and later, ChromeOS, Linux kernel version 2.6 and later, Mac OS X 10.3 and later (read-only), FreeBSD, NetBSD, Linux kernel versions 2.2 to 2.4 (read-only), OpenBSD (read-only), ReactOS (read-only) and Solaris operating systems.
- The dates recorded by HPFS include dates of creation, access, and modification, but in comparison, the dates recorded by the NTFS also include POSIX changes apart from those of the HPFS.
- The attributes of HPFS include read-only, system, hidden, and archive. On the other hand, the attributes of NTFS include all of these, along with off-line, not content indexed, compressed, temporary, and encrypted.
- File system permissions are required only in HPFS 386 as opposed to files system permissions of ACLs required in the NT file system.
- The HPFS does not support transparent compression, while the NTFS supports it in each file, LZ77 (Windows NT 3.51 onward).
- HPFS also does not support transparent encryption, but NTFS supports it in each, DESX (Windows 2000 onward), AES (Windows XP Service Pack 1, Windows Server 2003 onward), and Triple DES (Windows XP onward).
- The maximum volume size supported by the HPFS is 64 GiB (as implemented) but 2 TiB (theoretical). On the other hand, the NT file system supports a maximum volume size of up to 264 clusters in single-cluster format, 256 TB and 64 KB, depending on the type and version of the operating system.
- The maximum file size supported by HPFS is 2 GiB. On the other hand, the maximum file size supported by NTFS is 16 EB in 1 KB format, or 16 TB in 64 KB format, depending on the type and version of the operating system.
- There is no limit to the maximum number of files supported by HPFS, but in comparison, the maximum number of files supported by the NT file system is 4,294,967,295 or 232 – 1.
- The allowed characters in the file names of the HPFS are single-byte from 0x20 to 0xFF. On the other hand, the characters allowed for file names in NTFS in the Win32 namespace are any case-sensitive UTF-16 code unit apart from / \ : * “ ? < > | and NUL, and in POSIX, any case-sensitive UTF-16 code unit except / and NUL.
- The file allocation structure of HPFS is B+ tree, but that of the NTFS is Bitmap.
- The bad blocks in the HPFS typically follow a list structure, while the structure of the bad blocks in the NT file system is typically represented by $BadClus (MFT Record)
Is HPFS a Type of Linux File System?
Yes, the High Performance File System is typically used in OS/2, though it is read-only under Linux.
This is mainly due to the absence of available documentation.
Does Windows Support HPFS?
Yes, it does, but only under the 3.1, 3.5, and 3.51 versions of Windows NT.
The Windows NT 4.0 will not access the HPFS partitions and will not support them.
The High Performance File System is very useful in solving the typical issues of the FAT file system.
It will offer excellent output, irrespective of the size of the files.
Through this article, you know how it offers the benefits of long file names and extended attributes with the use of more advanced data structures and methods.