close

Installerbart filsystem

Gå til navigasjon Gå til søk

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

Se også

Lenker

ext2/ext3

ReiserFS

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

  1. Kevtronics. Udokumenterte kommandoer . [email protected] . Hentet 25. mai 2017. Arkivert fra originalen 20. februar 2012.