Web - Amazon

We provide Linux to the World


We support WINRAR [What is this] - [Download .exe file(s) for Windows]

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Audiobooks by Valerio Di Stefano: Single Download - Complete Download [TAR] [WIM] [ZIP] [RAR] - Alphabetical Download  [TAR] [WIM] [ZIP] [RAR] - Download Instructions

Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
Installable File System - Wikipedia, the free encyclopedia

Installable File System

From Wikipedia, the free encyclopedia

The Installable File System (IFS) is a filesystem API in IBM OS/2 and Microsoft Windows NT that enables the operating system to recognize and load drivers for filesystems.

Contents

[edit] History

When IBM and Microsoft were codeveloping OS/2 they did realize that FAT wasn't good enough for hard disks, and Microsoft began developing the High Performance File System, codenamed Pinball.

Instead of coding it inside the kernel, as FAT was, and as tradition used to be in contemporary operating systems, Microsoft developed a "driver-based" Filesystem API that could allow them and other developers 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 their Windows NT product.

[edit] IFS in OS/2

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, 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 upper), the IFS is always 16-bit (although extraofficially you can make a 32-bit IFS).

The microIFS is a piece of code that loads in memory the kernel and the miniIFS and jumps to kernel execution. It is usually in the boot portion of the filesystem.

The miniIFS is a piece of code that is called by the kernel to load the first IFS statement that appers in the CONFIG.SYS file, so the first IFS statement must be the boot's filesystem for the system to be able to boot.

The helpers are 16-bit (for OS/2 1.x) or 32-bit (for OS/2 2.x and upper), are executed in user-space (ring 3) and contain the code used for typical filesystem maintenance, and are called by CHKDSK and FORMAT utilities.

This four-piece scheme allowed developers to dynamically add a new bootable filesystem, as the ext2 driver for OS/2 demonstrated.

CD-ROM filesystem driver (ISO9660) was added in OS/2 2.0, UDF was added in OS/2 4.0 and JFS was added in OS/2 4.5. eComStation, the latest packaging of OS/2, also includes a lot of filesystem drivers for OS/2 in its companion CDs. There was also an official HPFS IFS made in 32-bit, called HPFS386 that improved performance and added some features, like variable size cache and Access Control Lists, and was available only in OS/2 3.0 server edition. The FAT filesystem was never removed from the kernel and officially never an IFS, although there are FAT IFS that added features like LFNs, FAT32 support, etc.

Network file-sharing protocols like NFS and SMB are also implemented using IFS, and the IFS interface never changed.

[edit] IFS in Windows NT

When Microsoft stopped developing OS/2 and concentrated in what was then called OS/2 NT, they took the IFS ideas to it, along with the HPFS filesystem. It is another remnant of the 1991 OS/2 NT to Windows NT transition.

Instead of being a four-piece scheme they took a two-piece scheme. microIFS and miniIFS were removed from the scheme and IFS and helpers remain as the same, but later in Windows NT 4.0 adding a helper for defragging. The older NTLDR were coded for loading the NT kernel from FAT, HPFS or NTFS, but newer ones removed HPFS support.

The drivers became all 32-bit using PE executables, as well as the helpers.

FAT was in an IFS instead of in the kernel and got heavily optimized for performance and taking advantage of the 32-bit processing capabilities (being called FASTFAT).

Original Windows NT 3.1 incorpored FAT, HPFS (Pinball) and the newly created NTFS drivers, along with a new and improved CD-ROM filesystem driver that incorporated long file names using the Microsoft Joliet filesystem. Windows NT 3.5 added per-file compression to NTFS and to the IFS interface. In Windows NT 4.0 the HPFS was removed, in Windows 2000 FASTFAT was updated to support FAT32 and UDF was added. Windows 2000 also modified the IFS interface to add per-file encryption.

Network file-sharing protocols and antivirus are also implemented using IFS.

The IFS interface changes in every Windows version, making it almost impossible to use an IFS designed for one Windows version to work in another.

[edit] Bibliography

[edit] See also

[edit] External links

Our "Network":

Project Gutenberg
https://gutenberg.classicistranieri.com

Encyclopaedia Britannica 1911
https://encyclopaediabritannica.classicistranieri.com

Librivox Audiobooks
https://librivox.classicistranieri.com

Linux Distributions
https://old.classicistranieri.com

Magnatune (MP3 Music)
https://magnatune.classicistranieri.com

Static Wikipedia (June 2008)
https://wikipedia.classicistranieri.com

Static Wikipedia (March 2008)
https://wikipedia2007.classicistranieri.com/mar2008/

Static Wikipedia (2007)
https://wikipedia2007.classicistranieri.com

Static Wikipedia (2006)
https://wikipedia2006.classicistranieri.com

Liber Liber
https://liberliber.classicistranieri.com

ZIM Files for Kiwix
https://zim.classicistranieri.com


Other Websites:

Bach - Goldberg Variations
https://www.goldbergvariations.org

Lazarillo de Tormes
https://www.lazarillodetormes.org

Madame Bovary
https://www.madamebovary.org

Il Fu Mattia Pascal
https://www.mattiapascal.it

The Voice in the Desert
https://www.thevoiceinthedesert.org

Confessione d'un amore fascista
https://www.amorefascista.it

Malinverno
https://www.malinverno.org

Debito formativo
https://www.debitoformativo.it

Adina Spire
https://www.adinaspire.com