Operációs rendszerek
Fájlrendszerek Fájl Fájlrendszer Valamilyen katalógusban névvel nyilvántartott, logikailag – de legalább a feldolgozás szempontjából – összetartozó adathalmaz Fájlrendszer Szabályok összessége Hogyan helyezkednek el az adatok az adathordozón? Milyen szerkezetűek a katalógusok? Hogyan kezeli az adatállományokat az operációs rendszer? Milyen lehet a fájl neve? Operációs rendszerek #
Adathordozók Szektor Tárolóegység, blokk, klaszter A hardver által címezhető legkisebb tárolórekesz Tárolóegység, blokk, klaszter A szoftver által címezhető legkisebb tárolórekesz, a szektor egész számú többszöröse Adatállományok elhelyezése a tárolón A folytonos elhelyezés problémái 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Operációs rendszerek
Nem folytonos elhelyezés 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 a b c c c c b a Következmények Fel kell jegyezni a fájl kezdőcímét a katalógusban A fájlhoz tartozó blokkok logikai sorrendjét nyilván kell tartani Nyilvántartást kell vezetni az adathordozó foglalt és a szabad blokkjairól A szétszórt fájl elérése lassúvá válhat, időnként meg kell szüntetni a töredezettséget Operációs rendszerek
Láncolt elhelyezés A katalógus tartalmazza a fájl nevét, egyéb jellemzőit, első blokkjának sorszámát A szabad blokkokat csupa nulla bit jelöli A fájl utolsó blokkját speciális bitsorozat jelöli A blokkokhoz tartozó FAT bejegyzések mutatják, hogy a fájl melyik blokkban folytatódik Operációs rendszerek
Indexelt elhelyezés A foglalt blokkokat külön táblázat tartja nyilván A katalógus csak a fájl nevét és az inode címét tartalmazza A fájl összes többi jellemzőjét az inode tárolja A fregmentált (töredezett) fájlok blokkjainak címét az inode-ban lévő indextábla tartalmazza A foglalt blokkokat külön táblázat tartja nyilván A Unix és a Linux EXT#Fs fájlrendszere haszál ilyen adatelhelyezést Operációs rendszerek
Katalógusok Fastrukturájú szerkezetek a leggyako-ribbak A bejegyzések újabb katalógusokra is mutathatnak, melyeket alkatalógus-nak hívunk A gyökérkatalógus kivételével minden katalógusnak pontosan egy őse lehet, amit szülőkatalógusnak nevezünk A rendszer működésekor mindig léte-zik egy kitüntetett, aktuális katalógus, amelynek bejegyzéseire közvetlenül hivatkozhatunk. A gyökért a \ vagy / , a szülőt a .., az aktuális katalógust a . jelöli Operációs rendszerek
Katalógusok Hivatkozások a bejegyzésekre Az aktuális katalógus bejegyzéseire közvetlenül is hivatkozhatunk : 21, 22 Az abszolút hivatkozás a gyökérből indul: \2\21 A relatív hivatkozás az aktuális katalógusból indul: ..\3\31\311 A rendszer betöltésekor az aktuális katalógus minden adathordozón a gyökér, de ez később megváltoztat-ható Aktuális katalógus A hivatkozásokban elérési útnak nevezzük a \2\ és a ..\3\31\ előtagokat Operációs rendszerek
A fájlrendszer előkészítése az adathordozón Alacsony szintű formázás A szektorok határainak kijelölése Rendszerfüggetlen, a gyártó végzi el Particionálás Partíció: az adathordozó (kötet) logikailag önálló, egy fájlrendszer kialakítására alkalmas területe A partíciók kialakítását speciális, rendszerfüggetlen programok, a partíciókezelők (partíció menedzserek) végzik Egy térkép készül a partíciókról, a partíciótábla (MBR) A partíciótáblába helyezik el azt a rendszerfüggetlen programot – pontosabban e program kezdő műveleteit - ami a gép indításakor segíti kiválasztani a kívánt partíciót (Master Boot Program-MBP) Operációs rendszerek
A fájlrendszer előkészítése az adathordozón Formázás A fájlrendszer kialakítása A jellemző paraméterek felírása A foglaltsági térképek és leíró táblák inicializálása A gyökérkatalógus létrehozása és inicializálása A rendszertöltő tábla (Boot Table) és program (Boot Program) felírása Hibavizsgálat, felületellenőrzés Gyorsformázás: ha elmarad Rendszerterület MBR , Boot rekord, foglaltsági térképek és leírók, gyökérkatalógus Adatterület A rendszerterületen kívüli rész, az adatblokkok területe Operációs rendszerek
Fájlrendszerek FAT (File allocation Table) 12, 16, 32 HPFS Listaszerkezetű fájlrendszer (DOS, Windows) A számok a FAT bejegyzések hosszát adják bitekben A Windows 95-től VFAT Hosszú és ékezetes karaktereket tartalmazó fájlnevek (Unicode formátum) Kezelni tudja a CD-k ISO-9660-ad katalógusait Nincs helye a védelmi információknak HPFS Az OS/2 fájlrendszere Hosszú fájlnevek és ékezetes karakterek Kiegyensúlyozott katalógusfa szerkezet Gyors adatelérés Többkötetes állományok Operációs rendszerek
Fájlrendszerek NTFS (NT File SYStem) Ext#Fs Az NT-hez fejlesztett listaszerkezetű fájlrendszer Egyesíti a FAT és a HPFS előnyeit Hoszzú fájneveket és ékezetes, sőt speciális karaktereket is használhatunk A tömörítés támogatása Megbízható adatvédelmi támogatás Ext#Fs A UNIX és a Linux fájlrendszere, az általánosabb Virtual File System (VFS) része Indexelt állomány elhelyezés Hosszú fájlnevek és ékezetes karakterek Megbízható adatvédelem Operációs rendszerek
Fájlrendszerek ISO 9660 UDF (Universal Disk Format) A CD ROM támogatásához készült Rendszerfüggetlen (Windows, Linux és MacOS) Az eredeti változat kötöttségein (rövid, ékezet nélküli nevek) később lényegesen enyhítettek (Joliot, Rock Ridge) Az újraírható CD-k változatain nehézkesen használható UDF (Universal Disk Format) Az optikai tárolókhoz készült (DVD, CD-RW) Rendszerfüggetlen Közvetlenül címezhető adathordozót feltételez Megengedi a fregmentált adatelhelyezést Hosszú fájlnevek, Unicode támogatás Szöveg és számadatok, digitális hang- és videoanyagok tárolása Állományváltozatok támogatása (pl. többnyelvű anyagok) Operációs rendszerek
Fájltípusok Felhasználás szerinti csoportosítás (kiterjesztés) A nevet követő utolsó pont utáni szöveg Hozzáférés szerinti típusok (attribútumok, valamennyi felhasználóra érvényes szabályok) Csak olvasható Írható és olvasható Végrehajtható Rejtett Rendszerfájl ACL lista (Access Control List) Az egyes felhasználók hozzáférését szabályozó lista Jogok: olvasási, írási, törlési, létrehozási, keresési, futtatási A fastrukturájú katalógusokban alkatalógusok segítségével tetszés szerint csoportosíthatunk Operációs rendszerek
Tömörítés Miért kell tömöríteni? Tömörítési eljárások A tárolóhelyek takarékos használata Az adatmozgatás idejének csökkentése Tömörítési eljárások Veszteségmentes tömörítés – az eredeti adatok visszaállíthatók Kisebb blokkméret választása az adathordozón A fájlok csoportos elhelyezése A redundancia csökkentése Veszteséges tömörítés – az eredeti adatok nem állíthatók vissza A feldolgozás szempontjából (pl. érzékszerveink számára) fölösleges adatok eltávolítása Operációs rendszerek
A redundancia csökkentése Véletlenszerű adatok Huffmann-kód Gyakoribb adatokhoz rövidebb kódot rendelünk Véletlen adatokra jól közelíti az elvileg lehetséges tömörítési arányt Determinisztikus adatok Az adatok az előzetes adatokból egyértelműen származtathatók Függvénysorok, fraktálok Nagyon jó tömörítési arány Probléma: nehezen találjuk meg az előállítási szabályt Operációs rendszerek
A redundancia csökkentése Részben determinisztikus adatok RLE (Run Length Encoding) Változó hosszúságú ismétlődő adatsorok (pl. homogén képfoltok) kódolásához Egy-egy sort két adattal, a sorozat elemével és az ismétlődések számával kódolunk Különbségi (differenciális) kódolás „Lassan” változó adatoknál elég csak a változásokat fel- jegyezni A változások kisebb tartomá- nyon szóródnak, kódjaik rö- videbbek lehetnek Kódolás előrebecsléssel Az új adatokat a korábbiakból becsüljük, majd a tényleges és a becsült értékek különbségeit kódoljuk Operációs rendszerek
Veszteséges tömörítés A hang- , kép- és videoállományok esetén gyakori eljárás Az emberi érzékelés számára szükségtelen adatok eltávolítása Az eredeti adatok nem állíthatók vissza Spektrálanalízist igényel A tömörítési aránnyal a veszteség mértéke is változik Veszteséges tömörítést is használó szabványok Állóképek: a JPG Hangállományok: MP3 Videoállományok: MPEG A tömörítő - kibontó programot kódeknek (codec) nevezzük Operációs rendszerek
Hibafelismerés és javítás A hibák észlelése (detektálása) Elegendő, ha az adatátvitel hibáit javítani lehet az adatok újraküldésével Paritásbit Adatbájtok átvitelének ellenőrzésére használják A bájthoz egy olyan bitet illeszt az adó, hogy a 0 vagy 1 bitek száma megállapodástól függően páros vagy páratlan legyen A vevő ellenőrzi, hogy a vett adatbájt megfelel-e a paritásnak CRC (cyclic redundancy check) A CRC rögzített hosszúságú (16 vagy 32 bites) szabványos kód, ami úgy jellemzi az adatblokkot, mint az embert az ujjlenyomata Gyakorlatilag nincs két olyan különböző adatblokk, amihez ugyanaz a CRC tartozna Ha a blokkban csak kevés bit sérül meg, a CRC-je sok biten megváltozik Viszonylag gyorsan előállítható az adatblokkból Operációs rendszerek
Hibafelismerés és javítás A hibák észlelése és javítása CRC-vel A továbbítandó adatblokkról CRC készül A CRC-t a blokkhoz fűzve, azzal együtt továbbítják A vevő a kapott adatblokkból szintén kiszámítja a CRC-t és összehasonlítja a kapottal Ha a kapott és számított CRC egyezik, a vevő nagy valószínűséggel azt az adatblokkot kapta, amit a vevő küldött Ha a kapott és számított CRC nem egyezik, a vevő a blokk újtraküldését kéri a vevőtől Hibajavítás Szükséges, ha nincs másolat vagy nincs idő az újraküldéshez Több redundanciára van szükség hozzá, mint az észleléshez CD, DVD: Reed-Solomon hibajavító kóódolás Operációs rendszerek