Legegyszerűbb adattárolási módszer: FAT

Részletesebb leírásért kattintson IDE: http://www.tferi.hu/fajlrendszerek

Sokféle adattárolási modell volt az idők során, amit az egyes operációs rendszerek alkalmaztak. Vitathatatlan, hogy ezek közül az egyik legegyszerűbb a File Allocation Table (kb. fájl-foglalási táblázat). Ezt a módszer eredetileg a DOS alkalmazta, de átvette a legtöbb Windows is. A teljes HDD partíciókra van osztva és az egyes partíciókon belül minden egyes blokk azonos méretű. Például az alábbi táblázat egy tipikusan felosztott Windows-os HDD-t mutat:

Meghajtó neve:

C:

D:

E:

Blokk mérete:

32 KByte

16 KByte

128 Kbyte

Partíció mérete:

100 GByte

100 GByte

300 GByte

Megjegyzés:

Boot-partíció

Munka

Médiafájlok

A korábbi Windows-ok esetén (’98 és előtte) csak nehezen volt megváltoztatható az egyes blokkok mérete. Ez általában speciális programot igényelt, mivel nem tartozott a Windows alapszolgáltatásai közé. Sajnos a Windows szolgáltatásai közül alapvetően hiányzott az egyes partíciók átméretezhetősége! Természetesen arra mindig lehetőség nyílt, hogy a HDD újraformázásakor megváltoztassuk a partíciók méretét, de ezt célszerűbb lett volna eleve elérhetővé tenni.

Némi indoklás a blokkok méreteihez: a C: nevű boot-partícióban nagyon sok rendszerfájl van, melyek méreteik szerint igen változóak. Célszerű egy középértéket találni, amit a Windows-ok nagy része 32 Kbyte-on határozott meg. A D: partícióra, ahol jellegzetesen a munkaállományok vannak, érdemes kisebb méretet választani, mivel a munkaállományok többsége elég kicsi! Érdemes meggondolni a 8 Kbyte-ot is, ha erre lehetőség nyílik! A legutolsó, E: jelű partíció blokkméretét pedig érdemes nagyobbra venni, mivel a médiafájlok általában nagyok (Mbyte felettiek) és így célszerűbb a lemezkihasználtság.

A (Microsoft által kifejlesztett) FAT-nek alapvetően három változata létezik:

  • FAT-12: 1980 előtti években volt népszerű. Bevezetése az MS Disk Basic-kel kapcsolható össze. MBR-beli partíció-azonosítója: 0x01. Kötet mérete: 32 MB.

  • FAT-16: 1987. novemberében került bevezetésre a Compaq DOS 3.31-es operációs rendszerrel egyszerre. Partíciós azonosítói az MBR-ben: 0x04, 0x06, illetve 0x0E. Kötet max. mérete: 2 GB, de az általánosan nem támogatott 64 KB-os cluster-mérettel ez megnövelhető 4 GB-ra. Többnyire a 2 GB terjedt el.

  • FAT-32: A FAT utolsó megvalósítása. Bevezetése: 1996. augusztusában trtént a Win95 OSR2-vel. MBR-beli azonosítói: 0x0B, illetve 0x0C.Kötet mérete: 2 TB, de 32 KB-os clusterekkel ez 8 TB lesz, illetve a nem elterjedt 64 KB-os clustermérettel ez megnövelhető 16 TB-ra.

Mindhárom verzió közös jellemzője, hogy a maximális fájlméret: 4 GB mínusz 1 blokk mérete. Használt attribútumok (fájl-kiterjesztések): csak olvasható (R = read-only), rejtett (H = hidden), rendszerfájl (S = System), archív (A = archive). Egyéb előforduló attribútumok: kötetcímke (volume label), illetve alkönyvtár (subdirectory).

Eredeti kifejlesztők: Bill Gates és Marc McDonald 1976-'77. FAT-es operációs rendszerek: DR-DOS, FreeDOS, MS-DOS (valamennyi verziója), OS/2 és MS Windows (egészen a Windows ME-ig).

A FAT12-t eredetileg a floppy-k tárolórendszerének szánták és ezt a feladatát kiválóan el is tudta látni a floppy-éra valamennyi tagjánál. Ettől függetlenül a kisebb, IBM PC/XT-kbe szánt merevlemezek és FAT12-es támogatást kaptak az MS-DOS 2.0 operációs rendszer segítségével.

Eredeti FAT16: 1984-ben az IBM piacra dobta az IBM PC/AT gépeket, amelyek immár a 20 Mbyte-os HDD-ket is támogatták. A Microsoft ezzel párhuzamosan fejlesztette az MS-DOS soron következő, 3.0-ás verzióját. A clusterek címmezőjének mérete megnőtt 16 bitre, ami kötetenként 65517 clustert engedélyezett. Ez az akkoriban fizikailag elérhetőnél sokkal nagyobb logikai tárhelyet tett lehetővé. Problémaként felmerült, hogy az MS-DOS 3.0-val formázott 20 Mbyte-os HDD-k immáron nem voltak elérhetőek a 2.0-s MS-DOS-szal, mivel a régebbi verzióból hiányzott a FAT16-os támogatás; továbbá, mert a 2.0-s verzió nem értette meg a 15 MB-nál nagyobb HDD-ket. Természetesen a 3.0 visszafelé támogatta a 2.0 által használt 8 KB-os clustereket.