Tabel de alocare a fișierelor - File Allocation Table

GRAS
Dezvoltatori Microsoft , NCR , SCP , IBM , Compaq , Digital Research , Novell , Caldera
Numele complet Tabel de alocare a fișierelor
Variante FAT pe 8 biți, FAT12 , FAT16 , FAT16B , FAT32 , ExFAT , FATX , FAT +
Introdus 1977 cu Standalone Disk BASIC-80 ( 1977 )
Identificator partiție MBR / EBR :
FAT12:  ea (atribut extins) FAT16:  ea FAT32:  ea BDP :0x01
0x040x060x0E
0x0B0x0C

EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
Structuri
Conținut director Masa
Alocarea fișierelor Listă legată
Blocuri rele Etichetarea clusterelor
Limite
Max. dimensiunea volumului FAT12: 32  MB (256 MB pentru clustere de 64 KB)
FAT16: 2 GB (4 GB pentru clustere de 64 KB)
FAT32: 2  TB (16 TB pentru sectoare de 4 KB )
Max. mărime fișier 4.294.967.295 octeți (4  GB - 1) cu FAT16B și FAT32
Max. numărul de fișiere FAT12: 4.068 pentru clustere de 8  KB
FAT16: 65.460 pentru clustere de 32 KB
FAT32: 268.173.300 pentru clustere de 32 KB
Max. lungimea numelui de fișier 8.3 nume de fișier sau 255 caractere UCS-2 când se utilizează LFN
Caracteristici
Date înregistrate Data / ora modificată, data / ora creației (numai DOS 7.0 și versiuni superioare), data accesului (disponibilă numai cu ACCDATE activat), data / ora ștergerii (numai cu DELWATCH 2)
Interval de date 1980-01-01 la 2099-12-31 ( 2107-12-31 )
Rezoluția datei 2 secunde pentru ultima oră modificată,
10 ms pentru timpul de creare,
1 zi pentru data de acces,
2 secunde pentru timpul de ștergere
Furci Nu nativ
Atribute Numai în citire , Ascuns , Sistem , Volum , Director , Arhivă
Permisiuni de sistem de fișiere FAT12 / FAT16: fișier, director și acces volum drepturi pentru citire , scriere , Executare , Ștergere numai cu DR-DOS , PalmDOS , Novell DOS , OpenDOS , FlexOS , 4680 OS , 4690 OS , concurente DOS , multiutilizator DOS , Manager Sistem , REAL / 32 (Executare dreapta numai cu FlexOS, 4680 OS, 4690 OS; parole de fișiere individuale / director nu cu FlexOS, 4680 OS, 4690 OS; Mondial / Grup / Proprietar clase de permisiuni numai cu securitate multiutilizator încărcate)
FAT32: parțial, numai cu DR -DOS, REAL / 32 și 4690 OS
Compresie transparentă FAT12 / FAT16: Per-volum, SuperStor , Stacker , DoubleSpace , DriveSpace
FAT32: Nu
Criptare transparentă FAT12 / FAT16: Per-volum numai cu DR-DOS
FAT32: Nu

File Allocation Table ( FAT ) este un sistem de fișiere dezvoltat pentru computerele personale. Dezvoltat inițial în 1977 pentru utilizare pe dischete , a fost adaptat pentru utilizare pe discuri și alte dispozitive. Este adesea acceptat din motive de compatibilitate de sistemele de operare actuale pentru computerele personale și multe dispozitive mobile și sisteme încorporate , permițând schimbul de date între sisteme disparate. Creșterea capacității unităților de disc a necesitat trei variante majore: FAT12 , FAT16 și FAT32 . Standardul FAT a fost, de asemenea, extins în alte moduri, păstrând, în general, compatibilitatea cu software-ul existent.

FAT nu mai este sistemul de fișiere implicit pentru computerele Microsoft Windows .

Sistemele de fișiere FAT se găsesc în mod obișnuit pe dischete, flash și alte carduri și module de memorie în stare solidă (inclusiv unități flash USB ), precum și pe multe dispozitive portabile și încorporate. FAT este sistemul de fișiere standard pentru camerele digitale conform specificației DCF .

Prezentare generală

Concepte

Sistemul de fișiere utilizează un tabel de index stocat pe dispozitiv pentru a identifica lanțuri de zone de stocare a datelor asociate cu un fișier, Tabelul de alocare a fișierelor ( FAT ). FAT este alocat static la momentul formatării. Tabelul este o listă legată de intrări pentru fiecare cluster , o zonă contiguă de stocare pe disc. Fiecare intrare conține fie numărul următorului cluster din fișier, fie un marker care indică sfârșitul fișierului, spațiul pe disc neutilizat sau zone rezervate speciale ale discului. Directorul rădăcină al discului conține numărul de primul grup de fiecare fișier în acel director. Sistemul de operare poate parcurge apoi FAT, căutând numărul de cluster al fiecărei părți succesive a fișierului disc ca un lanț de cluster până când se ajunge la sfârșitul fișierului. Subdirectoarele sunt implementate ca fișiere speciale care conțin intrările de director ale fișierelor respective.

Fiecare intrare din lista FAT este un număr fix de biți: 12, 16 sau 32. Dimensiunea maximă a unui fișier sau a unei unități de disc care poate fi accesată este produsul cu cel mai mare număr care poate fi stocat în intrări (mai puțin câteva valori rezervate pentru a indica spațiul nealocat sau sfârșitul unei liste) și dimensiunea clusterului de discuri. Chiar dacă este necesar un singur octet de stocare pentru a extinde un fișier, trebuie să i se aloce un întreg cluster, astfel încât clusterele mari risipesc mult spațiu pe disc dacă există un număr mare de fișiere mici.

Conceput inițial ca un sistem de fișiere pe 8 biți, numărul maxim de clustere trebuie să crească pe măsură ce crește capacitatea unității de disc, astfel încât numărul de biți utilizați pentru a identifica fiecare cluster a crescut. Variantele succesive majore ale formatului FAT sunt numite după numărul de biți ai elementelor de tabel: 12 ( FAT12 ), 16 ( FAT16 ) și 32 ( FAT32 ).

Utilizări

Sistemul de fișiere FAT a fost utilizat din 1977 pentru computere și este încă frecvent utilizat în sistemele încorporate. Sistemele de fișiere compatibile facilitează schimbul de date între, de exemplu, computere desktop și dispozitive portabile. Sistemele de fișiere FAT sunt implicite pentru suporturile amovibile, cum ar fi dischete , super-dischete , carduri de memorie și memorie flash sau unități flash USB . FAT este acceptat de dispozitive portabile precum PDA-uri , camere digitale , camere video , playere media și telefoane mobile. În timp ce FAT12 este utilizat pe dischete, FAT16 și FAT32 se găsesc de obicei pe suporturile mari.

FAT a fost, de asemenea, utilizat pe hard disk-uri în epocile DOS și Windows 9x . Microsoft a introdus un nou sistem de fișiere, NTFS („New Technology File System”), cu platforma Windows NT în 1993, dar FAT a rămas standardul pentru utilizatorul casnic până la introducerea Windows XP bazat pe NT în 2001. FAT este încă utilizat în hard disk-uri care se așteaptă să fie utilizate de mai multe sisteme de operare, cum ar fi în medii partajate Windows, Linux și DOS. Microsoft Windows vine în plus cu un instrument preinstalat pentru a converti un sistem de fișiere FAT în NTFS direct fără a fi nevoie să rescrieți toate fișierele, deși acest lucru nu poate fi inversat direct.

Multe sisteme de operare oferă suport pentru mediile formatate FAT prin intermediul sistemelor de fișiere încorporate sau terțe.

Sistemul de fișiere DCF adoptat de aproape toate camerele digitale începând din 1998 definește un sistem de fișiere logice cu 8.3 nume de fișiere și face obligatorie utilizarea FAT12, FAT16, FAT32 sau exFAT pentru stratul său fizic de compatibilitate.

FAT este, de asemenea, utilizat intern pentru partiția sistemului EFI în etapa de boot a computerelor compatibile EFI . Sistemele de fișiere FAT ascunse sunt, de asemenea, utilizate în partiția de încărcare UEFI pe computerele moderne.

Pentru dischete, FAT a fost standardizat ca ECMA -107 și ISO / IEC  9293: 1994 (înlocuind ISO 9293: 1987). Aceste standarde acoperă FAT12 și FAT16 doar cu suport scurt pentru numele de fișier 8,3 ; numele de fișiere lungi cu VFAT au fost parțial brevetate .

Nomenclatură

„Sistem de fișiere FAT” se referă la, FAT12 , FAT16 și FAT32 . Este posibil ca utilitarele sistemului de operare să nu identifice ce versiune va fi utilizată pentru formatarea unui dispozitiv.

FAT16 ” se referă atât la grupul original de sisteme de fișiere FAT cu intrări de cluster pe 16 biți, cât și la variantele ulterioare („ FAT16B ”) cu intrări de sector pe 32 de biți. Valorile stocate în blocul de parametri ai discului pot fi utilizate pentru a identifica structura fișierului.

VFAT ” este o extensie opțională pentru numele de fișiere lungi, care poate funcționa deasupra oricărui sistem de fișiere FAT. Volumele care folosesc nume de fișiere lungi VFAT pot fi citite și de sistemele de operare care nu acceptă extensia VFAT.

Tipul general de sistem de fișiere (FAT12, FAT16 sau FAT32) este determinat de lățimea intrărilor de cluster din FAT. Valorile prag specifice pentru numărul de clustere, stocate în blocul de parametri ai discului, definesc tipul FAT utilizat. Alte proprietăți ale dispozitivului de stocare, cum ar fi dimensiunea, formatul blocului de parametri sau numele sistemului de fișiere, nu pot fi utilizate în mod fiabil pentru a obține tipul de sistem de fișiere.

Un volum FAT12 sau FAT16 poate fi definit cu un „ FAT32 EBPB ” utilizat în mod normal pentru volumele FAT32. ID-urile de partiție nu sunt utilizate pentru a specifica singuri un tip de sistem de fișiere.

Tipuri

FAT original pe 8 biți

FAT pe 8 biți
Dezvoltatori Microsoft , NCR , SCP
Numele complet Tabel de alocare a fișierelor pe 8 biți
Introdus 1977/1978: NCR Basic +6 pentru NCR
1978: Standalone Disk BASIC-80 (intrări în director de 16 octeți)
(1978: Standalone Disk BASIC-86 numai intern)
1979-06-04: Standalone Disk BASIC-86 pentru SCP (16 intrări în director de octeți )
1979: MIDAS (intrări de director pe 32 de octeți)
Limite
Max. mărime fișier 8 MB
Granularitatea dimensiunii fișierului record-granularitate (128 octeți)
Max. lungimea numelui de fișier 6.3 nume de fișier (fișiere binare), 9 caractere (fișiere ASCII)
Max. adâncimea directorului fără subdirectoare
Caracterele permise în numele fișierelor ASCII ( 0x00și 0xFFnu este permis în primul caracter)
Caracteristici
Date înregistrate Nu
Atribute Protecție la scriere, conversie EBCDIC , citire după scriere, binar (fișier aleator, nu secvențial)

Sistemul original de fișiere FAT (sau structura FAT , așa cum a fost numit inițial) a fost proiectat și implementat de Marc McDonald , pe baza unei serii de discuții între McDonald și Bill Gates . A fost introdus cu elemente de tabelă pe 8 biți (și numere valide de cluster de date până la 0xBF) într-un precursor al discului standalone Microsoft BASIC-80 pentru un succesor al 8080 al terminalului NCR 7200 model VI de introducere a datelor, echipat cu 8 dischete -inch (200 mm), în 1977 sau 1978. În 1978, Standalone Disk BASIC-80 a fost portat pe 8086 folosind un emulator pe un DEC PDP-10 , deoarece nu existau sisteme reale 8086 disponibile în acest moment. Sistemul de fișiere FAT a fost utilizat și în MDOS / MIDAS de la Microsoft , un sistem de operare pentru platformele 8080 / Z80 scris de McDonald din 1979. Versiunea Standalone Disk BASIC a acceptat trei FAT-uri, în timp ce acesta a fost un parametru pentru MIDAS. Se pare că MIDAS a fost pregătit să accepte variante FAT de 10 biți, 12 biți și 16 biți. În timp ce dimensiunea intrărilor de director a fost de 16 octeți în Standalone Disk BASIC , MIDAS a ocupat în schimb 32 de octeți pe intrare.

FAT12

FAT12
Dezvoltatori SCP , Microsoft , IBM , Digital Research , Novell
Numele complet Tabel de alocare a fișierelor pe 12 biți
Introdus 1980-07 ( QDOS 0.10 , intrări de director de 16 octeți)
1981-02-25 ( 86-DOS 0.42 , intrări de director de 32 de octeți , mai multe sectoare rezervate)
c. 1981-08 / 10 ( PC DOS 1.0 , intrări de director pe 32 de octeți, 1 sector rezervat)
03-03 1982 ( MS-DOS 1.25 , intrări de director pe 32 de octeți, 1 sector rezervat)
Identificator partiție MBR / EBR :
FAT12 : ea BDP :0x01

EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
Limite
Max. dimensiunea volumului 16 MB (cu clustere de 4 KB)
32 MB (cu clustere de 8 KB)
Max. mărime fișier limitat de dimensiunea volumului
Granularitatea dimensiunii fișierului 1 octet
Max. numărul de fișiere 4.068 pentru clustere de 8 KB
Max. lungimea numelui de fișier 8.3 nume de fișier cu caractere OEM ,
255 caractere UCS-2 când se utilizează LFN
Max. adâncimea directorului 32 de nivele sau 66 de caractere (cu CDS ),
60 de niveluri sau mai mult (fără CDS)
Caracteristici
Date înregistrate Data modificată (nu cu 86-DOS înainte de 0,42), ora modificată (nu cu PC DOS 1.0 și 86-DOS), data / ora creației (numai DOS 7.0 și mai mare), data accesului (disponibilă numai cu ACCDATE activat), data ștergerii / timp (numai cu DELWATCH 2)
Interval de date 1980-01-01 la 2099-12-31 ( 2107-12-31 )
Rezoluția datei 2 secunde pentru ultima oră modificată,
10 ms pentru timpul de creare,
1 zi pentru data de acces,
2 secunde pentru timpul de ștergere
Atribute Numai citire (din DOS 2.0), Ascuns , Sistem , Volum (din MS-DOS 1.28 și PC DOS 2.0 ), Director (din MS-DOS 1.40 și PC DOS 2.0), Arhivă (din DOS 2.0)
Permisiuni de sistem de fișiere Fișier, director și acces la volumul de drepturi pentru citire , scriere , Executare , Ștergere numai cu DR-DOS , PalmDOS , Novell DOS , OpenDOS , FlexOS , 4680 OS , 4690 OS , concurente DOS , multiutilizator DOS , Manager Sistem , REAL / 32 (Executare corect doar cu FlexOS, 4680 OS, 4690 OS; parolele fișierului / directorului individual nu cu FlexOS, 4680 OS, 4690 OS; Clasele de permisiuni World / Group / Owner numai cu securitate multi-utilizator încărcat)
Compresie transparentă Per-volum, SuperStor , Stacker , DoubleSpace , DriveSpace
Criptare transparentă Per-volum numai cu DR-DOS

Între aprilie și august 1980, în timp ce împrumuta conceptul FAT pentru propriul sistem de operare 8086 al SCP QDOS 0.10 , Tim Paterson a extins elementele tabelei la 12 biți , a redus numărul FAT-urilor la doi, a redefinit semantica unora dintre valorile clusterelor rezervate și a modificat aspectul discului, astfel încât directorul rădăcină să fie acum situat între FAT și zona de date pentru implementarea lui FAT12 . Paterson a mărit, de asemenea, limita de lungime a numelui de fișier de nouă caractere (6.3) la unsprezece caractere pentru a susține numele de fișier CP / M- stil 8.3 și blocurile de control al fișierelor . Formatul utilizat în precursorul sistemului de fișiere pe 8 biți Microsoft Standalone Disk nu a fost acceptat de QDOS. Până în august 1980, QDOS a fost redenumit 86-DOS . Începând cu 86-DOS 0.42 , dimensiunea și aspectul intrărilor din director au fost modificate de la 16 octeți la 32 de octeți pentru a adăuga o ștampilă de dată a fișierului și a crește limita teoretică a dimensiunii fișierului peste limita anterioară de 16 MB. 86-DOS 1.00 a devenit disponibil la începutul anului 1981. Mai târziu, în 1981, 86-DOS a evoluat în Microsoft MS-DOS și IBM PC DOS . Capacitatea de a citi volume formatate anterior cu intrări de director de 16 octeți a fost abandonată cu MS-DOS 1.20 .

FAT12 a folosit intrări de 12 biți pentru adresele clusterului; unele valori au fost rezervate pentru a marca sfârșitul unui lanț de clustere, pentru a marca zonele inutilizabile ale discului sau în alte scopuri, astfel încât numărul maxim de clustere a fost limitat la 4078. Pentru a economisi spațiu pe disc, au fost utilizate două intrări FAT de 12 biți trei octeți consecutivi de 8 biți pe disc, necesitând manipularea pentru a despacheta valorile de 12 biți. Acest lucru a fost suficient pentru unitățile de dischetă originale și discurile mici de până la 32 megabytes. Versiunea FAT16B disponibilă cu DOS 3.31, suporta numere sectoriale pe 32 de biți și astfel a mărit limita de dimensiune a volumului.

Toate structurile de control se potrivesc în interiorul primei piste, pentru a evita mișcarea capului în timpul operațiilor de citire și scriere. Orice sector defect din zona structurilor de control ar face discul inutilizabil. Instrumentul de formatare DOS a respins complet astfel de discuri. Sectoarele defecte au fost permise numai în zona de date a fișierelor. Clusterele care conțin sectoare defecte au fost marcate ca neutilizabile cu valoarea rezervată 0xFF7.

În timp ce 86-DOS a acceptat trei formate de disc (250,25 KB, 616 KB și 1232 KB cu ID-uri FAT 0xFF și 0xFEpe unități de dischetă de 8 inci (200 mm), IBM PC DOS 1.0 , lansat împreună cu computerul personal IBM original în 1981, a acceptat doar un Formatul de dischetă cu 8 sectoare, cu o capacitate formatată de 160 KB (FAT ID 0xFE) pentru unitățile de dischetă unilaterale de 5,25 inci, iar PC DOS 1.1 a adăugat suport pentru un format pe două fețe cu 320 KB (FAT ID 0xFF). PC DOS 2.0 a fost introdus suport pentru formate de dischete cu 9 KB cu 180 KB (FAT ID 0xFC) și 360 KB (FAT ID 0xFD).

86-DOS 1.00 și intrările din directorul PC DOS 1.0 au inclus o singură dată, ultima dată modificată. PC DOS 1.1 a adăugat ultima dată modificată. Atributele de fișiere PC DOS 1.x includeau un bit ascuns și un bit de sistem, restul de șase biți fiind nedefinit. În acest moment, DOS nu suporta subdirectoarele, dar de obicei existau doar câteva zeci de fișiere pe o dischetă.

PC XT a fost primul PC cu un hard disk de la IBM și PC - DOS 2.0 susținut că hard disk cu FAT12 ( FAT ID 0xF8 ). Presupunerea fixă ​​de 8 sectoare pe clustere pe hard disk-uri a limitat practic dimensiunea maximă a partiției la 16 MB pentru sectoare de 512 octeți și clustere de 4 KB.

BIOS bloc parametru ( BPB ) a fost introdus cu PC - DOS 2.0, de asemenea, și această versiune a adăugat , de asemenea , numai în citire, arhiva , eticheta de volum , și directorul de biți de atribute pentru sub-directoare ierarhice.

MS-DOS 3.0 a introdus suport pentru dischete de mare densitate de 1,2 MB de 5,25 inci (descriptor media 0xF9), care aveau în special 15 sectoare pe pistă, deci mai mult spațiu pentru FAT-uri.

FAT12 rămâne în uz pe toate dischetele obișnuite , inclusiv 1,44 MB și ulterior 2,88 MB (octet descriptor media 0xF0).

FAT16 inițial

FAT16.
Dezvoltatori Microsoft , IBM , Digital Research , Novell
Numele complet Tabel de alocare a fișierelor pe 16 biți
(cu intrări sectoriale pe 16 biți)
Introdus 1984-08-14 (PC DOS 3.0)
1984-08 (MS-DOS 3.0)
Identificator partiție MBR / EBR :
FAT16 :  ea BDP :0x04
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
Limite
Max. mărime fișier limitat de dimensiunea volumului
Granularitatea dimensiunii fișierului 1 octet
Max. numărul de fișiere 65.536 pentru clustere de 32 KB
Max. lungimea numelui de fișier 8.3 nume de fișier cu caractere OEM ,
255 caractere UCS-2 când se utilizează LFN
Max. adâncimea directorului 32 de nivele sau 66 de caractere (cu CDS ),
60 de niveluri sau mai mult (fără CDS)
Caracteristici
Date înregistrate Data / ora modificată, data / ora creației (numai DOS 7.0 și versiuni superioare), data accesului (disponibilă numai cu ACCDATE activat), data / ora ștergerii (numai cu DELWATCH 2)
Interval de date 1980-01-01 la 2099-12-31 ( 2107-12-31 )
Rezoluția datei 2 secunde pentru ultima oră modificată,
10 ms pentru timpul de creare,
1 zi pentru data de acces,
2 secunde pentru timpul de ștergere
Atribute Numai în citire , Ascuns , Sistem , Volum , Director , Arhivă
Permisiuni de sistem de fișiere Fișier, director și acces la volumul de drepturi pentru citire , scriere , Executare , Ștergere numai cu DR-DOS , PalmDOS , Novell DOS , OpenDOS , FlexOS , 4680 OS , 4690 OS , concurente DOS , multiutilizator DOS , Manager Sistem , REAL / 32 (Executare corect doar cu FlexOS, 4680 OS, 4690 OS; parolele fișierului / directorului individual nu cu FlexOS, 4680 OS, 4690 OS; Clasele de permisiuni World / Group / Owner numai cu securitate multi-utilizator încărcat)
Compresie transparentă Per-volum, SuperStor , Stacker , DoubleSpace , DriveSpace
Criptare transparentă Per-volum numai cu DR-DOS

În 1984, IBM a lansat PC AT , care necesita PC DOS 3.0 pentru a accesa discul său de 20 MB. Microsoft a introdus MS-DOS 3.0 în paralel. Adresele de cluster au fost mărite la 16 biți, permițând până la 65.526 de clustere pe volum. Cu toate acestea, numărul maxim posibil de sectoare și dimensiunea maximă a partiției de 32 MB nu s-au modificat. Deși adresele cluster erau de 16 biți, acest format nu era ceea ce astăzi este înțeles în mod obișnuit ca FAT16 . Un tip de partiție 0x04 indică această formă de FAT16 cu mai puțin de 65536 sectoare (mai puțin de 32 MB pentru dimensiunea sectorului 512). Avantajul FAT16 a fost utilizarea unor clustere mai mici, făcând utilizarea discului mai eficientă, în special pentru un număr mare de fișiere de doar câteva sute de octeți.

Deoarece MS-DOS 3.0 a formatat toate partițiile de 16 MB-32 MB în format FAT16, un hard disk de 20 MB formatat sub MS-DOS 3.0 nu a fost accesibil de MS-DOS 2.0. MS-DOS 3.0 până la MS-DOS 3.30 ar putea totuși accesa partiții FAT12 sub 15 MB, dar a necesitat ca toate partițiile de 16 MB-32 MB să fie FAT16 și, prin urmare, nu ar putea accesa partiții MS-DOS 2.0 în acest interval de dimensiuni. MS-DOS 3.31 și o versiune ulterioară ar putea accesa din nou partițiile FAT12 de 16 MB-32 MB.

FAT sectorial logic

Implementările MS-DOS și PC DOS ale FAT12 și FAT16 nu au putut accesa partiții de disc mai mari de 32 de megaocteți. Mai mulți producători și-au dezvoltat propriile variante FAT în versiunile OEM ale MS-DOS.

Unii furnizori ( AST și NEC ) au acceptat opt , în loc de cele patru standard , intrări de partiții primare în Master Boot Record ( MBR ) personalizat extins și au adaptat MS-DOS pentru a utiliza mai mult decât o singură partiție primară.

Alți furnizori au lucrat în jurul limitelor dimensiunii volumului impuse de intrările din sectorul de 16 biți prin creșterea dimensiunii aparente a sectoarelor pe care sistemul de fișiere a operat. Aceste sectoare logice erau mai mari (până la 8192 octeți) decât dimensiunea sectorului fizic (încă 512 octeți) de pe disc. DOS-BIOS sau BIOS-ul sistemului ar combina apoi mai multe sectoare fizice în sectoare logice pentru ca sistemul de fișiere să funcționeze.

Aceste modificări au fost transparente pentru implementarea sistemului de fișiere în nucleul DOS. DOS-BIOS-ul de bază a tradus aceste sectoare logice în sectoare fizice în funcție de partiționarea informațiilor și geometria fizică a unității.

Dezavantajul acestei abordări a fost creșterea memoriei utilizate pentru tamponarea și deblocarea sectorului. Deoarece versiunile DOS mai vechi nu puteau utiliza sectoare logice mari, OEM-urile au introdus noi ID-uri de partiție pentru variantele lor FAT, pentru a le ascunde de problemele de pe piață ale MS-DOS și PC DOS. ID-urile de partiție cunoscute pentru FAT-uri sectoriale logice includ: 0x08( Commodore MS-DOS 3.x), 0x11( Leading Edge MS-DOS 3.x), 0x14(AST MS-DOS 3.x), 0x24(NEC MS-DOS 3.30), 0x56( AT&T MS-DOS 3.x), 0xE5( Tandy MS-DOS), 0xF2( Sperry IT MS-DOS 3.x, Unisys MS-DOS 3.3 - utilizat și de Digital Research DOS Plus 2.1). Versiunile OEM, cum ar fi Toshiba MS-DOS, Wyse MS-DOS 3.2 și 3.3, precum și Zenith MS-DOS sunt, de asemenea, cunoscute că au utilizat sectorizarea logică.

Deși sunt non-standard și sub-optime, aceste variante FAT sunt perfect valabile în conformitate cu specificațiile sistemului de fișiere în sine. Prin urmare, chiar dacă problemele implicite ale MS-DOS și PC DOS nu au reușit să le facă față, majoritatea acestor variante FAT12 și FAT16 specifice furnizorului pot fi montate prin implementări mai flexibile ale sistemului de fișiere în sisteme de operare precum DR-DOS, pur și simplu prin schimbarea ID-ului partiției la unul dintre tipurile recunoscute. De asemenea, dacă nu mai trebuie recunoscute de sistemele lor de operare originale, partițiile existente pot fi „convertite” în volume FAT12 și FAT16 mai conforme cu versiunile MS-DOS / PC DOS 4.0–6.3, care nu acceptă dimensiuni de sector diferite de la 512 octeți, trecând la un BPB cu intrare pe 32 de biți pentru numărul de sectoare, așa cum a fost introdus de la DOS 3.31 (a se vedea FAT16B mai jos), păstrând dimensiunea clusterului și reducând dimensiunea sectorului logic în BPB până la 512 octeți, în timp ce în același timp, creșterea numărului de sectoare logice per cluster, sectoare logice rezervate, sectoare logice totale și sectoare logice per FAT de același factor.

O dezvoltare paralelă în MS-DOS / PC DOS care a permis o creștere a dimensiunii maxime FAT posibile a fost introducerea mai multor partiții FAT pe un hard disk. Pentru a permite utilizarea mai multor partiții FAT într-un mod compatibil, un nou tip de partiție a fost introdus în PC DOS 3.2 (1986), partiția extinsă (EBR), care este un container pentru o partiție suplimentară numită unitate logică . De la PC DOS 3.3 (aprilie 1987), există o altă partiție extinsă opțională care conține următoarea unitate logică și așa mai departe. MBR unui hard disc poate defini fie de până la patru partiții primare, sau o partiție extinsă , în plus față de până la trei partiții primare.

FAT16 final

FAT16B
Dezvoltatori Compaq , Digital Research , IBM , Microsoft , Novell
Numele complet Tabel de alocare a fișierelor pe 16 biți
(cu intrări sectoriale pe 32 de biți)
Introdus 1987-11 ( Compaq MS-DOS 3.31 )
1988-06-28 ( DR DOS 3.31 )
1988 ( IBM DOS 4.0 )
1988 ( OS / 2 1.1 )
1988 ( MS-DOS 4.0 )
Identificator partiție MBR / EBR :
FAT16B :  ( LBA ), și BDP :0x060x0E

EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
Limite
Min. dimensiunea volumului MB (cu sectoare de 128 octeți)
32 MB (cu  sectoare de 512 octeți)
256 MB (cu sectoare de 4 KB )
Max. dimensiunea volumului GB (cu clustere de 32  KB )
4 GB (cu clustere de 64 KB) (NT 4, PTS-DOS, EDR-DOS)
8 GB (cu clustere de 128 KB și sectoare de 1 sau 2 KB) (doar NT 4 și EDR-DOS )
8 GB (cu clustere de 128 KB și sectoare de 512 octeți) (numai EDR-DOS)
16 GB (cu clustere de 256 KB și sectoare de 2 sau 4 KB) (numai NT 4)
Max. mărime fișier 2.147.483.647 octeți (2 GB - 1) (fără LFS )
4.294.967.295 octeți (4 GB - 1) (cu LFS )
limitat doar de dimensiunea volumului (cu FAT16 +)
Granularitatea dimensiunii fișierului 1 octet
Max. numărul de fișiere 65.460 pentru clustere de 32 KB
Max. lungimea numelui de fișier 8.3 nume de fișier cu caractere OEM ,
255 caractere UCS-2 când se utilizează LFN
Max. adâncimea directorului 32 de nivele sau 66 de caractere (cu CDS ),
60 de niveluri sau mai mult (fără CDS)
Caracteristici
Date înregistrate Data / ora modificată, data / ora creației (numai DOS 7.0 și versiuni superioare), data accesului (disponibilă numai cu ACCDATE activat), data / ora ștergerii (numai cu DELWATCH 2)
Interval de date 1980-01-01 la 2099-12-31 ( 2107-12-31 )
Rezoluția datei 2 secunde pentru ultima oră modificată,
10 ms pentru timpul de creare,
1 zi pentru data de acces,
2 secunde pentru timpul de ștergere
Atribute Numai în citire , Ascuns , Sistem , Volum , Director , Arhivă
Permisiuni de sistem de fișiere Fișier, director și acces la volumul de drepturi pentru citire , scriere , Executare , Ștergere numai cu DR-DOS , PalmDOS , Novell DOS , OpenDOS , FlexOS , 4680 OS , 4690 OS , concurente DOS , multiutilizator DOS , Manager Sistem , REAL / 32 (Executare corect doar cu FlexOS, 4680 OS, 4690 OS; parolele fișierului / directorului individual nu cu FlexOS, 4680 OS, 4690 OS; Clasele de permisiuni World / Group / Owner numai cu securitate multi-utilizator încărcat)
Compresie transparentă Per-volum, SuperStor , Stacker , DoubleSpace , DriveSpace
Criptare transparentă Per-volum numai cu DR-DOS

În noiembrie 1987, Compaq Personal Computer DOS 3.31 (o versiune OEM modificată a MS-DOS 3.3 lansată de Compaq împreună cu mașinile lor) a introdus ceea ce astăzi este pur și simplu cunoscut sub numele de format FAT16 , odată cu extinderea numărului de discuri pe 16 biți la 32 biți în BPB. Deși modificările de pe disc au fost minore, întregul driver de disc DOS a trebuit convertit pentru a utiliza numere sectoriale pe 32 de biți, o sarcină complicată de faptul că a fost scris într-un limbaj de asamblare pe 16 biți . Rezultatul a fost numit inițial DOS 3.31 Large File System . Microsoft e DSKPROBEinstrument se referă la tipul 0x06ca BigFAT , în timp ce unele versiuni mai vechi ale FDISKdescris - o ca BIGDOS . Din punct de vedere tehnic, este cunoscut sub numele de FAT16B .

Deoarece versiunile mai vechi ale DOS nu au fost concepute pentru a face față cu mai mult de 65535 sectoare, a fost necesar să se introducă un nou tip de partiție pentru acest format, pentru a-l ascunde de problemele DOS de până la 3,31. Forma originală a FAT16 (cu mai puțin de 65536 sectoare) avea un tip de partiție 0x04 . Pentru a face față discurilor mai mari decât acesta, a 0x06fost introdus tipul pentru a indica 65536 sau mai multe sectoare. În plus, driverul de disc a fost extins pentru a face față mai mult de 65535 sectoare. Singura altă diferență dintre formatul FAT16 original și formatul FAT16B mai nou este utilizarea unui format BPB mai nou cu intrare sectorială pe 32 de biți. Prin urmare, sistemele de operare mai noi care acceptă formatul FAT16B pot face față și formatului original FAT16 fără modificările necesare.

Dacă partițiile care urmează să fie utilizate de problemele DOS 3.31 dinainte de DOS trebuie create prin instrumente moderne, singurele criterii teoretic necesare pentru a fi îndeplinite sunt un număr sectorial mai mic de 65536 și utilizarea vechiului ID de partiție ( 0x04). În practică, totuși, partițiile de tip 0x01și 0x04primare nu ar trebui să fie localizate fizic în afara primilor 32 MB ai discului, din cauza altor restricții din MS-DOS 2.x, care nu le-ar putea face față altfel.

În 1988, îmbunătățirea FAT16B a devenit mai general disponibilă prin DR DOS  3.31, PC DOS 4.0, OS / 2  1.1 și MS-DOS 4.0. Limita pentru dimensiunea partiției a fost dictată de numărul de 8 biți semnat al sectoarelor pe cluster, care inițial avea o putere maximă de două valori de 64. Cu dimensiunea standard a sectorului hard diskului de 512 octeți, aceasta oferă un maxim de 32 Dimensiunea clusterului KB, fixând astfel limita „definitivă” pentru dimensiunea partiției FAT16 la 2 GB pentru dimensiunea sectorului 512. Pe suporturile magneto-optice , care pot avea sectoare de 1 sau 2 KB în loc de 0,5 KB, această limită de dimensiune este proporțional mai mare.

Mult mai târziu, Windows NT a mărit dimensiunea maximă a clusterului la 64 KB, considerând numărul sectoarelor pe cluster ca nesemnate. Cu toate acestea, formatul rezultat nu a fost compatibil cu nicio altă implementare FAT a timpului și a generat o fragmentare internă mai mare . Windows 98 , SE și ME au acceptat, de asemenea, citirea și scrierea acestei variante, dar utilitățile sale de disc nu au funcționat cu aceasta și unele servicii FCB nu sunt disponibile pentru astfel de volume. Acest lucru contribuie la o situație de compatibilitate confuză.

Înainte de 1995, versiunile DOS accesau discul numai prin adresarea CHS . Când Windows 95 (MS-DOS 7.0) a introdus accesul la disc LBA , partițiile ar putea începe să fie amplasate fizic în afara primului c. 8 GB de pe acest disc și, prin urmare, nu este la îndemâna schemei tradiționale de adresare CHS. De aceea, partițiile parțial sau complet situate dincolo de bariera CHS trebuiau ascunse de sistemele de operare care nu sunt compatibile cu LBA utilizând în schimb noul tip 0x0Ede partiție din tabela de partiții. Partițiile FAT16 care utilizează acest tip de partiție sunt denumite și FAT16X . Singura diferență, în comparație cu partițiile FAT16 anterioare, este faptul că unele intrări geometrice legate de CHS în înregistrarea BPB, și anume numărul de sectoare pe pistă și numărul de capete, pot conține valori fără sau înșelătoare și nu ar trebui utilizate.

Numărul de intrări din directorul rădăcină disponibile pentru FAT12 și FAT16 este determinat atunci când volumul este formatat și este stocat într-un câmp pe 16 biți. Pentru un anumit număr RDEși dimensiune de sector SS, numărul RDSde sectoare de director rădăcină este RDS = ceil((RDE × 32) / SS)și RDEeste ales în mod normal pentru a umple aceste sectoare, adică RDE × 32 = RDS × SS. Mediile FAT12 și FAT16 utilizează de obicei 512 intrări din directorul rădăcină pe mediile non-floppy. Unele instrumente terță parte, cum ar fi mkdosfs , permit utilizatorului să seteze acest parametru.

FAT32

FAT32
Dezvoltatori Microsoft , Caldera
Introdus August 1996 ( Windows 95 OSR2 )
Identificator partiție MBR / EBR :
FAT32 :  ( LBA ), și BDP :0x0B0x0C

EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
Limite
Min. dimensiunea volumului 32  MB -4,5  KB (cu 65525 clustere și 512 sectoare de octeți)
256 MB-36 KB (cu 65525 clustere și 4  sectoare KB )
Max. dimensiunea volumului TB (cu sectoare de 512 octeți)
8 TB (cu sectoare de 2 KB și clustere de 32 KB)
16 TB (cu sectoare de 4 KB și clustere de 64 KB)
Max. mărime fișier 2.147.483.647 octeți (2 GB - 1) (fără LFS )
4.294.967.295 octeți (4 GB - 1) (cu LFS )
274.877.906.943 octeți (256 GB - 1) (numai cu FAT32 +)
Granularitatea dimensiunii fișierului 16 octeți
Max. numărul de fișiere 268.173.300 pentru clustere de 32 KB
Max. lungimea numelui de fișier 8.3 nume de fișier cu caractere OEM ,
255 caractere UCS-2 când se utilizează LFN
Max. adâncimea directorului 32 de nivele sau 66 de caractere (cu CDS ),
60 de niveluri sau mai mult (fără CDS)
Caracteristici
Date înregistrate Data / ora modificată, data / ora creației (numai DOS 7.0 și versiuni superioare), data accesului (disponibilă numai cu ACCDATE activat), data / ora ștergerii (numai cu DELWATCH 2)
Interval de date 1980-01-01 la 2099-12-31 ( 2107-12-31 )
Rezoluția datei 2 secunde pentru ultima oră modificată,
10 ms pentru timpul de creare,
1 zi pentru data de acces,
2 secunde pentru timpul de ștergere
Atribute Numai în citire , Ascuns , Sistem , Volum , Director , Arhivă
Permisiuni de sistem de fișiere Parțial, numai cu sisteme de operare DR-DOS , REAL / 32 și 4690
Compresie transparentă da

Pentru a depăși limita de dimensiune a volumului FAT16, permițând în același timp codului DOS în mod real să gestioneze formatul, Microsoft a proiectat o nouă versiune a sistemului de fișiere, FAT32 , care suporta un număr crescut de clustere posibile, dar ar putea refolosiți majoritatea codului existent, astfel încât amprenta convențională a memoriei să crească cu mai puțin de 5 KB sub DOS. Valorile clusterului sunt reprezentate de numere pe 32 de biți , dintre care 28 de biți sunt utilizați pentru a menține numărul clusterului.

Dimensiuni maxime

Sectorul de încărcare FAT32 folosește un câmp pe 32 de biți pentru numărarea sectorului, limitând dimensiunea maximă a volumului FAT32 la 2  terabyți cu o dimensiune a sectorului de 512  octeți . Dimensiunea maximă a volumului FAT32 este de 16 TB cu o dimensiune a sectorului de 4.096 octeți. Instrumentul încorporat de formatare a discului Windows shell pe Microsoft Windows acceptă doar dimensiuni de volum de până la 32 GB, dar volume FAT32 mai mari pot fi create cu promptul de comandă , PowerShell sau instrumente terță parte și citite de Microsoft Windows.

Dimensiunea maximă posibilă pentru un fișier pe un volum FAT32 este de 4  GB minus 1 octet sau 4.294.967.295 (2 32  - 1) octeți. Această limită este o consecință a intrării pe lungime a fișierului de 4 octeți în tabelul de directoare și ar afecta, de asemenea, partițiile FAT16 relativ imense activate de o dimensiune de sector suficientă.

La fel ca FAT12 și FAT16, FAT32 nu include suport direct încorporat pentru nume de fișiere lungi, dar volumele FAT32 pot opțional să conțină nume de fișiere lungi VFAT în plus față de numele de fișiere scurte exact în același mod în care numele de fișiere lungi VFAT au fost opțional implementate pentru volumele FAT12 și FAT16 .

Dezvoltare

FAT32 a fost introdus cu Windows 95 OSR2 (MS-DOS 7.1) în 1996, deși a fost necesară reformatarea pentru a-l utiliza, iar DriveSpace 3 (versiunea care a venit cu Windows 95 OSR2 și Windows 98) nu a suportat-o ​​niciodată. Windows 98 a introdus un utilitar pentru a converti hard diskurile existente de la FAT16 la FAT32 fără pierderi de date.

În linia Windows NT, suportul nativ pentru FAT32 a ajuns în Windows 2000 . Un driver FAT32 gratuit pentru Windows NT 4.0 a fost disponibil de la Winternals , o companie achiziționată ulterior de Microsoft. Achiziționarea șoferului din surse oficiale nu mai este posibilă. Din 1998, driverul DRFAT32 încărcat dinamic al Caldera ar putea fi utilizat pentru a permite suportul FAT32 în DR-DOS. Prima versiune a DR-DOS care acceptă în mod nativ accesul FAT32 și LBA a fost OEM DR-DOS 7.04 în 1999. În același an, IMS a introdus suport FAT32 nativ cu REAL / 32 7.90, iar IBM 4690 OS a adăugat suport FAT32 cu versiunea 2. Ahead Software a furnizat un alt driver FAT32.EXE încărcat dinamic pentru DR-DOS 7.03 cu Nero Burning ROM în 2004. IBM a introdus suportul nativ FAT32 cu OEM PC DOS 7.1 în 1999.

Două tipuri de partiții au fost rezervate pentru partițiile FAT32 0x0Bși 0x0C. Ultimul tip este denumit și FAT32X pentru a indica utilizarea accesului la disc LBA în loc de CHS. Pe astfel de partiții, intrările geometrice legate de CHS, și anume adresele sectorului CHS din MBR, precum și numărul de sectoare pe pistă și numărul de capete din înregistrarea EBPB, pot conține valori fără sau înșelătoare și nu ar trebui utilizate.

Extensii

Atribute extinse

OS / 2 depinde în mare măsură de atributele extinse (EA) și le stochează într-un fișier ascuns numit " EA␠DATA.␠SF" în directorul rădăcină al volumului FAT12 sau FAT16 . Acest fișier este indexat de doi octeți rezervați anterior în intrarea directorului fișierului (sau directorului) la offset 0x14. În formatul FAT32 , acești octeți dețin cei 16 biți superiori ai numărului clusterului inițial al fișierului sau directorului, ceea ce face imposibilă stocarea OS / 2 EA pe FAT32 folosind această metodă.

Cu toate acestea, a treia parte FAT32 sistemul de fișiere instalabil (IFS) conducător auto FAT32.IFS versiunea 0.70 și mai mare de Henk Kelder & Netlabs pentru OS / 2, eComStation și ArcaOS magazine atributele extinse în fișiere suplimentare cu nume de fișiere având în șirul „ ␠EA.␠SF“ adăugat la numele fișierului obișnuit al fișierului căruia îi aparțin. Driverul folosește, de asemenea, octetul la offset 0x0Cîn intrările din director pentru a stoca un octet de marcare special care indică prezența atributelor extinse pentru a ajuta la accelerarea lucrurilor. (Această extensie este extrem de incompatibilă cu metoda FAT32 + pentru a stoca fișiere mai mari de 4 GB minus 1 pe volumele FAT32.)

Atributele extinse sunt accesibile prin desktop-ul Workplace Shell , prin scripturi REXX și multe interfețe grafice de sistem și utilitare din linia de comandă (cum ar fi 4OS2 ).

Pentru a adapta subsistemul OS / 2 , Windows NT acceptă gestionarea atributelor extinse în HPFS , NTFS , FAT12 și FAT16. Stochează EA-uri pe FAT12, FAT16 și HPFS utilizând exact aceeași schemă ca OS / 2, dar nu acceptă niciun alt tip de ADS așa cum se deține pe volumele NTFS. Încercarea de a copia un fișier cu orice alt ADS în afară de EA dintr-un volum NTFS într-un volum FAT sau HPFS dă un mesaj de avertizare cu numele ADS-urilor care vor fi pierdute. Nu acceptă metoda FAT32.IFS pentru a stoca EA pe volume FAT32.

Windows 2000 și ulterior acționează exact ca Windows NT, cu excepția faptului că ignoră EA-urile atunci când copiați pe FAT32 fără niciun avertisment (dar afișează avertismentul pentru alte ADS-uri, cum ar fi „Informații Macintosh Finder” și „Macintosh Resource Fork”).

Cygwin folosește " EA␠DATA.␠SF" și fișiere.

Numele de fișiere lungi

Unul dintre obiectivele de experiență ale utilizatorilor pentru proiectanții Windows 95 a fost abilitatea de a folosi nume de fișiere lungi (LFN - până la 255 unități de cod UTF-16 ), pe lângă numele de fișiere clasice 8.3 (SFN). Pentru compatibilitatea înapoi și înainte, LFN-urile au fost implementate ca o extensie opțională deasupra structurilor existente ale sistemului de fișiere FAT folosind o soluție în modul în care sunt prezentate intrările din director.

Această metodă transparentă de a stoca nume de fișiere lungi în sistemele de fișiere FAT existente fără a le modifica structurile de date este de obicei cunoscută sub numele de VFAT (pentru „Virtual FAT”) după driverul de dispozitiv virtual Windows 95 .

Sistemele de operare care nu sunt compatibile cu VFAT pot accesa fișierele sub aliasul scurt al fișierului fără restricții; cu toate acestea, numele de fișiere lungi asociate se pot pierde atunci când fișierele cu nume de fișiere lungi sunt copiate în sisteme de operare care nu conțin VFAT.

În Windows NT, suportul pentru numele de fișiere lungi VFAT a început cu versiunea 3.5 .

Linux oferă un driver de sistem de fișiere VFAT pentru a lucra cu volume FAT cu nume de fișiere lungi VFAT. De ceva timp, un driver UVFAT a fost disponibil pentru a oferi suport combinat pentru permisiunile de stil UMSDOS cu nume de fișiere lungi VFAT.

OS / 2 a adăugat suport lung pentru numele de fișier la FAT folosind atribute extinse (EA) înainte de introducerea VFAT. Astfel, numele de fișiere lungi VFAT sunt invizibile pentru OS / 2, iar numele de fișiere lungi EA sunt invizibile pentru Windows; prin urmare, utilizatorii experimentați ai ambelor sisteme de operare ar trebui să redenumească manual fișierele.

Human68K a acceptat până la 18,3 nume de fișiere și ( Shift JIS ) caractere Kanji într-o variantă proprietară a sistemului de fișiere FAT.

Pentru a sprijini Java aplicații, FlexOS bazate pe IBM 4690 OS versiunea 2 a introdus propriul sistem de fișiere virtual de arhitectura (VFS) pentru a stoca nume de fișiere lungi în sistemul de fișiere FAT într - un mod înapoi compatibile. Dacă este activat, numele de fișiere virtuale (VFN) sunt disponibile sub litere de unitate logice separate, în timp ce numele de fișiere reale (RFN) rămân disponibile sub literele de unitate originale.

Furci și fluxuri de date alternative

Sistemul de fișiere FAT în sine nu este conceput pentru a suporta fluxuri de date alternative (ADS), dar unele sisteme de operare care depind în mare măsură de acestea au conceput diverse metode de gestionare a acestora pe volume FAT. Astfel de metode fie stochează informațiile suplimentare în fișiere și directoare suplimentare ( clasic Mac OS și macOS ), fie oferă semantică nouă câmpurilor neutilizate anterior ale structurilor de date FAT pe disc ( OS / 2 și Windows NT ).

Mac OS care utilizează PC Exchange stochează diferitele sale date, atribute de fișiere și nume de fișiere lungi într-un fișier ascuns numit „ FINDER.DAT” și furculițe de resurse (un Mac OS ADS comun) într-un subdirector numit „ RESOURCE.FRK”, în fiecare director în care sunt utilizate. De la PC Exchange 2.1 și mai departe, acestea stochează numele de fișiere lungi pentru Mac OS ca nume de fișiere lungi FAT standard și convertesc numele de fișiere FAT mai lungi de 31 de caractere în nume de fișiere unice de 31 de caractere, care pot fi apoi vizibile pentru aplicațiile Macintosh.

macOS stochează furculițele de resurse și metadatele (atribute de fișiere, alte ADS) utilizând formatul AppleDouble într-un fișier ascuns cu un nume construit din numele fișierului proprietar prefixat cu „ ._”, iar Finder stochează unele dosare și metadate de fișiere într-un fișier ascuns numit „ .DS_Store” (dar rețineți că Finder folosește .DS_Storechiar și pe sistemul de fișiere nativ al macOS, HFS + ).

Permisiuni și nume de fișiere UMSDOS

Distribuțiile timpurii Linux au acceptat, de asemenea, un format cunoscut sub numele de UMSDOS , o variantă FAT cu atribute de fișiere Unix (cum ar fi numele lung al fișierului și permisiunile de acces) stocate într-un fișier separat numit „ --linux-.---”. UMSDOS a intrat în uz după ce a fost lansat VFAT și nu este activat implicit în Linux începând cu versiunea 2.5.7. De ceva timp, Linux a oferit, de asemenea, suport combinat pentru permisiuni în stil UMSDOS și nume de fișiere lungi VFAT prin UVFAT .

FAT +

În 2007, schița FAT + deschisă a propus cum să stocheze fișiere mai mari de până la 256 GB minus 1 octet, sau 274.877.906.943 (2 38  - 1) octeți, pe volume FAT32 ușor modificate și altfel compatibile înapoi, dar impune riscul ca instrumentele de disc sau FAT32 implementările care nu sunt conștiente de această extensie pot trunchia sau șterge fișiere care depășesc limita normală de dimensiune a fișierului FAT32. Suportul pentru FAT32 + și FAT16 + este limitat la unele versiuni de DR-DOS și nu este disponibil în sistemele de operare obișnuite. (Această extensie este extrem de incompatibilă cu /EASopțiunea metodei FAT32.IFS de a stoca atribute extinse OS / 2 pe volume FAT32.)

Derivate

Turbo FAT

În sistemul său de fișiere NetWare ( NWFS ), Novell a implementat o variantă puternic modificată a unui sistem de fișiere FAT pentru sistemul de operare NetWare . Pentru fișiere mai mari, a folosit o caracteristică de performanță numită Turbo FAT .

FATX

FATX este o familie de sisteme de fișiere concepute pentru Microsoft e Xbox joc video consola hard disk drive - uri și carduri de memorie , introduse în 2001.

În timp ce seamănă cu aceleași idei de proiectare de bază ca FAT16 și FAT32 , structurile FATX16 și FATX32 de pe disc sunt simplificate, dar fundamental incompatibile cu sistemele de fișiere FAT16 și FAT32 normale, ceea ce face imposibilă instalarea unor astfel de volume pentru driverele de sistem de fișiere FAT normale.

Sectorul superbloc non-bootabil are o dimensiune de 4 KB și deține o structură asemănătoare BPB de 18 octeți complet diferită de BPB- urile normale . Clusterele au de obicei 16 KB și există o singură copie a FAT pe Xbox. Intrările din director au o dimensiune de 64 de octeți în loc de 32 de octeți normali . Fișierele pot avea nume de fișiere de până la 42 de caractere folosind setul de caractere OEM și pot avea o dimensiune de până la 4 GB minus 1 octet. Marcajele de timp de pe disc conțin date și ore de creare, modificare și acces, dar diferă de FAT: în FAT, epoca este 1980 ; în FATX, epoca este 2000 . Pe Xbox 360 , epoca este 1980.

exFAT

exFAT este un sistem de fișiere introdus cu Windows Embedded CE 6.0 în noiembrie 2006 și adus în familia Windows NT cu Vista Service Pack 1 și Windows XP Service Pack 3 (și / sau instalarea separată a Windows XP Update KB955704). Se bazează pe arhitectura tabelului de alocare a fișierelor, dar este incompatibilă, proprietară și protejată de brevete.

exFAT este destinat utilizării pe unități flash și carduri de memorie, cum ar fi SDXC și Memory Stick XC , unde FAT32 este altfel utilizat. De obicei, furnizorii pre-formatează cardurile SDXC cu acesta. Principalul său avantaj este depășirea limitei de 4 GB pentru dimensiunea fișierului, deoarece referințele la dimensiunea fișierului sunt stocate cu opt în loc de patru octeți, mărind limita la 2 64  - 1 octeți.

Utilizatorii GUI și formatul liniei de comandă Microsoft îl oferă ca o alternativă la NTFS (și, pentru partițiile mai mici, la FAT16B și FAT32 ). MBR tip partiție este 0x07(același ca cel folosit pentru IFS , HPFS și NTFS). Informațiile de geometrie logică localizate în VBR sunt stocate într-un format care nu seamănă cu niciun fel de BPB.

La începutul anului 2010, sistemul de fișiere a fost proiectat invers de către SANS Institute . Pe 28 august 2019, Microsoft a anunțat că va pune la dispoziția publicului specificațiile tehnice pentru exFAT, astfel încât să poată fi utilizat în kernel-ul Linux și în alte sisteme de operare.

Brevete

Microsoft a solicitat și i s-a acordat o serie de brevete pentru părțile cheie ale sistemului de fișiere FAT la mijlocul anilor '90. Toate cele patru se referă la extensiile de nume de fișiere lungi pentru FAT, văzute pentru prima dată în Windows 95 : brevetul SUA 5.579.517, brevetul SUA 5.745.902, brevetul SUA 5.758.352, brevetul SUA 6.286.013 (toate au expirat din 2013).

La 3 decembrie 2003, Microsoft a anunțat că va oferi licențe pentru utilizarea specificației sale FAT și a „proprietății intelectuale asociate”, la costul unei redevențe de 0,25 USD pe unitate vândută, cu o redevență maximă de 250.000 USD pe contract de licență. În acest scop, Microsoft a citat patru brevete privind sistemul de fișiere FAT ca bază a revendicărilor sale de proprietate intelectuală.

În specificația EFI FAT32, Microsoft acordă în mod specific o serie de drepturi, pe care mulți cititori le-au interpretat ca permițând furnizorilor de sisteme de operare să implementeze FAT.

Brevetele non-Microsoft care afectează FAT includ: brevetul SUA 5.367.671, specific atributelor obiectului extins OS / 2 (expirat în 2011).

Provocări și procese

Fundația Publică de Brevete (PUBPAT) a prezentat dovezi la Oficiul de Brevete și Mărci al SUA (USPTO) în 2004 contestând valabilitatea brevetului SUA 5579517, inclusiv referințele din stadiul tehnicii de la Xerox și IBM. USPTO a deschis o anchetă și a încheiat prin respingerea tuturor revendicărilor din brevet. Anul următor, USPTO a mai anunțat că, în urma procesului de reexaminare, a afirmat respingerea „517” și a găsit în plus brevetul SUA 5.758.352 nevalid pe motiv că brevetul avea cesionari incorecte.

Cu toate acestea, în 2006, USPTO a decis că caracteristicile implementării de către Microsoft a sistemului FAT erau „noi și neevidente”, inversând atât deciziile anterioare, cât și lăsând valabile brevetele.

În februarie 2009, Microsoft a intentat un proces privind încălcarea brevetelor împotriva TomTom, susținând că produsele producătorului de dispozitive încalcă brevetele legate de numele de fișiere lungi VFAT . Deoarece unele produse TomTom se bazează pe Linux , aceasta a marcat prima dată când Microsoft a încercat să-și impună brevetele împotriva platformei Linux. Procesul a fost soluționat în afara instanței în luna următoare, cu acordul ca Microsoft să aibă acces la patru dintre brevetele TomTom, că TomTom va renunța la suportul pentru numele de fișiere lungi VFAT din produsele sale și că, în schimb, Microsoft nu solicită acțiuni în justiție împotriva TomTom pentru durata de cinci ani a acordului de decontare.

În octombrie 2010, Microsoft a intentat un proces de încălcare a brevetelor împotriva Motorola, susținând că mai multe brevete (inclusiv două dintre brevetele VFAT) nu au fost licențiate pentru utilizarea în sistemul de operare Android . De asemenea, au depus o plângere la ITC . Dezvoltatorii de software open source au conceput metode menite să ocolească brevetele Microsoft.

În 2013, brevetul EP0618540 „spațiu comun pentru nume de fișiere lungi și scurte” (expirat din 2014) a fost invalidat în Germania. După retragerea recursului, această hotărâre a devenit definitivă la 28 octombrie 2015.

Vezi si

Note

  1. ^ a b c d e f De la Windows 2000 , Microsoft Windows folosește UTF-16 în loc de UCS-2 pentru „Unicode” intern . În UTF-16, un „caracter” (punct de cod) poate ocupa două unități de cod.
  2. ^ S- a observat că Windows XP creează discuri hibride similare la reformatarea discurilor ZIP-100 formatate FAT16B în format FAT32. Volumele rezultate au fost FAT32 după format, dar au folosit în continuare FAT16B EBPB. (Nu este clar cum Windows determină locația directorului rădăcină pe volumele FAT32, dacă a fost utilizat doar un FAT16 EBPB.)
  3. ^ a b Sursele diferă în ceea ce privește primul terminal NCR de introducere a datelor care integrează suportul pentru sistemul de fișiere FAT. Potrivit lui Stephen Manes și Paul Andrews, „Gates”, dezvoltarea a fost pentru un NCR 8200 la sfârșitul anului 1977, incorect clasificată ca o actualizare bazată pe dischetă la NCR 7200 , care fusese lansată în 1975-11 ( modelul I și IV ) și a fost construit în jurul unui procesor Intel 8080 pe 8 biți, dar era doar pe casetă. Cu toate acestea, NCR Century 8200 era un minicomputer pe 16 biți, pe care puteau fi conectate mai multe terminale de introducere a datelor. Marc McDonald și-a amintit chiar și de un NCR 8500 , un mainframe din seria Criterion, care poate fi exclus și el. Anunțată în 1977-10 pentru livrare în 1978-02, NCR a introdus, de asemenea, seria NCR I-8100 , inclusiv modelele NCR I-8130 și NCR I-8150, bazate pe 8080, de sisteme pentru întreprinderi mici, cu dischete duble. Alte surse indică faptul că fie seria NCR 7200 în sine, fie seria succesorului au fost platforma țintă reală. NCR Basic Plus 6 (bazat pe Microsoft Extended BASIC-80 ) a devenit disponibil pentru caseta pe bază de NCR 7200 model VI în Q1 / 1977. Seria NCR 7500 a fost lansată în 1978, pe baza unui hardware similar 8080, dar acum include modele NCR 7520 și 7530 cu dischete de 8 inci. NCR Basic +6 , un precursor sau adaptare a Standalone Disk BASIC-80 a fost disponibil pentru ei cel puțin din 1979. O sursă susține că a existat o variantă specială de model NCR 7200 cu două dischete de 8 inci și Microsoft BASIC și a fost importată de NCR Sydney în Australia cel mai puțin.
  4. ^ DR-DOS este capabil să pornească mediile logice sectoriale FAT12 / FAT16 cu dimensiuni de sector logice de până la 1024 octeți.
  5. ^ Un driver numit VFAT a apărut înainte de Windows 95 , în Windows for Workgroups 3.11, dar această versiune mai veche a fost utilizată doar pentru implementarea accesului la fișier pe 32 de biți și nu a acceptat nume de fișiere lungi .

Referințe

linkuri externe