ExFAT

From ICO wiki
Jump to navigationJump to search

Referaadist

Autor: Üllar Seerme
Rühm: A21
Referaat on kirjutatud aine operatsioonisüsteemide administreerimine ja sidumine raames, tehes ümber Artur Kulikovi poolt loodud referaat. Teema sai valitud 9. september 2013 ning tervik esitatud 01.12.13.

Eeldused

Kirjapandu mõistmiseks on eeldusteks lugeja huvi infotehnoloogia valdkonna vastu ning tahe uurida ise juurde, kui midagi arusaamatuks jääb. On küll proovitud võimalikult üheselt mõistetavalt selgitada, kuid algmaterjalide vähesuse tõttu ja konkreetsust silmas pidades on hoitud kõrvalekalded minimaalsetena.

Sissejuhatus

Viimase aastakümne jooksul on märgata tõusvat trendi selles, kuidas inimesed ennast ümbritsevat maailma jäädvustavad. Varasemalt oli foto- ja filmikaamerate pärusmaaks pigem professionaalid, kuid tehnoloogia arenedes muutuvad säärased vidinad üha enam ja enam teistelegi kättesaadavaks. Selleks, et nähtut talletada on vaja midagi, millele seda talletada ning kaamerate puhul populaarseimaks valikuks olnud SD-kaart ehk turvaline digikaart. Valdav enamik SD-kaarte kasutavad FAT16 või FAT32 failisüsteemi, mis ei ole ehk fotokaamerate puhul niivõrd oluline, kuid liikuva pildi jäädvustamisel võib vale failisüsteem olla problemaatiline, sest failide suurused lähevad oluliselt suuremaks. Eelnimetatud lühendid kuuluvad failisüsteemi nimetuse alla ning failisüsteem ei ole midagi enamat, kui korraldusviis kõvakettal asetsevatele failidele ja kataloogidele (teisisõnu kaustadele). Praktiliselt igal operatsioonisüsteemil on oma failisüsteem. Failisüsteem aitab ära määrata korralduse, kui pikk tohib olla failinimi ja faililaiend, millised tähemärgid nendes lubatud on ja milline tee leitakse, et liikuda vajamineva failini. Järgnev referaat keskendub 2006. aastal esitletud failisüsteemile exFAT.

Omadused

exFAT on Microsofti poolt loodud ja on mõeldud kasutamiseks eelkõige flash-tüüpi andmekandjatel nagu mälupulgad ja mälukaardid. Selleks, et tagada mitmekülgsemat ja laialdast kasutust, on Microsoft võimaldanud kolmandatel osapooltel osta litsents, mis lubab neil oma toodetes exFAT failisüsteemi kasutada. Litsentsi maksumus erineb olenevalt sellest, kus seda kasutada tahetakse, kuid fotokaamerad, videokaamerad ja digitaalpildiraamid langevad gruppi, kus ühekordne maksumus võib alata 300-st dollarist. Teistsuguste seadmete nagu telefonide, arvutite ja võrguvahendite puhul rakendub ka teistsugune hinnamudel, mis on mõeldud eelkõige klientidele, kes tegelevad masstoodanguga (1). Lisaks suhteliselt odavale litsentsile on Microsoft lisanud exFAT-i parameetrid, mida edasimüüjad saavad ise muuta. Need parameetrid võimaldavad neil näiteks muuta flash-tüüpi andmekandjate võimekust. Pealtnäha võib see tunduda küll halb, kuid tuleb meeles pidada, et Windowsi operatsioonisüsteemis nende parameetrite väärtusi ei arvestata (2). Juhul, kui neid muudetakse realiseeruvad need alles kasuks kindlatel seadmetel, nagu kaamerad, kus on ehk tõesti vaja muuta vaikimisi väärtusi, et optimeerida funktsionaalsust. All on näha need erinevad parameetrid, mida saab muuta:

GUID OemParameterType;
UINT32 EraseBlockSize; // Kustutusploki suurus baitides
UINT32 PageSize;
UINT32 NumberOfSpareBlocks;
UINT32 tRandomAccess; // Suvapöördumise aeg nanosekundites
UINT32 tProgram;
UINT32 tReadCycle; // Jadalugemistsükli aeg nanosekundites
UINT32 tWriteCycle; // Kirjutustsükli aeg nanosekundites
UCHAR Reserved[4];

exFAT-i peamiseks omaduseks on see, et ta lubab luua ja hallata faile, mis on suuremad kui 4GB ning võimaldab kasutamist teistel operatsioonisüsteemidel nagu OS X. Microsofti enda operatsioonisüsteemidel on toetus exFAT-ile alates Windows XP-st, kuid viimasel ainult juhul, kui on paigaldatud uuendus KB955704. Kuigi on äärmiselt ebatõenäoline, et tavakasutaja küündib iialgi nii kõrgetesse mahtudesse, siis sellegipoolest võimaldab exFAT kasutada kuni 512 tebibaidi suurust ketast. Üks tebibait on umbes 1.099 terabaiti, ehk siis oleks võimalik kasutada umbes 562 terabaidi suurust ketast. Lisaks eelnevale võimaldab ta kasutada kuni 32 mebibaiti suurust (~33 megabaiti) klasterit (3). Selleks, et mõista selle kasulikkust, tuleb esmalt seletada veidi, kuidas kõvaketastel olevate failidega ümber käiakse (4).

Kõvaketas üldjoontes

Tüüpiline kõvaketta ülesehitus.
Joonis 1: Ühe ketta lihtsustatud ülesehitus

Esimesel joonisel on näha tüüpilist ketta ülesehitust, kus ketas on ära jaotatud radadeks, klasteriteks ja lõpuks ka sektoriteks. Täht A tähistab rada, mis viitab kettal järjestikusele pikijäljele, kuhu on võimalik kirjutada faile ning kust on võimalik ka lugeda faile. Praeguse joonise puhul koosneb üks rada 16-st sektorist (millest tuleb ka kohe juttu). Ideaalis oleks kena, kui kõik kirjutatud failid hõivaksid ühe raja otsast lõpuni, kuna nii oleks teda kõige parem lugeda ja kirjutada, kuid reaalsuses on lood teisiti. Järgmisena on täht B, mis tähistab sektorit ning sektor ei ole midagi muud kui raja väikseim alajaotus. Sektori suurus on üldjuhul 4096 baiti. Nüüd, kui meil on vaja kirjutada kõvakettale fail, mis on 8000 baiti suur, siis võetakse kasutusele kaks sektorit. Selle asemel, et terve rodu sektoreid hõivata ning nende üle arvet pidada, võeti kasutusele klasterid (täht C), mis on kogum järjestikuseid sektoreid ning hetkel võib lugeda pildil olevat rohelist ala kui kaks klasterit, mis mõlemad koosnevad kahest sektorist või üks klaster, mis koosneb neljast sektorist. See oleneb sellest, mis on klasteri suuruseks võetud. Juhul, kui võetakse kasutusele suured klasterid, siis vähendatakse aega, mis kulub kirjutamisele ja lugemisele ning hõlpsustab operatsioonisüsteemi poolt failide üle arveldamist. Suurte klasteri suuruste puhul on risk raisata kõvakettaruumi, kuna failid, mis on väiksemad kui klasteri enda suurus, ei hõiva kuidagi ülejäänud ruumi klasteris. exFAT-i potentsiaalselt ~33 megabaidine klasteri suurus võimaldab talletada äärmiselt suuri faile ja seda võimalikult efektiivselt. Väiksem klasteri suurus suurte failidega tekitaks killustatust, kuna peab hakkama järjestikuseid klastreid juurde otsima lisaks nendele, mis faili esimese osa jaoks kõrvuti asetsesid.

Paigaldus

exFAT-i failisüsteemi kettale paigaldamine on tehtud tavakasutaja jaoks äärmiselt lihtsaks ning kiireks protsessiks ning kahe järgneva sammuga on võimalik vahetada näiteks oma mälupulk praegusest failisüsteemiks exFAT-iks. Protsess algab sellega, et valitakse soovitud ketas (mälupulk, mälukaart jne), mida tahetakse muuta. Seejärel teha parem klikk ning valida menüüst Format. Näidis joonisel kaks.

Valida soovitud ketas, teha parem klikk ning vajutada Format.
Joonis 2: Esimene samm exFAT-ile üle minnes

Pärast seda peaks tulema lahti aken (joonis kolm), kus on näha erinevaid võimalusi ketta formaadi muutmiseks. Capacity näitab, kui palju mahtu valitud meediumil hetkel on. Olenevalt sellest, mis failisüsteem valitakse, sõltub ka maht, mis kasutamiseks vabaks jääb. Allocation unit size määrab ära klasteri suuruse baitides või kilobaitides. Selle määramisel tuleks arvestada seda, mille jaoks ketast kasutama hakatakse ning vastavalt sellele valida, kas suurem klasteri suurus või väiksem. Näiteks, kui peamiselt kasutatakse, näite puhul, mälupulka väikeste mahtudega dokumentide jaoks, siis oleks mõistlik valida väiksem klasteri suurus kuna vastasel juhul raisatakse ruumi, sest suuremaid klastereid ei suudeta täita. Volume Label ei ole midagi muud kui nimetus, mida ta ketas kandma hakkab. Quick Format tuleks teha ainult siis, kui ollakse kindel, et ketas on töökindel ja tal ei ole vigaseid sektoreid. Seda tehes kustutatakse kõik failid ära ja luuakse uus failipaigutustabel, kuid ei kontrollita vigu, mis võivad potentsiaalselt esineda. Jättes sinna linnukese tegemata, tehakse Full Format, mis samuti kustutab failid ära ja loob uue failipaigutustabeli ning lisaks nendele ta viib läbi ka kontrolli, kus ilmnevad ka vead, kui neid peaks kettal olema (5).

Erinevad võimalused formaadi muutmiseks.
Joonis 3: Teine samm exFAT-ile üle minnes

Puudused

Peamine põhjus, mis pärsib exFAT-i laialdasemat kasutamist ja aktsepteeritust, on Microsofti piirangud failisüsteemi muutmisel ja levitamisel. Mitmed patendid takistavad exFAT-i funktsionaalsuse implementeerimist, mis suurendaks ühilduvust seadmetega (6, 7). Hetkel toetavad paljud seadmed FAT12, FAT16, FAT32 ja palju teisi failisüsteeme, kuid exFAT-i mitte, mistõttu ei saa teda ka universaalselt kasutada üle mitmete seadmete. Linux operatsioonisüsteemiga arvutites küll algupäraselt seda ei toetata, eelmainitud patentide tõttu, kuid kasutatavuse realiseerimine on tänu FUSE-ile paljudele jõukohane ning tagab soovitud ühilduvuse mitme seadme vahel. Selle saavutamiseks on vaja sisestada järgnevad käsud:

sudo add-apt-repository ppa:relan/exfat
sudo apt-get update
sudo apt-get install fuse-exfat exfat-utils

Kõik käsud on viidud läbi administratiivsetes õigustes, kus tavakasutajal on võimalik paigaldada lisatarkvara. Esimene käsk lisab vastava varamu, kust on võimalik tõmmata exFAT-iga ühilduvuse loomiseks vajaminevad programmid (8). Teine käsk uuendab operatsioonisüsteemi tarkvaravaramu nimekirja, kuhu lisatakse ka äsjamainitud varamu. Kolmas käsk paigaldab vajamineva tarkvarapaketti. Uuemate operatsioonisüsteemi versioonide puhul ei pruugi esimest käsku vaja minna, sest vajalikud paketid võivad olla juba vaikimisi varamu nimekirjas olemas, sel juhul piisab ainult teise ja kolmanda käsu sisestamisest. Selleks, et kontrollida, kas on vaja võtta külge veel üks varamu, peaks sisestama järgneva:

apt-cache policy exfat-fuse
apt-cache policy exfat-utils

Juhul, kui mõlemad tagastavad järgneva väljundi, siis on kindel, et eelneva varamu lisamine ei ole vajalik.

admin@mypc:~$ apt-cache policy exfat-fuse
exfat-fuse:
  Installed: (none)
  Candidate: 1.0.1-1
  Version table:
     1.0.1-1 0
        500 http://ee.archive.ubuntu.com/ubuntu/ raring/universe amd64 Packages
admin@mypc:~$ apt-cache policy exfat-utils
exfat-utils:
  Installed: (none)
  Candidate: 1.0.1-1
  Version table:
     1.0.1-1 0
        500 http://ee.archive.ubuntu.com/ubuntu/ raring/universe amd64 Packages

Eelnevale lisaks on loomulikult veel võimalik tõsta mälukaardilt näiteks pildid maha, formaatida too ümber ühilduvaks failisüsteemiks ning tõsta pildid tagasi, kuid tuleb tõdeda, et paljudele on see tegevus liigne ja oskused seda teha puudulikud. Inimesed, kes endiselt kasutavad Windows Vistat peavad tõdema veel üht negatiivset aspekti exFAT-i kasutamisel – nad ei ole võimelised kasutama oma exFAT vormingus andmekandjaid, nagu mälupulgad, mälukaardid ja pooljuhtkettaid, mis on kiiremad, kui kõvaketas vahemällu kirjutamise poolest, ReadyBoost tehnoloogia jaoks, mis lubab eelmainituid kasutada vahemälu jaoks (9). Alates Windows 7-st on see funktsionaalsus olemas ning lubatakse suuremaid vahemälu suurusi kui 4 gibibaiti (umbes 4,29 gigabaiti). Muud puudused exFAT-iga on suuresti seotud sellega, kuidas ta on ette nähtud kasutamiseks. Sellest tulenevalt on näiteks tema võimalike kuupäevade vahemik "vaid" 01/01/1980 kuni 31/12/2107. Enamikele kasutajatele on säärane piirang olematu tähtsusega kuid juhul, kui midagi sellist saab olema otsustav faktor failisüsteemi valimisel ja rakendamisel, siis tuleks ehk kaaluda alternatiivlahendusi.

Kokkuvõte

exFAT on üks parimaid failisüsteeme tavakasutaja jaoks, kuid tema suurimaks puuduseks on vähene tugi teiste operatsioonisüsteemidega. Sellest puudusest on aga paljudele piisav, et seda mitte kasutada, sest arvestades, kui palju erinevaid versioone operatsioonisüsteemidest on kasutusel, siis on meelehärmi vältimiseks mõistlikum kasutada FAT32 failisüsteemi. Ta võib küll olla vanem ning omade puudustega, kuid kasutades seda on garanteeritud ka suurim ühilduvus üle mitmete erinevate lahenduste. Referaadi käigus proovis autor anda põgusa ülevaate exFAT failisüsteemist, tuues välja peamised omadused, puudused ning kuidas võimaldada selle kasutamist Windowsi ja Linuxi keskkondades. Olles kirjatüki läbi lugenud peaks olema lugejal arusaam failisüsteemist, kuidas kõvakettal faile paigutatakse ning suutma enda jaoks õigustada ühe või teise failisüsteemi kasutamist hinnates selle ühilduvust ja omadusi.

Allikad

1. Microsoft Licenses Windows 7's exFAT Flash File Format
2. OEM Parameter Definition with exFAT
3. NTFS vs. FAT vs. exFAT by Raw Data
4. File Storage Hardware and Disk Organization
5. Quick Format vs. Full Format
6. Intellectual Property Licensing for exFAT File System
7. Microsoft's Latest Flash Memory Technology Now Available for License
8. PPA explained
9. Understand ReadyBoost and whether it will Speed Up your System