FAT: Skirtumas tarp puslapio versijų

Ištrintas turinys Pridėtas turinys
Tractor (aptarimas | indėlis)
Nėra keitimo santraukos
(Jokio skirtumo)

11:50, 7 lapkričio 2005 versija

FAT (iš angl. File Allocation Table) - grupė failų sistemų, naudojamų DOS ir Windows operacinėse sistemose.

FAT failų sistemos naudojamos DOS tipo operacinėse sistemose, diskeliuose, Flash tipo laikmenose, specializuotuose įrenginiuose ir pan.

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, ilgus failų vardus (FAT-LFN, kartais vadinama VFAT), kai kurios 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:

  • Failų alokavimo lentelės, kurioje yra visų klasterių sąrašas
  • Šakninio katalogo, kuriame laikomas failų sąrašas
  • Laisvos vietos, padalintos į apibrėžto ilgio (pvz., 512 baitų) klasterius

Veikimo principas

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ų:

  • 00 - klasteris yra laisvas
  • FF - klasteris yra paskutinis faile
  • kiti skaičiai reiškia kito eilės tvarka failui priklausančio klasterio numerį.

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:

  • FILE.TXT: 02,03,04,06,07
  • FILE2.TXT: 05,08,0A
  • UNKNOWN.DOC: 0D

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.