Installerbart filsystem
Installable File System ( IFS ) er et filsystem-API i IBM OS/2 og Microsoft Windows som lar operativsystemet gjenkjenne og laste en filsystemdriver.
Historie
Da utviklerne IBM og Microsoft utviklet OS/2, innså de at FAT ikke oppfylte kravene til moderne operativsystemer, og Microsoft begynte å utvikle High Performance File System (HPFS) kodenavnet Pinball . I stedet for å legge kode inne i kjernen, som for FAT, utviklet Microsoft en API-basert filsystemdriver som ville tillate andre utviklere å legge til nye filsystemer til kjernen uten å måtte endre den.
Da Microsoft sluttet å jobbe på OS/2, fortsatte IBM å bruke IFS-grensesnittet og Microsoft implementerte et lignende på Windows-systemer.
IFS i DOS 4.x
MS-DOS 4.0 støtter IFS-direktivet for lasting av tredjeparts filsystemdrivere. [en]
Kommandoformat: IFS=<stasjon><bane><driver>, samme som for DEVICE-direktivet.
IFS i OS/2
IFS ga et grunnleggende og ganske kraftig grensesnitt for filsystemprogrammering. Den ble inkludert i 1989 med OS/2 1.20 sammen med HPFS-filsystemet.
Filsystemdrivere kjører i kjerneplass (ring 0) og er delt inn i fire hoveddeler: microIFS, miniIFS, IFS, hjelpere.
For IFS-driveren er ikke selve filsystemkoden nødvendig, den vil bli lastet via "IFS="-direktivet til CONFIG.SYS-filen. Dette er et 16-bits dynamisk lastet bibliotek i et nytt EXE-format. Uansett om du bruker 32-bit OS/2 (2.0 og høyere), er IFS alltid 16-bit (selv om 32-bit IFS også kan opprettes).
MicroIFS er et stykke kode som laster miniIFS-kjernen inn i minnet og sender kontrollen til kjernen. Denne koden finnes i oppstartsdelene av filsystemet.
MiniIFS er koden som kjøres av kjernen etter det første "IFS="-direktivet spesifisert i CONFIG.SYS-filen, så det første argumentet til IFS må være systemstasjonens filsystem for at den skal starte opp.
Hjelpere, 16-bit (for OS/2 1.x) eller 32-bit (for OS/2 /2.x og høyere), kjører i brukerplass (ring 3) og inneholder kode som brukes til filsystemvedlikehold og kalles av CHKDSK- og FORMAT-verktøyene.
Dette firedelte opplegget tillot utviklere å dynamisk legge til et nytt oppstartsfilsystem, slik som ext2-driveren demonstrert i OS/2.
CD-ROM-filsystemdriveren (ISO 9660) ble lagt til i OS/2 2.0, UDF ble lagt til i OS/2 4.0, og JFS ble lagt til i OS/2 4.5. eComStation, den siste versjonen av OS/2, inkluderer også mange filsystemdrivere for OS/2 i CD-familien. Det var også en offisiell 32-bits HPFS IFS kalt HPFS386 som forbedret ytelsen og la til noen funksjoner som cache med variabel størrelse og tilgangskontrolllister var bare tilgjengelig i OS/2 Server 3.0. FAT-filsystemet ble ikke fjernet fra kjernen og hadde aldri offisielt sin egen IFS, selv om det er FAT ISF-er som har lagt til funksjoner som lange filnavn (LFN), FAT32-støtte, etc.
Nettverksfildelingsprotokoller som NFS og SMB er også implementert ved hjelp av IFS, men selve IFS-grensesnittet har aldri endret seg.
IFS i Windows NT
IFS API er en del av Windows Driver Kit. Da Microsoft (etter å ha solgt systemet til IBM) sluttet å utvikle OS/2 og konsentrerte seg om det som først ble kalt OS/2 NT, tok de ideen fra IFS sammen med filsystemet HPFS.
I stedet for et 4-delt system, har NT IFS blitt redesignet til et todelt system: microIFS og miniIFS er fjernet fra det. IFS og hjelpere forblir de samme, men senere, i Windows NT 4.0, ble en defragmenteringshjelper (DEFRAG) lagt til. Microsofts originale NTLDR ble kodet for å starte opp NT-kjernen fra FAT, HPFS eller NTFS, men senere versjoner droppet støtte for HPFS. Alle drivere og hjelpere har blitt 32-bits New Type Executables (PE). FAT-filsystemet har blitt portert fra kjernen til IFS og har blitt kraftig optimert for å fungere ved å bruke 32-bits enhetshåndteringsfunksjoner (kalt Fastfat).
Den originale Windows NT 3.1 inkluderte FAT, HPFS (Pinball) og nyopprettede NTFS-drivere sammen med en ny og forbedret CD-ROM-filsystemdriver som inkluderte støtte for lange filnavn ved bruk av Microsoft Joliet-filsystemet.
Windows NT 3.51 la til komprimering per fil for NTFS og IFS-grensesnittet. I Windows NT 4.0 er HPFS fjernet. Windows 2000 Fastfat oppdaterte støtte for FAT32-filsystemet og la til UDF.
Windows 2000 endret IFS-grensesnittet til å inkludere kryptering per fil. Fildelingsnettverksprotokoller og antivirus er også implementert gjennom IFS.
Apple begynte å inkludere skrivebeskyttede HFS+-drivere i Mac OS X 10.6-versjoner for bruk på Windows XP, Windows Vista og Windows 7.
Bibliografi
- O'Reilly - Windows NT File System Internals, A Developer's Guide - Av Rajeev Nagar - ISBN 1-56592-249-2
- Microsoft Press - Inne i Windows NT-filsystemet - Av Helen Custer - ISBN 1-55615-660-X
- Microsoft Press - Inside Windows NT - Av Helen Custer - ISBN 1-55615-481-X
Se også
Lenker
ext2/ext3
- Ext2 filsystemdriver for Windows 2000/XP/Vista (x86/amd64) (støtter skriving/flere kodesider, ext3 htree, journalstøtte ny i 0.50)
- ext2 IFS for Windows NT (skrivebeskyttet)
- Ext2IFS / Another ext2-3 IFS for Windows NT/2000/XP/2003 (Les/Skriv; støtte for UTF-8 filnavn og ext3 htree; ext3 journal støttes ikke)
ReiserFS
- ReiserFS IFS for Windows NT (skrivebeskyttet)
HFS
OS/2
Andre
- Solid File System Arkivert 14. juli 2008 på Wayback Machine - ( SolFS ) virtuelt filsystem med én fil på tvers av plattformer med kryptering og komprimering
- Callback File System - SDK som lar utviklere lage installerbare virtuelle filsystemer for Windows i brukermodus
- RomFS - Windows- drivereksempler
- WinFUSE — et .NET-basert filsystem i USErspace-rammeverket som bruker SMB i stedet for IFS
- Dokan — et filsystemverktøysett for brukermodus ved hjelp av en IFS proxy-driver
Merknader
- ↑ Kevtronics. Udokumenterte kommandoer . [email protected] . Hentet 25. mai 2017. Arkivert fra originalen 20. februar 2012.