1 Fájl rendszer Terminológia Fájl és könyvtár (mappa) koncepció Elérési módok Fájlattribútumok Fájlműveletek ----------------------------------------- Könyvtár szerkezet ----------------------------------------- Fájlrendszerek megvalósítása
2 Könyvtár szerkezet Bejegyzések (node) együttese, amely információt tárol a fájlokról. A könyvtárszerkezet és a fájlok is a lemezen, a háttértáron tárolódnak. Kapcsolódó fogalmak: kötet (volume), partíció (partition), VTOC (Volume Table of Contents, IBM mainframes). Egy könyvtárban (fájl-jegyzékben) tárolt információ: Név, típus, cím, aktuális hossz, maximális hossz, legutóbbi elérés (access) időpontja, legutóbbi módosítás (update) időpontja, tulajdonos azonosító (owner ID), védelemmel kapcsolatos adatok (kinek mire milyen jogosultsága van).
3 Egy könyvtárral kapcsolatban végrehajtható műveletek: Fájl vagy alkönyvtár keresése (file search, dir search), fájl vagy alkönyvtár létrehozása (create), fájl vagy alkönyvtár törlése (delete), könyvtár tartalmának listazása (dir, list, ls), fájl vagy alkönyvtár átnevezés (rename), a fájl vagy alkönyvtár pásztázása (traverse), a könyvtár teljes bejárása (pl. listázásnál). A könyvtárszervezéssel szemben támasztott elvárások: - Hatékonyság: minden fájl könnyen visszakereshető legyen. - Névadás (naming): Egynél több user használhassa ugyanazt a nevet más fájlokhoz. Ugyanannak a fájlnak lehessenek különböző azonosítói. - Csoportosítás (grouping): fájlok csoportosítása tulajdonságaik alapján. (com, bat, pss, nfs ntfs,... dtv)
4 Egyszintű könyvtár Az összes felhasználó állományai egyetlen jegyzéket (directory) alkotnak. Névadási- (névütközési-) és csoportosítási problémák 4 fájl közvetlenül a gyökér (root) alatt Egy vagy több tulajdonos (owner)
5 Kétszintű directory Egy-egy felhasználó állományai elkülönített jegyzéket (directory) alkotnak. Szintek: MFD - UFD (master/user file directory) Megoldja a névütközés problémáját, de nincs csoportosítás. A felhasználók nem tudnak kooperálni (nehéz egymás állományait elérni). Új fogalom jelenik meg: elérési út (path) A rendszer fájlok (programok) használatának problémája Minden User-nek van saját könyvtára
6 Fa-szerkezetű directory Egy fájljegyzék bizonyos elemei lehetnek újabb fájljegyzékek, így fájljegyzékeknek egy hierarchikus rendszere jön létre. Egy fájljegyzék által (fájlként) tartalmazott fájljegyzék = alfájljegyzék (subdirectory, folder - mappa).
7 A jegyzékben minden esetben egy speciális bit jelezheti, hogy fájlról, vagy aljegyzékről (mappáról, alkönyvtárról) van-e szó. Fájljegyzéket létrehozni és törölni speciális rendszer-hívásokkal lehet. Pl. make: mkdir; remove: rmdir. Aktuális directory váltás: cd. Abszolút- és relatív elérési út, keresési utak, pásztázás (traverse). Megoldja a névütközés problémáját, és lehet csoportosítani. Az elérési utak megadása sokszor körülményes. Egy megoldás: DeskTop file (Mac) vagy DeskTop mappa (Windows) Keresési út (search path) fogalma. Pl. MS-DOS: PATH környezeti változó (environment variable) - keresési útvonal beállítása, a futtatható fájlokhoz.
8 Egy Windows-os Desktop munkaasztal
9 és megfelelő mappa
10 UNIX könyvtárak szerkezete Minden USER-nek van saját könyvtára Minden USER saját könyvtárrendszert hoz létre
11 FAT (File Allocation Table) tábla A legismertebb fájlrendszer (MS-DOS, MS-Windows) által használt formátum. Biztosítja, hogy elérhető legyen egy fix méretű blokkokból (block size, blokk méret) álló sorozat (file). Ezeket az általában 512 byte méretű (vagy k*512 byte, ahol k =1,2,3, ) blokkokat gyakran szektoroknak is nevezik. Lásd ábrát a következő oldalon! ). A fájlrendszer szoftvere biztosítja, hogy ezeket a szektorokat fájlokká és a katalógusokká szervezze össze, és tartsa nyilván, melyik szektor melyik fájlhoz tartozik, és melyik szektorok nem használhatók már tárolásra. Változatai: FAT-12, FAT- 16, FAT-32. Klaszter (cluster) a fájlrendszerek legkisebb (nem fragmentalható!) címezhető foglalási egysége fájlok és könyvtárak számára. Egy vagy több egymás után következő szektorokból álló adategységet jelent.
12
13 A FAT tábla tartalmazza azokat az adatokat, hogy egy fájl tartalmának végigolvasásához melyik klaszter után melyik klasztert kell olvasni. Fat rekord (bejegyzés): Attribútum 8 bites mező
14 A FAT tábla minden bejegyzése tehát egy klaszterre mutat. A 12 bites FAT tábla 12 bites számokkal azonosította a klasztereket, tehát maximum 2 12 =4096 klasztert tudott kijelölni. A hajlékonylemezeknél (floppy disk) alkalmazták. A 16 bites FAT tábla már 2 16 =65536 klasztert azonosíthatott, maximum 2GB-os partíciókat lehetett vele kezelni. A FAT táblából fontossága miatt két példányt is eltároltak a lemezen, így az egyik megsérülése esetén a másikat lehetett használni. Manapság a FAT típusú rendszerekből csak a 32 bitest használjuk, mely a 32 bitből 26-ot használ a klaszterek kijelölésére (2 26 =?).
15 Attribútum byte felépítése
16 Fájlok tárolása a klaszterekben