The installable file system (IFS) is an abstract programming interface (API) that gives an operating system the ability to access different file systems without requiring the operating system to be natively configured in the specific format. In essence, the operating system is able to load drivers that use the installable file system API that instructs the core area of the operating system, called the kernel, on how to access the new file system. This functionality allows a user to browse and modify any file system for which an installable file system driver (FSD) exists. It also provides manufacturers with a mechanism that can be used to allow a computer to interface with a storage device without having to design the device to use any existing file system. The IFS provides a layer of abstraction that is effective enough to allow a remote network drive to be mounted through the same software mechanisms, as can be seen with the network file system (NFS).
The original installable file system was developed by IBM® and Microsoft® while working jointly on developing the OS/2 operating system to ensure that the software would be able to work with new technologies in the future. Microsoft® eventually integrated the technology into its Windows® operating system. Other versions of abstracted software-based file system interfaces exist, although they generally are referred to as a virtual file system on non-Windows® operating systems.
Within the operating system, the installable file system works by loading important code into the kernel of the system, the area where the lowest-level software processing takes place. This allows the IFS driver to have very direct access to the hardware where the file system is located, but also restricts the use of high-level library functions because of the way the kernel is partitioned. Under Windows®, the installable file system is actually loaded as a compiled dynamically linked library (DLL) and usually includes utilities that give the user the ability to format and repair a volume using the custom file system.
There are a variety of uses for the installable file system. One of the most common is to access files on a partition or drive that is managed by a different type of operating system. The IFS also can be used by manufacturers of portable storage drives such as flash drives or the makers of digital cameras to provide a way to view the files stored in the devices in a familiar way. An installable file system driver can be used to change the way an existing partition is accessed despite the actual file system used, allowing a drive to be made read-only by loading a configured IFS.