Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Installable File System

From Wikipedia, the free encyclopedia
(Redirected fromInstallable file system)
Filesystem API

TheInstallable File System (IFS) is afilesystem API inMS-DOS/PC DOS 4.x,IBMOS/2 andMicrosoft Windows that enables theoperating system to recognize and loaddrivers forfile systems.

History

[edit]

WhenIBM andMicrosoft were co-developing OS/2, they realized that theFAT file system did not offer some of the features modern OSes would require, and Microsoft began developing theHigh Performance File System (HPFS), codenamedPinball.

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.

Implementations

[edit]

Additional file systems in DOS

[edit]

The IFS framework was never implemented inDOS. To provide additional filesystems on top ofFAT, likeMSCDEX addsISO 9660 to read CD-ROMs, thenetwork redirector was used instead.[1]

IFS in OS/2

[edit]

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 theCONFIG.SYS file.It is aNE16-bitdynamically loaded library. No matter if it is a32-bit OS/2 (2.0 and newer), 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 appears 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 up), are executed in user-space (ring 3) and contain the code used for typical filesystem maintenance, and are called byCHKDSK andFORMAT utilities.

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

CD-ROM filesystem driver (ISO 9660) was added in OS/2 2.0,UDF was added in OS/2 4.0 andJFS was added in OS/2 4.5.ArcaOS, the latest packaging of OS/2, has a number of filesystem drivers available, including FAT32.[2]There was also an official 32-bit HPFS IFS, calledHPFS386 that improved performance and added some features, like variable size cache andAccess Control Lists, and was available only in certain OS/2 server editions.The FAT filesystem was never removed from the kernel and officially never an IFS, although there are FAT IFS that added features likelong file names (LFNs),FAT32 support, etc.

Network file-sharing protocols likeNFS andSMB are also implemented using IFS, and the IFS interface never changed.

IFS in Windows 3.11 and 9x

[edit]

IFSHLP.SYS (theInstallable File System Helper) is anMS-DOS device driver that was first released as part of MicrosoftWindows for Workgroups 3.11. It enables native32-bit file access inWindows 386 Enhanced Mode by bypassing the 16-bit DOS API and ensuring that no otherreal mode driver interceptsINT 21h calls.

The protected mode counterpart of IFSHLP.SYS isIFSMGR.386 in Windows 3.11 andIFSMGR.VXD in Windows 95 and Windows 98.[3][4]

IFS in Windows NT

[edit]

The IFS API is part of theWindows Driver Kit.

When Microsoft stopped developing OS/2 and concentrated on what was then called OS/2 NT, they took the IFS ideas with it, along with the HPFS filesystem.

Instead of being a four-piece scheme, NT IFS was redesigned into a two-piece scheme.microIFS and miniIFS were removed from the scheme. IFS and helpers remain as the same, but later, in Windows NT 4.0, adefragmentation helper (DEFRAG) was added.Microsoft's original NTLDR was coded for loading the NT kernel from FAT,HPFS orNTFS, but subsequent versions dropped HPFS support. All of the drivers and helpers became 32-bitPE executables. The FAT file system was moved out of the Kernel to an IFS and was heavily optimized for performance, taking advantage of the 32-bit processing capabilities (being calledFASTFAT).

Original Windows NT 3.1 incorporated 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 theMicrosoft Joliet filesystem.

Windows NT 3.51 added per-file compression to NTFS and to the IFS interface.In Windows NT 4.0 HPFS was removed. In Windows 2000 FASTFAT was updated to support FAT32 andUDF was added.

Windows 2000 modified the IFS interface to add per-file encryption.

Network file-sharing protocols and antivirus are also implemented using IFS 'file system filter' drivers which intercept file I/O operations.[5]

Apple started including read onlyHFS+ drivers inMac OS X 10.6's version ofBoot Camp[6] for use inWindows XP,Windows Vista, andWindows 7.

Further reading

[edit]
  • Rajeev Nagar (1997).Windows NT File System Internals, A Developer's Guide. O'Reilly.ISBN 1-56592-249-2.
  • Helen Custer (1994).Inside Windows NT File System. Microsoft Press.ISBN 1-55615-660-X.
  • Helen Custer (1993).Inside Windows NT. Microsoft Press.ISBN 1-55615-481-X.

See also

[edit]

References

[edit]
  1. ^Duncan, Ray (1989-02-14)."Power Programming: Comparing DOS and OS/2 File Systems".PCMag.8 (3): 321.ISSN 0888-8507.OCLC 960872918. Retrieved2025-10-06. p. 324:…in a thinly disguised form, installable file systems have been supported in DOS for quite a while! The network redirector, which first appeared in DOS Version 3.1, is really just an installable file system. … The CD-ROM extensions, which Microsoft has been selling for some time now, are another example of an installable file system. The structure of a CD-ROM disk is nothing at all like that of a FAT-format disk.
  2. ^"FAT32 Installable File System Driver". Retrieved2020-09-04.
  3. ^Peter H. S. Madsen."Guide to CONFIG.SYS & AUTOEXEC.BAT".
  4. ^Google Books search results for IFSHLP. Retrieved2011-04-13.
  5. ^"About file system filter drivers - Windows drivers". 15 December 2021.
  6. ^"Snow Leopard's Boot Camp Includes HFS + Windows Drivers". 6 May 2009. Retrieved14 September 2012.

External links

[edit]

ext2/ext3/ext4

[edit]

ReiserFS

[edit]

HFS

[edit]

OS/2

[edit]

Other

[edit]
  • CBFS Storage - cross-platform single-file virtual filesystem with encryption and compression
  • CBFS Connect - SDK that lets developers create installable virtual file systems for Windows in user mode
  • MiniSpy Sample - a Windows filter driver sample from Microsoft
  • EaseFilter - a file system filter driver framework for developers in Windows user mode
  • RomFS - Windows driver examples
  • WinFUSE - a .NET based Filesystem in USErspace framework that uses SMB instead of IFS
  • Dokany - an MIT-licensed framework for filesystems in Windows userspace that uses a separate kernel driver, with available .NET bindings
Management
tools
Apps
Shell
Services
File systems
Server
Architecture
Security
Compatibility
API
Games
Discontinued
Games
Apps
Others
Spun off to
Microsoft Store
Developers
Companies
People
Major versions
Components
Technology
and concepts
Successors
See also
Retrieved from "https://en.wikipedia.org/w/index.php?title=Installable_File_System&oldid=1335286390"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp