Installerbart filsystem

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 14. februar 2021; checks kræver 3 redigeringer .

Installable File System ( IFS ) er et filsystem-API i IBM OS/2 og Microsoft Windows , der gør det muligt for operativsystemet at genkende og indlæse en filsystemdriver.

Historie

Da udviklerne IBM og Microsoft designede OS/2, indså de, at FAT ikke opfyldte kravene til moderne operativsystemer, og Microsoft begyndte at udvikle High Performance File System (HPFS) kodenavnet Pinball . I stedet for at sætte kode inde i kernen, som for FAT, udviklede Microsoft en API-baseret filsystemdriver, der ville give andre udviklere mulighed for at tilføje nye filsystemer til kernen uden at skulle ændre det.

Da Microsoft holdt op med at arbejde på OS/2, fortsatte IBM med at bruge IFS-grænsefladen, og Microsoft implementerede en lignende på Windows-systemer.

IFS i DOS 4.x

MS-DOS 4.0 understøtter IFS-direktivet til indlæsning af tredjeparts filsystemdrivere. [en]

Kommandoformat: IFS=<drev><sti><driver>, samme som for DEVICE-direktivet.

IFS i OS/2

IFS leverede en grundlæggende og ret kraftfuld grænseflade til filsystemprogrammering. Det blev inkluderet i 1989 med OS/2 1.20 sammen med HPFS-filsystemet.

Filsystemdrivere kører i kernerum (ring 0) og er opdelt i fire hoveddele: microIFS, miniIFS, IFS, hjælpere.

For IFS-driveren er selve filsystemkoden ikke påkrævet, den vil blive indlæst via "IFS="-direktivet i CONFIG.SYS-filen. Dette er et 16-bit dynamisk indlæst bibliotek i et nyt EXE-format. Uanset om du bruger 32-bit OS/2 (2.0 og derover), er IFS altid 16-bit (selvom 32-bit IFS også kan oprettes).

MicroIFS er et stykke kode, der indlæser miniIFS-kernen i hukommelsen og sender kontrol til kernen. Denne kode er indeholdt i opstartsdelene af filsystemet.

MiniIFS er den kode, der udføres af kernen efter det første "IFS="-direktiv specificeret i CONFIG.SYS-filen, så det første argument til IFS skal være systemdrevets filsystem, for at det kan starte.

Hjælpere, 16-bit (for OS/2 1.x) eller 32-bit (for OS/2 /2.x og højere), kører i brugerrum (ring 3) og indeholder kode, der bruges til filsystemvedligeholdelse og kaldes af CHKDSK og FORMAT hjælpeprogrammerne.

Dette firedelte skema gjorde det muligt for udviklere dynamisk at tilføje et nyt boot-filsystem, såsom ext2-driveren demonstreret i OS/2.

Cd-rom-filsystemdriveren (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. eComStation, den seneste version af OS/2, indeholder også mange filsystemdrivere til OS/2 i cd-familien. Der var også en officiel 32-bit HPFS IFS kaldet HPFS386, der forbedrede ydeevnen og tilføjede nogle funktioner, såsom cache med variabel størrelse og adgangskontrollister, var kun tilgængelig i OS/2 Server 3.0. FAT-filsystemet blev ikke fjernet fra kernen og havde aldrig officielt sin egen IFS, selvom der er FAT ISF'er, der har tilføjet funktioner såsom lange filnavne (LFN'er), FAT32-understøttelse osv.

Netværksfildelingsprotokoller som NFS og SMB implementeres også ved hjælp af IFS, men selve IFS-grænsefladen har aldrig ændret sig.

IFS i Windows NT

IFS API er en del af Windows Driver Kit. Da Microsoft (efter at have solgt systemet til IBM) holdt op med at udvikle OS/2 og koncentrerede sig om det, der først blev kaldt OS/2 NT, tog de ideen fra IFS sammen med HPFS-filsystemet.

I stedet for et 4-delt system er NT IFS blevet omdesignet til et todelt system: microIFS og miniIFS er blevet fjernet fra det. IFS og hjælpere forbliver de samme, men senere, i Windows NT 4.0, blev der tilføjet en defragmenteringshjælper (DEFRAG). Microsofts originale NTLDR blev kodet til at starte NT-kernen fra FAT, HPFS eller NTFS, men senere versioner droppede understøttelsen af ​​HPFS. Alle drivere og hjælpere er blevet til 32-bit New Type Executables (PE). FAT-filsystemet er blevet overført fra kernen til IFS og er blevet stærkt optimeret til at fungere ved hjælp af 32-bit enhedshåndteringsfunktioner (kaldet Fastfat).

Den originale Windows NT 3.1 inkluderede FAT, HPFS (Pinball) og nyoprettede NTFS-drivere sammen med en ny og forbedret CD-ROM-filsystemdriver, der inkluderede understøttelse af lange filnavne ved hjælp af Microsoft Joliet-filsystemet.

Windows NT 3.51 tilføjede komprimering pr. fil til NTFS og IFS-grænsefladen. I Windows NT 4.0 er HPFS blevet fjernet. Windows 2000 Fastfat opdaterede understøttelse af FAT32-filsystemet og tilføjede UDF.

Windows 2000 ændrede IFS-grænsefladen til at inkludere kryptering pr. fil. Fildelingsnetværksprotokoller og antivirus er også implementeret gennem IFS.

Apple begyndte at inkludere skrivebeskyttede HFS+-drivere i Mac OS X 10.6-versioner til brug på Windows XP, Windows Vista og Windows 7.

Bibliografi

Se også

Links

ext2/ext3

ReiserFS

HFS

OS/2

Andre

Noter

  1. Kevtronics. Udokumenterede kommandoer . [email protected] . Hentet 25. maj 2017. Arkiveret fra originalen 20. februar 2012.