next up previous index
Következő: 3.7 Hozzáférési jogosultságok Fel: 3. Alapfogalmak Előző: 3.5 Mi az a   Index


3.6 Fájlrendszer

A fájlrendszer a lemezen tárolt adatok kezelhetőségét biztosítja. Annak érdekében, hogy a Linux más fájlrendszerek támogatását is tudja biztosítani, a kernel és a fájlrendszerek között létezik egy szint, amelyet virtuális fájlrendszernek neveznek. Ez rendelkezik azokkal a rutinokkal, amelyek szükségesek egy fájlrendszeren történő műveletvégzéshez. Ez biztosítja a különböző fájlrendszerek közötti átjárhatóságot, mert a felhasználónak nem is kell tudnia, hogy milyen fájlrendszeren történik a műveletvégzés, csak kiadja a parancsot, és az érintett fájlrendszer-kezelő lefordítja a megfelelő fájlrendszer-hívásokra.

A fájlokat valahogyan rendszerezni kell, és erre a legelfogadhatóbb megoldást a hierarchikus könyvtárszerkezet biztosítja. Ekkor a valamilyen szempont szerint összetartozó fájlok kerülnek egy könyvtárba. A hierarchikus szerkezet azt jelenti, hogy a könyvtárak tartalmazhatnak alkönyvtárakat is. Ebben a könyvtárszerkezetben az egyes fájlokra úgy tudunk hivatkozni, hogy meg kell adnunk, mely könyvtárakon keresztül érhetjük el a könyvtárszerkezet gyökerétől kiindulva. Ezt nevezik a fájl elérési útjának. Az elérési út egyes tagjait a / jel választja el egymástól, a legelső / jel a hierarchia legtetején lévő úgynevezett gyökér-könyvtárat jelöli, amelyből a többi elágazik.

Az nagyon kényelmetlen lenne, ha minden fájl elérését csak a gyökértől tudnánk meghatározni, ezért kialakították a munka-könyvtár fogalmát (working directory, lekérdezésére a pwd >>15.93. fejezet<< parancs szolgál). Így elég a munka-könyvtár alatt lévő könyvtárak nevét felsorolni a bennük lévő fájlok eléréséhez.

A fájlokra való hivatkozáskor nem kell tudnunk azt, hogy milyen fizikai eszközön (floppy, CD-ROM, merevlemez, stb.) helyezkednek el, elég a könyvtár hierarchia-beli helyüket megadnunk.

,,A lemezpartíció és a rajta levő fájlrendszer közti különbség nagyon fontos. Néhány program, mint pl. a fájlrendszereket létrehozó programok, közvetlenül a lemez szektoraival dolgoznak. Ilyen program egy már esetleg meglevő fájlrendszert súlyosan megrongálhat. A legtöbb program viszont csak a fájlrendszert használva ír a lemezre, ezért ezek csak megfelelő fájlrendszert már tartalmazó partíción működnek.

Mielőtt egy lemezpartíciót fájlrendszerként kezdünk használni, inicializálni kell, és a nyilvántartó adatstruktúrákat a lemezre kell írni. Ezt a folyamatot fájlrendszer készítésnek nevezzük.

A legtöbb UNIX fájlrendszernek hasonló az általános felépítése, bár a részletek egy kicsit változhatnak. A központi fogalmak: szuperblokk, inode, adatblokk, könyvtár blokk, és a indirekció blokk.

A szuperblokk a fájrendszer egészéről tartalmaz információkat, mint pl. a teljes méret. A szuperblokk pontos tartalma fájlrendszerfüggő. Az inode-ok egy-egy fájl minden adatát tartalmazzák a nevén kívül. A név ugyanis a könyvtárban tárolódik az inode sorszámával együtt. Az inode több adatblokk sorszámát tartalmazza, melyek a fájl adatait tárolják. Az inode-ban csak néhány adatblokk sorszámának van hely, és ha ennél több szükséges, automatikusan több terület kerül lefoglalásra. Ezek a dinamikusan lefoglalt blokkok az indirekt blokkok; a név azt jelzi, hogy az adatblokk megtalálásához az indirekt blokkban kell keresni a megfelelő blokk sorszáma után.

A UNIX fájlrendszerek rendszerint megengedik a fájlbeli lyukak (hole) létrehozását. (Lásd az lseek kézikönyv lapját), ami azt jelenti, hogy a fájlrendszer megjegyzi, hogy a fájl egy adott helyén egymás után adott számú 0 bájt van, de nem foglal ezen 0-k számára blokkot. Ez kisebb lemezhasználatot eredményez. Egymást követő 0-k gyakran előfordulnak kis bináris programokban, Linux megosztott könyvtárakban, adatbázisokban és néhány más esetben. A lyukak megvalósítása úgy történik, hogy egy speciális érték kerül beírásra az adatblokk sorszámának helyére az inode-ban vagy az indirekt blokkban. Ez a speciális érték azt jelenti, hogy a fájl azon részéhez nem tartozik adatblokk, azaz ez egy lyuk.''[57]

Kapcsolódó témakörök:


next up previous index
Következő: 3.7 Hozzáférési jogosultságok Fel: 3. Alapfogalmak Előző: 3.5 Mi az a   Index

1999-09-17