可安装文件系统

可安装文件系统（，缩写IFS）也称可安装的文件系统，它是MS-DOS/PC DOS 4.x、IBM OS/2和Microsoft Windows中的一个，使操作系统能够识别和加载用于文件系统的驱动程序。

 历史 
在IBM和微软联合开发OS/2时，他们意识到FAT文件系统没有提供现代操作系统所需要的一些特性，因此微软开始开发代号为“Pinball”的高效能檔案系統（HPFS）。

相比FAT在操作系统内核中编写代码，微软开发了一个基于驱动程序的文件系统API，以便他们和其他开发者可以在不对内核做修改的情况下添加新文件系统。

当微软停止就OS/2的开发时，IBM继续使用该IFS接口，而微软在Windows NT中实现了类似的接口。

 Windows 3.11和9x中的IFS 
IFSHLP.SYS（Installable File System Helper）是一个MS-DOS设备驱动程序，最早作为微软Windows 3.11的一部分发布。它以绕过16位元DOS API并确保没有其他真實模式驱动程序拦截INT 21h调用的方式使Windows 386增强模式下支持原生。

IFSHLP.SYS的保护模式对应Windows 3.11中的IFSMGR.386和Windows 95以及Windows 98中的IFSMGR.VXD。

 Windows NT中的IFS 
IFS API是Windows Driver Kit的一部分。

当微软停止开发OS/2并专注于当时称为OS/2 NT的系统时，他们采用了IFS的想法与HPFS文件系统。

相比原来的四份方案，NT IFS被重新设计为两份方案，microIFS和miniIFS被从方案中移除，IFS和Helper保持不变。Windows NT 4.0中增添了碎片整理助手（DEFRAG）。微软原NTLDR被编写为从FAT、HPFS或NTFS编写NT内核，不过随后的版本放弃了对HPFS的支持。上述所有驱动程序和助手程序都是32位PE可执行文件。FAT文件系统从内核中移除，转移到一个IFS，并利用32位元处理能力进行了大量性能优化（称为FASTFAT）。

最初的Windows NT 3.1包含FAT、HPFS (Pinball)和新创建的NTFS驱动程序，以及一个新且改进的CD-ROM文件系统驱动程序，其支持Microsoft Joliet文件系统所用的长文件名。

Windows NT 3.51向NTFS和IFS接口增添了单个文件的压缩。Windows NT 4.0中，HPFS被移除。在Windows 2000中，FASTFAT的更新增添了FAT32和通用光碟格式（UDF）的支持。

Windows 2000修改了IFS接口以增添单个文件的加密能力。

网络共享文件系统和防病毒程序也使用IFS实现。

蘋果公司自Mac OS X 10.6的Boot Camp中开始包含只读的HFS+驱动程序，以供Windows XP、Windows Vista和Windows 7使用。

 参考书目 
 O'Reilly - Windows NT File System Internals, A Developer's Guide - By Rajeev Nagar - 
 Microsoft Press - Inside Windows NT File System - By Helen Custer - 
 Microsoft Press - Inside Windows NT - By Helen Custer - 

 参见 
 虛擬檔案系統
 文件系统列表
 文件系统的对比

参考资料

 外部链接 
 Microsoft's IFSKit 

Category:文件系统
Category:微軟API
Category:OS/2