*** Welcome to piglix ***

Installable File System


The Installable File System (IFS) is a filesystem API in MS-DOS/PC DOS 4.x, IBM OS/2 and Microsoft Windows that enables the operating system to recognize and load drivers for file systems.

When IBM and Microsoft were codeveloping OS/2, they realized that the FAT file system did not offer some of the features modern OSes would require, and Microsoft began developing the High Performance File System (HPFS), codenamed Pinball.

Instead of coding it inside the kernel, as FAT was, Microsoft developed a "driver-based" filesystem API that could allow them and other developers to add new filesystems to the kernel without needing to modify it.

When Microsoft stopped working on OS/2, IBM continued using the IFS interface and Microsoft implemented a similar one in Windows NT.

The IFS provided a basic and powerful interface for programming filesystems. It was introduced in 1989 in OS/2 1.20, along with the HPFS filesystem.

Filesystem drivers executed in kernel-space (ring 0) and are divided in four principal pieces: microIFS, miniIFS, IFS, helpers.

Only the IFS and the filesystem code itself is required and it is loaded via an "IFS=" statement in the CONFIG.SYS file. It is a NE 16-bit dynamically loaded library. No matter if it is a 32-bit OS/2 (2.0 and newer), the IFS is always 16-bit (although extraofficially you can make a 32-bit IFS).


...
Wikipedia

...