![]() |
Šiam straipsniui ar jo daliai trūksta išnašų į patikimus šaltinius. Jūs galite padėti Vikipedijai pridėdami tinkamas išnašas su šaltiniais. |
FAT (iš angl. File Allocation Table) – grupė failų sistemų, naudojamų DOS ir Windows operacinėse sistemose.
FAT sėkmingai naudojama nuo MS DOS (FAT-12, FAT-16) ir Windows 95 (FAT-32, FAT-LFN) laikų (pirmosios versijos ribojo skirsnio dydį). FAT patikimai dirba ir be vargo pasiekiama tiek iš Windows, tiek ir iš Linux, yra „standartinė“ failų sistema, naudojama diskeliuose, flash tipo laikmenose, įvairiuose specializuotuose įrenginiuose ir pan. Toks FAT universalumas labai patogus, jei su tuo pačiu duomenų saugojimo įrenginiu tenka dirbti kelioms skirtingoms OS sistemoms. FAT sistema „atvira“: kieno rankose diskas, to rankose ir visi duomenys, įprastose FAT realizacijose joks duomenų kodavimas nėra vykdomas. Kita vertus, rimtai sutrikus sistemai, taip lengviau vienaip ar kitaip atkurti normalų darbą neprarandant duomenų. Didelis FAT trūkumas – žurnalo nebuvimas. Jei kompiuteris buvo išjungtas staiga (ne per operacinės sistemos išjungimo procedūras), duomenų apie nebaigtas operacijas nelieka, todėl FAT sistemą naudojantį diską tenka gana ilgai tikrinti, kol jį vėl galima naudoti. Windows NT grupės operacinėse sistemose FAT gali būti nesunkiai konvertuota į NTFS, tačiau ši konversija negrįžtama.
Pirmieji FAT variantai palaikė tik visiškai minimalų rinkinį funkcijų darbui su failais bei failo atributų rinkinį, naujesnės (nuo FAT-12 MS-DOS-2.0 sistemoje) palaiko katalogus, nuo Windows 95 – ilgus failų vardus (FAT-LFN, kartais vadinama VFAT), kai kurios FAT versijos – ir naudotojų teisių kontrolę (DR-DOS sistemoje, taip pat – Linux naudotame UMS-DOS FAT išplėtime).
FAT yra vienos paprasčiausių failų sistemų, gerai demonstruojančių abstrakciją, kuri naudojama, failus išsaugant diske ar kitame įrenginyje. Paprasčiausia FAT sistema sudaryta iš trijų pagrindinių dalių, esančių griežtai apibrėžtose disko vietose:
Supaprastinta failų alokavimo lentelė gali atrodyti maždaug taip (pirma eilutė tik atvaizdavimo patogumui – ji žymi įrašų numerius, antra eilutė žymi įrašų reikšmes):
Nr. 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 00 03 04 06 08 07 FF 0A 00 FF 00 00 FF 00 00
Kiekvieno įrašo reikšmė gali reikšti vieną iš trijų dalykų:
Su aukščiau pateikta lentele gali būti panaudotas šakninis katalogas, atrodantis maždaug taip:
FILE TXT 02 FILE2 TXT 05 UNKNOWN DOC 0D
Pirmas įrašas (stulpelis) šiame kataloge žymi failo vardą, antras – plėtinį, trečias – pirmo failui priklausančio klasterio numerį. Norint perskaityti failą „FILE.TXT“, reiks skaityti klasterį „02“, kurio įrašas FAT lentelėje turi reikšmę „03“, žyminčią antrą klasterį, kurio įrašas, savo ruožtu, žymi „04“ ir t. t., kol pasiekiamas įrašas, kurio reikšmė „FF“, žyminti, kad tai paskutinis failui priklausantis klasteris. Tokiu būdu, vieną failą mes galime išdėstyti ne nuosekliame disko regione o išdalinti per skirtingas disko vietas. Minėtame pavyzdyje failai išdėstyti taip:
Rašant failą į diską, OS renkasi pirmą laisvu FAT lentelėje pažymėtą klasterį ir atitinkamai keičia jo įrašus, kad jis žymėtų sekantį laisvą, kuris, savo ruožtu vėl žymimas ir t. t., tuo pat metu šakniniame kataloge sukuriamas failo įrašas, kuriame nurodomas pirmas failui priklausantis klasteris.