TFeri.hu

Fájlrendszerek PDF Nyomtatás E-mail
  

Tamás Ferenc: Fájlrendszerek

 

HPFS fájlrendszer
NTFS fájlrendszer
Fájlrendszerek Linuxon
ReFS fájlrendszer

Az informatikában a fájlrendszerek tárolják a működéshez szükséges adatokat, továbbá rendszerezik a fájlokhoz való hozzáférést. Ilyen fájlrendszer felel többek között a HDD, a PenDrive, valamint az optikai tárolók helyes működéséért. A fájlrendszer kezeli a fájlok adatait és metaadatait, valamint kezeli az adattárolón rendelkezésre álló helyet. A gyors hozzáférés biztosítása mellett a fájlrendszer legfontosabb ismérve az adatok és a fájlok megfelelő, sérülésmentes és biztonságos tárolása és a hozzáférés biztosítása.

A fizikailag létező fájlrendszerek (pl.: FAT, NTFS) mellett egyre gyakoribbak a virtuálisak (pl.: procfs) is, melyek alapvetően egy fizikailag már létező fájlrendszer virtualizációjából jönnek létre.

 

 

A legismertebb fájlrendszerek egy adattároló eszköz segítségével biztosítják, hogy elérhetőek legyenek a bennük tárolt blokkok. A fájlrendszer szoftvere szervezi ezeket a blokksorozatokat fájlokká és mappákká, melyek így sokkal könnyebben hozzáférhetőek, mint az általában adott hosszú blokkok. Maga a fájlrendszer tárolja azt is, hogy egy adott fájlhoz mely' blokkok és milyen sorrendben tartoznak; továbbá a valamilyen okból tárolásra már nem alkalmas blokkokat is jelzi. A hagyományos fájlrendszerek alapvető szolgáltatásai közé tartozik többek között a fájlok létrehozása, törlése, másolása, mozgatása. A legtöbb fájlrendszer ezen felül is nyújt szolgáltatásokat, például: csonkolás, kibővítés, függőségi kapcsolatok kialakítása. Minden fájlrendszer egyik legfontosabb eleme a biztonság, tehát annak szabályozása, hogy melyik felhasználó, illetve program mihez és hogyan férhet hozzá.

A fájlrendszerek egyik legfőbb feladata a megfelelő mennyiségű hely biztosítása. Ezt legegyszerűbben úgy érik el, hogy a már foglalt szektorokról vezetnek egy foglaltsági táblát (lásd: FAT a DOS és a korai Windows operációs rendszereknél). Ez jelzi, hogy a hozzáférhető szektorokból jelenleg hány foglalt és mennyi szabad. A DOS/Windows rendszerek esetén a szektorok jellemzően azonos méretűek a lemez egy megadott részén (partícióján) belül. Ha kevés, nagy fájlt kell tárolnunk (pl.: filmek, zenék), akkor erre célszerű nagy adatblokk-méretet választani. Ám ha a nagy adatblokk-mérettel rendelkező lemezterületre sok apró fájl kerül, akkor már rengeteg felesleges üres hely keletkezhet. Lássunk erre egy elég egyszerű számítást!

Szektorméret (KB)

Átlagos fájlméret (KB)

Foglalt hely (KB)

Kihasználatlan (KB)

64

64

64

0

64

48

48

16

64

32

32

32

64

16

16

48

64

4

4

60

64

1

1

63

Jól látható, hogy kis fájlméretnél a 64 KB-os szektorméret esetén sok kihasználatlan hely marad, viszont nagy fájlméret esetén nincs kihasználatlan hely.

További gondot okozhat a fájlrendszer nem megfelelő sebességű hozzáférése. Üres adattároló esetén a fájlrendszer szép sorban rakja le az egyes adattömböket. Ha azonban a lemezen sok minden megfordul ideig-óráig, akkor előbb-utóbb sok állomány ki lesz törölve. Ennek helyére a fájlrendszer újabb állományokat rak be, de ezek már nem biztos, hogy a megfelelő helyre kerülnek megfelelő sorrendben. Ilyenkor a fájlrendszer óhatatlanul töredezetté válik. Minden komolyabb fájlrendszer lényeges funkciója a töredezettségének kiküszöbölése, azaz a töredezettségmentesítés.

A fájlok azonosítására legegyszerűbben a fájlnevek használhatóak. A korai fájlrendszerek kizárólag angol betűket és számjegyeket használtak azonosításra, azok is legfeljebb pár karakter hosszúak lehettek. Már a kezdeti időktől fogva jellemző, hogy a fájlok azonosítása nem csupán a nevük alapján történik, hanem a típusuk alapján is, ez legegyszerűbben a fájlok nevéhez kapcsolt pár betűs kiterjesztéssel oldható meg. Ám az idő előrehaladtával egyes fájlrendszerek alkalmassá váltak a kis- és nagybetűk megkülönböztetésére (Unix/Linux-rendszerek), valamint a nemzeti karakterek fájlnevekben való eltárolására, például Unicode rendszerben. A fájlok mennyiségének növekedése miatt óhatatlanul kialakultak a mappák, illetve a könyvtárak. Ezek általában többszintűek és hierarchikus elrendezésűek, azaz a legfőbb tároló mappa (pl: gyökér) tartalmazhat könyvtárakat és fájlokat, majd ezen könyvtárak tartalmazhatnak újabb alkönyvtárakat és fájlokat, stb.

A fájlrendszerek nem csupán a fájlok tárolására, azonosítására alkalmasak, hanem egyes adatok megcímkézésére is – például metaadatokkal. Ezek a címkék lehetnek hozzáférési kulcsok, olvasási/írási jogok, illetve tulajdonos-jelzők és egyéb attribútumok.

FAT fájlrendszer

Ez a szervezési rendszer az egyik legegyszerűbben megérthető és nagyon könnyen adminisztrálható struktúra, amelynek legfőbb sajátossága a nevét is adó fájlkiosztási tábla (File Allication Table = FAT). Hátránya, hogy igen nagy méretű és hibatűrő képessége is igen alacsony. Ez nem más, mint a kötet legfelső szintjén elhelyezkedő adattáblázat. Bár ez az egyik leggyengébben védett struktúra, de vannak előnyei. Kezdjük például azzal, hogy a FAT tábla helyből két példányban létezik, tehát ha az első példány megsérül, akkor helyre lehet állítani a második példányból. Ami viszont hátrány, hogy a FAT-táblákat és a gyökérkönyvtárat (root) rögzített helyen kell tárolni, így a lemezek ezen része az állandó használattól sérülhet.

A FAT-tel formázott rendszer fürtökre van osztva, tehát a kezelő szoftver egy bejegyzést tesz a gyökérkönyvtárba, melyben szerepelteti az első szelet helyét és a szeletek számát. Magában a szeletekben pedig a szelet végén mindig a következő szelet eleje van.

Fájlrendszerek: FATA bal oldali ábrán a lemez egy partíciója látható. Elöl van a gyökér-szektorban a FAT1, a FAT2 és maga a gyökér-könyvtár. Összesen három bejegyzés található a könyvtárban: az f1 fájl 5 szeletből áll, az f2 fájl három szeletből, míg az f3 4 szeletből. Az f1 fájl a legelső lehetséges helyen kezdődik, majd minden második szektorban folytatódik. Az f2 a második szektorban kezdődik, majd ez a minden második helyen folytatódik. Az f3 pedig az első üresen hagyott helyen kezdődik, szám szerint a 8.-on. A szoftver ezt a fájlt is minden második helyre helyezi be, mivel a lemez forgási sebessége olyan, hogy az egy szektor forgása alatt képes az operációs rendszer feldolgozni az előzőekben beolvasott szektort. A fájlok végét a szelet jobb alsó sarokban látható kis lezáró-rész jelzi. (A rajz Corel12-vel készült.)

A FAT-tábla frissítése nagy fontosságú művelet, ráadásul elég sok időbe is telik, ám a rendszeres karbantartás elmulasztása idővel adatvesztést eredményezhet. A partíció akkor tekinthető töredezettnek, amikor már a túl sok írási-olvasási lemezművelet miatt sok fájltöredék itt-ott foglal helyet. Ilyen esetben az egyes fájlok nem szépen sorban jönnek a lemez szektoraiban, hanem a fájl írásakor éppen elérhető helyecskéken vannak. Ezt a káoszt rendezi sorba az operációs rendszerbe ágyazott lemez-töredezettségmentesítő szoftver. Bár minden operációs rendszernek van ilyen beépített szoftvere, de gyakori az is, hogy egy külső cég által készített szoftver jobb, mint a beépített verzió! A frissítéskor egyébként a lemez olvasófeje állandóan vissza-visszatér a kiinduló szektorhoz, így a művelet sokszor órákat vesz igénybe egy régen optimalizált lemez esetén. Ráadásul a FAT rendszere elég gyengén védett, mivel a fájlok mindössze négy attribútummal rendelkezhetnek: írásvédett (read-only), rejtett (system), rendszer (system) és archiválandó (archivated). Ám ezeket igen könnyű a megfelelő paranccsal felülírni, ami a DOS-rendszerekben az ATTRIB.

Elnevezési megkötöttségek: a FAT fájlrendszer kezdeti korszakában a DOS-alapú rendszereken csak 8.3-as fájlnevek voltak használhatóak, azaz a fájl neve minimum 1, maximum 8 karaktert tartalmazhatott, míg a kiterjesztés min.0, max. 3 karakter lehetett. A karakterek alapvetően az angol ABC betűi lehettek, ám a névben nem használható semmilyen központozás, azaz tiltottak a következő karakterek: . " / \ [ ] : ; | = ,

A kiterjesztés előtt kötelező kitenni egy pontot (.), ám a kiterjesztésre (ha van egyáltalán kiterjesztés) ugyanilyen kötöttségek jellemzőek. További megkötöttség még, hogy pár szó nem használható fájlnévként. Ezek a következők: CON, AUX, COM1, COM2, COM3, COM4, LPT1, LPT2, LPT3, PRN, NUL.

A korai DOS-alapú FAT-es fájlrendszerekre jellemző, hogy az operációs rendszer az összes fájlnevet és kiterjesztést nagybetűssé alakítja. Szintén a DOS alatti fájlrendszerek jellemzője, hogy a egy fájl törlése a gyakorlatban úgy történik, hogy a fájl nevének első karakterét az operációs rendszer kicseréli 255-ös (máshol nem használt) karakterre; valamint a fájl össze bejegyzését a FAT-táblákban a rendszer foglaltról szabadra állítja. Éppen ezen gyenge törlés miatt az ilyen rendszerekben a véletlen törlések ellen könnyen alkalmazható a törlés visszavonása (undelete) művelet, ahol a felhasználó feladata legfeljebb annyi szokott lenni, hogy a visszaállítandó fájl első betűjét meg kell tippelnie és kézzel kell beírnia.

Maga a FAT rendszert sokáig favorizáló Microsoft sem ajánlja a 200 Mbyte-nál nagyobb partícióknál a rendszert, mivel a kötet méretének növekedésével a fájlkezelés sebessége durván lecsökken. A FAT-partíciók felső mérethatára DOS-rendszerekben 2 GByte, míg Windows NT-rendszerekben 4 GByte.

 

FAT eredete: a rendszert eredetileg a floppy-k kezelésére tervezte még az 1970-es években Mark McDonald és Bill Gates, ám a kódolást már csak Mark McDonald végezte. Eredetileg csak a 8-bites operációs rendszerekben gondolkodtak a tervezők a Microsoft önálló Disk BASIC-80-as rendszere számára, amely az akkor még divatos 8 inches (kb. 200 mm-es átmérőjű) floppy-k kezelésére volt hivatott. Ne feledjük, hogy 1977-et írtunk! Később a rendszer rohamos gyorsasággal terjedt el a Microsoft által tervezett 16 bites MS-DOS rendszerek jóvoltából az IBM asztali gépein, a floppy-s kezdetek után a hamarosan megjelenő HDD-ken is. A 16 bites rendszerekre való áttéréskor a kezelhető lemezméret is megnőtt immáron 32 Mbyte-ra. Ez volt a FAT12-es rendszer.

Ezt gyorsan váltotta a FAT16-os (1984-es próba után 1987-es bevezetés), amely az MS-DOS 3.3-as bevezetésével nyert belépést a piacra. Itt már 65535 önálló szektor volt, így a lemezek mérete is kicsit megnőtt, mivel elérhető volt a 2 GB-os méret is, bár a kor lemezei ennél még jóval kisebbek voltak. A következő lépés volt az 1996-ban, a Windows 95 OSR2 megjelenésekor debütáló FAT32-es rendszer, ami már a lemezcímezhető méretét kitolta 2 TB-ra 512 byte-os szektorok segítségével; illetve 16 TB-ra 4096 byte-os szektorokkal. A FAT32-es rendszerek jobban használják ki a rendelkezésre álló területet, mint elődjeik, mivel az alapértelmezett szektorméret mindössze 4 KB. Ráadásul a gyökérmappa áthelyezhető, így a meghajtó egy része nem fog túl gyorsan meghibásodni. A FAT32 ráadásul képes a FAT-tábla másolatának aktívvá tételére a szokásos másolás megtiltása mellett, így kicsit biztonságosabbnak tekinthető a rendszer. További újdonság a FAT32 rugalmassága, mivel a gyökérmappa-bejegyzések számára vonatkozó korábbi korlát megszűnt.

Szintén a Windows 95 tette először a Microsoft-rendszerek családjában lehetővé az addigi 8.3-as elnevezések helyett a hosszabb fájlneveket, melyek konkrétan max. 255 db karaktert tartalmazhattak.

 

Folytatása következik!!!!

 

Felhasznált szakirodalom:

- http://hu.wikipedia.org/wiki/F%C3%A1jlrendszer

- http://en.wikipedia.org/wiki/File_system

- http://support.microsoft.com/kb/100108/hu

- http://support.microsoft.com/kb/118335/HU

- http://en.wikipedia.org/wiki/File_Allocation_Table

- http://support.microsoft.com/kb/154997/hu

- http://www.tldp.org/HOWTO/Filesystems-HOWTO.html

 
Ulti Clocks content

Hirdetés