Povijest FAT-a

Članak o exFAT-u, novom filesystemu kojeg je izradio Microsoft, nagnao nas je da se prisjetimo povijesti Microsoftovih datotečnih sustava, od prve verzije FAT-a, kojeg smo koristili na disketama od 1977. nadalje. To je povijest koju je moja generacija iskusila od prvih (pra)početaka do danas.

Moj prvi PC, kojeg sam tada platio 4000 DEM (danas bi to bilo 2000 €), imao je Intelov 16-bitni procesor 80286 (nakon 8 bitnih to je bio velik napredak!), dva disketna pogona od 5,25 inča, te cijelih 1 MB RAM-a! Prvi tvrdi disk kupio sam nešto kasnije na Velesajmu, na sajmu informatike. Za njega sam dao 800 DEM, a imao je svega nekoliko megabajta. Za današnje standarde mnogo novca za smiješne performanse. Ali u to doba se pristojno zarađivalo, a računala su imala auru nečeg novog, tajnovitog, fantastičnog, pa nas je radoznalost tjerala da i sami iskusimo to čudo koje stvara novu budućnost.

Vratimo se FAT-u, koji se tada koristio na disketama, ali ga nismo ni bili svjesni dok je sve radilo kako treba. Svaki datotečni sustav nosi sa sobom ograničenja. Ograničene su tablice koje sadrže metapodatke, zadan je maksimalni broj datoteka, maksimalna veličina datoteke, pa onda posljedično i velična cijelog diska/particije. U igri je i veličina bloka podataka, clustera u Microsoftovoj verziji računalnih znanosti. Ako povećamo cluster, možemo raditi s većim particijama. No s druge strane rasipamo diskovni prostor ako su nam datoteke male, jer datoteka silom prilika mora zauzeti cijeli cluster.

File Alocation Table kao način organiziranja podataka na disku nastao je s prvom verzijom DOS-a.. Sa sobom je donio nekoliko svojstava, odnosno ograničenja. 8-bitni pokazivač na cluster, imena datoteka od osam znakova, točka, pa još tri znaka za ekstenziju koja označava tip datoteke. Nije se razlikovalo velika i mala slova u nazivima datoteka. FAT tablica je bila smještena na početku diskete/diska, a neželjena posljedica toga bila je da smo diskete morali bacati ako se ošteti početni sektor.

Kako je rastao kapacitet diskova, tako su izrađivane nove verzije FAT-a sposobne za adresiranje većih medija. FAT filesystem zadržao se u upotrebi do Windowsa verzije 95/98, a zatim XP donose NTFS, moćniji i pouzdaniji datotečni sustav. Od tog trenutka moglo se očekivati nestajanje FAT-a, vjerojatno nakon nekoliko godina zadržavanje podrške radi unazadne kompatibilnosti. No FAT se preselio na mobilne uređaje, digitalne fotoaparate, SD kartice, USB momoriju. Kako FAT ne poznaje vlasnika datoteka, već samo dozvole za čitanje, pisanje, brisanje, olakšano je prebacivanje datoteka s jednog uređaja na drugi. Tako FAT i dan danas podržavaju MS Windowsi, Apple, Linux, BSD Unix.

Prisjetimo se svojstava/ograničenja povijesnim redoslijedom nastanka različitih verzija FAT-a.

 

God Filesystem Najveća datoteka Veličina diska
1977 FAT 8 MB  
1980 FAT12 16/32 MB 16/32 MB
1984 FAT16 2 GB 2 GB
  VFAT 2 GB 2 GB
1996 FAT32 4 GB 8 TB
2006 exFAT 128 PB 128 PB

 

Prvi FAT je koristio 8 bitne pokazivače, adrese clustera, a svaka nova verzija sve veće, sa sposobnošću spremanja većih datoteka i adresiranja većih particija. FAT32 je, što se tiče fizičkih ograničenja, za današnje zahtjeve prilično zadovoljavajući, ali je Microsoft razvio još dvije "pobočne" verzije FAT-a: VFAT i exFAT.

VFAT, ili Virtualni FAT, napravljen je da prevlada ograničenje veličine imena datoteke, na taj način da zadržava stari 8.3 format, ali u tablicu dodaje novo polje s dužim imenima. Dugo ime može sadržavati do 255 znakova, uključujući znakove poput razmaka koje ranije nismo mogli koristiti, a podržava i višestruke točke u imenu. Sjećate li se vremena kad bi se datoteka koju ste nazvali MojDiplomskiRad.doc prikazivala kao MOJDIP~1.doc? To se zvalo DOS alias. Mlađi kolege i ne znaju što su propustili! :) Kad današnjim OS-ovima izdate naredbu da formatiraju datotečni sustav kao FAT32, oni će ga formatirati kao vFAT. Učinit će to i Windowsi od verzije NT nadalje, a i Linux. vFAT će biti dobar ako vam ne smeta ograničenje na veličinu datoteke od 2 GB. Ali nije sve tako sjajno. Duga imena datoteka zapunjavaju tablicu, koja ipak ima ograničenu veličinu. Root direktorij u FAT tablicama može primiti 512 datoteka ili direktorija. Ali ako koristite duga imena, taj se broj može smanjiti na samo 24. Ostale direktorije to ne pogađa, pa je trebalo paziti samo na imena u rootu.

FAT32 je nastao kao prošireni VFAT. Najveća datoteka može zauzimati 4 GB, particija 8 TB. Usput donosi još jednu korisnu stvar: oslobađa diskovni prostor tamo gdje spremamo male datoteke. Sjećate se, na FAT-u datoteka od 1 bajta zauzme cijeli cluster. Smanjivanjem clustera, što je omogućeno time što ih FAT32 može adresirati više, oslobađa se prostor na disku koji su trošile male datoteke.

exFAT opisuju kao križanac FAT32 i NTFS-a. Pogodan je tamo gdje NTFS uzima prevelik danak svojim metapodacima, dakle kod manjih diskova, ali nam s njim više ne smetaju ograničenja veličine datoteka i particija (volumena). exFAT je čest na SD karticama, standard na SDXC karticama većim od 32 GB. Usput, kao cijenu koju treba platiti, dobijamo nepotpunu kompatibilnost s FAT32.

Po svemu sudeći, exFAT bi mogao za neko dugo vrijeme  biti zadnja riječ što se tiče FAT-a.

Kurioziteta radi, spomenimo da je Novell za svoj NetWare razvio Turbo FAT, znatno izmijenjenu verziju FAT-a sposobnu adresirati velike datoteke.

Microsoft nije za svoj Xbox, igračku konzolu, iskoristio postojeći FAT32, već je razvio posve nekompatibilnu verziju, FATX. Adrese clustera su 64-bitne, imena datoteka duga do 42 znaka, najveća datoteka 4 GB. Tako je, pretpostavljamo, disk Xboxa zaštićen od pristupa s drugih OS-ova.

Što se tiče Linuxa, on je najprije dobio podršku za FAT pod nazivom msdos. Tu su zadržana imena veličine 8.3 i sva ostala ograničenja FAT-a. Driver se koristio za montiranje FAT volumena, disketa i Windows particija.

Da bi se na FAT particiju mogao instalirati Linux, razvijen je umsdos. Možemo ga shvatiti kao prevoditelja koji omogućava da se Linuxov datotečni sustav sa svojom semantikom izvodi na Microsoftovom FAT-u. Ako ste na multiboot sustavu naizmjenično podizali Windowse i Linux, tada je trebalo koristiti alat koji sprečava da se izgube izmjene na datotečnom sustavu koje je napravio prethodni OS.

Treći driver, vfat (Linuxov driver piše se malim slovima) ne omogućava da se Linux instalira na originalnu FAT particiju, niti podržava semantiku ext filesystema na FAT particiji. Podržava duga imena. Danas se najčešće koristi, dolazi predinstaliran na svim distribucijama Linuxa.

Zanimljivo je da sva tri Linux drivera podržavaju FAT12, FAT16 i FAT32.

FAT je Microsoftovo vlasništvo, zaštićen patentima. Već znamo da Microsoft ne voli otvorene standarde i da nastoji zaštiti svoje vlasništvo. Komercijalne tvrtke koje žele koristiti neku verziju FAT-a plaćaju Microsoftu premiju. No kako naplatiti korištenje FAT drivera brojnim Linux distribucijama koje nisu komercijalne? To je tema za sebe, nećemo se time ovdje baviti. Spomenimo samo da je Microsoft tužio tvrtku TomTom, čiji proizvod radi na Linuxu, radi korištenja VFAT-a. Postigli su dogovor, pa je parnica obustavljena. TomTom se izvukao tako što je dao Microsoftu prava na pet svojih patenata!

U narednom članku pozabavit ćemo se tehničkim detaljima da bi objasnili kako FAT koristi metapodatke za adresiranje datoteka.

 

Kategorije: 
Vote: 
0
No votes yet