Sistem de fișiere instalabil

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită la 14 februarie 2021; verificările necesită 3 modificări .

Sistemul de fișiere instalabil ( IFS ) este un sistem de fișiere API în IBM OS/2 și Microsoft Windows care permite sistemului de operare să recunoască și să încarce un driver de sistem de fișiere.

Istorie

Când dezvoltatorii IBM și Microsoft proiectau OS/2, au realizat că FAT nu îndeplinea cerințele sistemelor de operare moderne, iar Microsoft a început să dezvolte High Performance File System (HPFS) cu numele de cod Pinball . În loc să pună cod în interiorul nucleului, ca și în cazul FAT, Microsoft a dezvoltat un driver de sistem de fișiere bazat pe API, care ar permite altor dezvoltatori să adauge noi sisteme de fișiere la kernel fără a fi nevoie să-l schimbe.

Când Microsoft a încetat să mai lucreze pe OS/2, IBM a continuat să folosească interfața IFS, iar Microsoft a implementat una similară pe sistemele Windows.

IFS în DOS 4.x

MS-DOS 4.0 acceptă directiva IFS pentru încărcarea driverelor de sistem de fișiere terță parte. [unu]

Format de comandă: IFS=<drive><path><driver>, la fel ca pentru directiva DEVICE.

IFS în OS/2

IFS a oferit o interfață de bază și destul de puternică pentru programarea sistemului de fișiere. A fost inclus în 1989 cu OS/2 1.20 împreună cu sistemul de fișiere HPFS.

Driverele sistemului de fișiere rulează în spațiul kernel (ring 0) și sunt împărțite în patru părți principale: microIFS, miniIFS, IFS, helpers.

Pentru driverul IFS, codul sistemului de fișiere în sine nu este necesar, acesta va fi încărcat prin directiva „IFS=" a fișierului CONFIG.SYS. Aceasta este o bibliotecă de 16 biți încărcată dinamic într-un nou format EXE. Indiferent dacă utilizați OS/2 pe 32 de biți (2.0 și mai sus), IFS este întotdeauna pe 16 biți (deși poate fi creat și IFS pe 32 de biți).

MicroIFS este o bucată de cod care încarcă nucleul miniIFS în memorie și transmite controlul nucleului. Acest cod este conținut în porțiunile de boot ale sistemului de fișiere.

MiniIFS este codul care este executat de nucleu după prima directivă „IFS=" specificată în fișierul CONFIG.SYS, deci primul argument pentru IFS trebuie să fie sistemul de fișiere al unității de sistem pentru ca acesta să pornească.

Ajutoare, pe 16 biți (pentru OS/2 1.x) sau pe 32 biți (pentru OS/2 /2.x și o versiune ulterioară), rulează în spațiul utilizator (ring 3) și conțin cod folosit pentru întreținerea sistemului de fișiere și apelat de utilitarele CHKDSK și FORMAT.

Această schemă din patru părți a permis dezvoltatorilor să adauge în mod dinamic un nou sistem de fișiere de pornire, cum ar fi driverul ext2 demonstrat în OS/2.

Driverul sistemului de fișiere CD-ROM (ISO 9660) a fost adăugat în OS/2 2.0, UDF a fost adăugat în OS/2 4.0 și JFS a fost adăugat în OS/2 4.5. eComStation, cea mai recentă versiune a OS/2, include, de asemenea, multe drivere de sistem de fișiere pentru OS/2 din familia de CD-uri. A existat, de asemenea, un HPFS IFS oficial pe 32 de biți, numit HPFS386, care a îmbunătățit performanța și a adăugat unele caracteristici, cum ar fi cache-ul de dimensiune variabilă și listele de control al accesului erau disponibile numai în OS/2 Server 3.0. Sistemul de fișiere FAT nu a fost eliminat din kernel și nu a avut niciodată oficial propriul său IFS, deși există ISF-uri FAT care au adăugat caracteristici precum nume lungi de fișiere (LFN), suport FAT32 etc.

Protocoalele de partajare a fișierelor de rețea, cum ar fi NFS și SMB, sunt, de asemenea, implementate folosind IFS, dar interfața IFS în sine nu s-a schimbat niciodată.

IFS în Windows NT

API-ul IFS face parte din setul de drivere Windows. Când Microsoft (după ce a vândut sistemul către IBM) a încetat să dezvolte OS/2 și s-a concentrat pe ceea ce a fost numit mai întâi OS/2 NT, au preluat ideea de la IFS împreună cu sistemul de fișiere HPFS.

În loc de un sistem din 4 părți, NT IFS a fost reproiectat într-o schemă din două părți: microIFS și miniIFS au fost eliminate din acesta. IFS și helperii rămân aceleași, dar mai târziu, în Windows NT 4.0, a fost adăugat un ajutor de defragmentare (DEFRAG). NTLDR original al Microsoft a fost codificat pentru a porni nucleul NT din FAT, HPFS sau NTFS, dar versiunile ulterioare au renunțat la suportul pentru HPFS. Toți driverele și ajutoarele au devenit 32 de biți New Type Executables (PE). Sistemul de fișiere FAT a fost portat de la nucleu la IFS și a fost puternic optimizat pentru a funcționa folosind capabilități de manipulare a dispozitivelor pe 32 de biți (numite Fastfat).

Windows NT 3.1 original includea drivere FAT, HPFS (Pinball) și NTFS nou create împreună cu un driver de sistem de fișiere CD-ROM nou și îmbunătățit, care includea suport pentru nume lungi de fișiere folosind sistemul de fișiere Microsoft Joliet.

Windows NT 3.51 a adăugat compresie pe fișier pentru NTFS și interfața IFS. În Windows NT 4.0, HPFS a fost eliminat. Windows 2000 Fastfat a actualizat suportul pentru sistemul de fișiere FAT32 și a adăugat UDF.

Windows 2000 a schimbat interfața IFS pentru a include criptarea pe fișier. Protocoalele de rețea de partajare a fișierelor și antivirusurile sunt, de asemenea, implementate prin IFS.

Apple a început să includă drivere HFS+ numai pentru citire în versiunile Mac OS X 10.6 pentru utilizare pe Windows XP, Windows Vista și Windows 7.

Bibliografie

Vezi și

Link -uri

ext2/ext3

ReiserFS

HFS

OS/2

Altele

Note

  1. Kevtronics. Comenzi nedocumentate . 76362.2023@compuserve.com . Preluat la 25 mai 2017. Arhivat din original la 20 februarie 2012.