Installerbart filsystem - Installable File System
Den Installerbar File System ( IFS ) er en filsystem API i MS-DOS / PC DOS 4.x, IBM OS / 2 og Microsoft Windows , der gør det muligt for operativsystemet at genkende og belastning drivere til filsystemer .
Historie
Da IBM og Microsoft udviklede OS / 2 sammen, indså de, at FAT-filsystemet ikke havde nogle af de funktioner, som moderne operativsystemer ville kræve, og Microsoft begyndte at udvikle High Performance File System (HPFS), kodenavnet Pinball .
I stedet for at kode det inde i kernen, som FAT var, udviklede Microsoft en "driverbaseret" filsystem-API, der kunne give dem og andre udviklere mulighed for at tilføje nye filsystemer til kernen uden at skulle ændre den.
Da Microsoft stoppede med at arbejde på OS / 2, fortsatte IBM med at bruge IFS-grænsefladen, og Microsoft implementerede en lignende i Windows NT.
Implementeringer
IFS i DOS 4.x
IFS i OS / 2
IFS leverede en grundlæggende og kraftfuld grænseflade til programmering af filsystemer. Det blev introduceret i 1989 i OS / 2 1.20 sammen med HPFS-filsystemet.
Filsystemdrivere, der udføres i kernel-space ( ring 0 ) og er opdelt i fire hovedstykker: microIFS, miniIFS, IFS, helpers.
Kun IFS og selve filsystemkoden kræves, og den indlæses via en " IFS =" -erklæring i CONFIG.SYS- filen. Det er et NE 16-bit dynamisk indlæst bibliotek . Ligegyldigt om det er et 32-bit OS / 2 (2.0 og nyere), er IFS altid 16-bit (selvom man ekstraofficielt kan lave en 32-bit IFS).
MicroIFS er et stykke kode, der indlæser kernen og miniIFS i hukommelsen og hopper til kernekørsel. Det er normalt i boot-delen af filsystemet.
MiniIFS er et stykke kode, der kaldes af kernen til at indlæse den første IFS-sætning, der vises i CONFIG.SYS-filen, så den første IFS-sætning skal være bootens filsystem for at systemet skal kunne starte.
Hjælperne er 16-bit (til OS / 2 1.x) eller 32-bit (til OS / 2 2.x og op), udføres i brugerrummet ( ring 3 ) og indeholder den kode, der bruges til typisk filsystemvedligeholdelse , og kaldes af CHKDSK og FORMAT hjælpeprogrammer.
Denne firedelte ordning tillod udviklere dynamisk at tilføje et nyt bootbart filsystem, som ext2- driveren til OS / 2 demonstrerede.
CD-ROM- filsystemdriver ( ISO 9660 ) blev tilføjet i OS / 2 2.0, UDF blev tilføjet i OS / 2 4.0 og JFS blev tilføjet i OS / 2 4.5. ArcaOS , den nyeste emballage af OS / 2, har et antal filsystemdrivere til rådighed, inklusive FAT32. Der var også en officiel 32-bit HPFS IFS, kaldet HPFS386, der forbedrede ydeevnen og tilføjede nogle funktioner, som cache med variabel størrelse og adgangskontrolister , og var kun tilgængelig i visse OS / 2-serverudgaver. FAT-filsystemet blev aldrig fjernet fra kernen og officielt aldrig et IFS, selvom der er FAT IFS, der tilføjede funktioner som lange filnavne (LFN'er), FAT32- support osv.
Netværksfildelingsprotokoller som NFS og SMB implementeres også ved hjælp af IFS, og IFS-grænsefladen blev aldrig ændret.
IFS i Windows 3.11 og 9x
IFSHLP.SYS ( Installable File System Helper) er en MS-DOS- enhedsdriver, der først blev frigivet som en del af Microsoft Windows 3.11 . Det muliggør indfødt 32-bit filadgang i Windows 386 Enhanced Mode ved at omgå 16-bit DOS API og sikre, at ingen andre reelle mode- drivere opfanger INT 21h- opkald.
Den beskyttede modstykke til IFSHLP.SYS er IFSMGR.386 i Windows 3.11 og IFSMGR.VXD i Windows 95 og Windows 98.
IFS i Windows NT
IFS API er en del af Windows Driver Kit .
Da Microsoft stoppede med at udvikle OS / 2 og koncentrerede sig om det, der derefter blev kaldt OS / 2 NT, tog de IFS-idéerne sammen med HPFS-filsystemet.
I stedet for at være en firedelingsordning blev NT IFS redesignet til en todelt ordning. microIFS og miniIFS blev fjernet fra ordningen. IFS og hjælpere forbliver de samme, men senere, i Windows NT 4.0, blev en defragmenteringshjælper (DEFRAG) tilføjet. Microsofts originale NTLDR blev kodet til indlæsning af NT-kernen fra FAT, HPFS eller NTFS , men efterfølgende versioner droppede HPFS-understøttelse. Alle drivere og hjælpere blev 32-bit PE-eksekverbare filer . FAT-filsystemet blev flyttet ud af kernen til en IFS og var stærkt optimeret til ydeevne ved at udnytte 32-bit-behandlingsfunktionerne (kaldes FASTFAT ).
Original Windows NT 3.1 inkorporerede FAT, HPFS (Pinball) og de nyoprettede NTFS-drivere sammen med en ny og forbedret CD-ROM-filsystemdriver, der inkorporerede lange filnavne ved hjælp af Microsoft Joliet- filsystemet.
Windows NT 3.51 tilføjede komprimering pr. Fil til NTFS og til IFS-grænsefladen. I Windows NT 4.0 blev HPFS fjernet. I Windows 2000 blev FASTFAT opdateret til understøttelse af FAT32, og UDF blev tilføjet.
Windows 2000 ændrede IFS-grænsefladen for at tilføje kryptering pr. Fil.
Netværksfildelingsprotokoller og antivirus implementeres også ved hjælp af IFS.
Apple begyndte at inkludere skrivebeskyttede HFS + -drivere i Mac OS X 10.6 's version af Boot Camp til brug i Windows XP , Windows Vista og Windows 7 .
Yderligere læsning
- Rajeev Nagar. Windows NT File System Internals, En udviklervejledning . O'Reilly. ISBN 1-56592-249-2 .
- Helen Custer. Inde i Windows NT-filsystemet . Microsoft Press. ISBN 1-55615-660-X .
- Helen Custer. Inde i Windows NT . Microsoft Press. ISBN 1-55615-481-X .
Se også
- Virtuelt filsystem
- Liste over filsystemer
- Sammenligning af filsystemer
- Netværks omdirigering
- Dokan Bibliotek
Referencer
eksterne links
ext2 / ext3 / ext4
- Ext2Fsd er en GPL- filsystemdriver til Windows 2000 til Windows 8 (32Bit og 64Bit); det understøtter skrivning / flere codepages, ext3 htree, journal siden version 0.50 tilgængelig
- ext2 IFS til Windows NT (skrivebeskyttet)
- Ext2IFS / En anden ext2-3 IFS til Windows NT / 2000 / XP / 2003 (Læs / skriv; understøttelse af UTF-8-filnavne og ext3 htree; ext3-journal understøttes ikke)
ReiserFS
- ReiserFS IFS til Windows NT (skrivebeskyttet)
HFS
OS / 2
Andet
- CBFS Storage - virtuelt filsystem med en fil på tværs af platforme med kryptering og komprimering
- CBFS Connect - SDK, der lader udviklere oprette installerbare virtuelle filsystemer til Windows i brugertilstand
- RomFS - Windows- drivereksempler
- WinFUSE - et .NET-baseret filsystem i USErspace-ramme, der bruger SMB i stedet for IFS
- Dokany - en MIT-licenseret ramme til filsystemer i Windows-brugere, der bruger en separat kernedriver med tilgængelige .NET-bindinger