Fájl rendszer (implementáció) Fájl rendszer struktúra Allokációs módszerek Szabad hely kezelése Directory implementáció Helyreállítás

Hasonló dokumentumok
Operációs rendszerek. UNIX fájlrendszer

12. Másodlagos tár szerkezet

Operációs rendszerek. UNIX/Linux fájlrendszerek

Nyíregyházi Egyetem Matematika és Informatika Intézete. Fájl rendszer

9. Állományok kezelése. Operációs rendszerek. Állomány (file) Könyvtár. Az állománykezelő feladatai. Az állományrendszer réteges implementációja

OPERÁCIÓS RENDSZEREK I. HÁTTÉRTÁRAK

Fájlrendszerek. A Windows operációs rendszerek fájlrendszere

A permanens tár kezelése

Operációs rendszerek III.

A L I N U X f e l é p í t é s e

2. modul - Operációs rendszerek

Operációs rendszerek II. kidolgozott tételsor Verzió 1.0 (Build: )

Operációs Rendszerek II. Első verzió: 2009/2010. I. szemeszter Ez a verzió: 2009/2010. II. szemeszter

Operációs rendszerek 1.

A számítógép egységei

UNIX: fájlrendszerek

2. Számítógépek működési elve. Bevezetés az informatikába. Vezérlés elve. Külső programvezérlés... Memória. Belső programvezérlés

Operációs rendszerek gyak.

18. témakör. Jogosultságok (Windows és Linux jogosultságok összehasonlítása, helyi és megosztási jogosultságok)

Egyirányban láncolt lista

Nyíregyházi Egyetem Matematika és Informatika Intézete. Fájl rendszer

Adatbázis rendszerek Gy: Az adattárolás fejlődése

Operációs rendszerek. Elvárások az NTFS-sel szemben

Adatszerkezetek 1. előadás

Fájlszervezés. Adatbázisok tervezése, megvalósítása és menedzselése

Adatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája

Alternatív processz állapot és statisztika lekérdezési módszer a Linux kernelben

Előadás_#13. Egy lemez írási művelet kiszolgálása

Máté: Számítógép architektúrák

Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter

1. A Windows Vista munkakörnyezete 1

Debreceni Egyetem Matematikai és Informatikai Intézet. 13. Védelem

Adatszerkezetek 2. Dr. Iványi Péter

Programozás alapjai II. (7. ea) C++ Speciális adatszerkezetek. Tömbök. Kiegészítő anyag: speciális adatszerkezetek

Speciális adatszerkezetek. Programozás alapjai II. (8. ea) C++ Tömbök. Tömbök/2. N dimenziós tömb. Nagyméretű ritka tömbök

Csatlakozás a BME eduroam hálózatához Setting up the BUTE eduroam network

Hálózati operációs rendszerek II. Kötetek kezelése

Számítógép architektúrák

Fájl rendszer. Fájl koncepció Elérési módok Könyvtár szerkezet Védelem Konzisztencia szemantika

Struktúra nélküli adatszerkezetek

Programok, statikus linkelés

Hálózati operációs rendszerek II. Novell Netware 5.1 Netware fájlrendszer

Programozás alapjai II. (7. ea) C++

Hálózati ismeretek. Az együttműködés szükségessége:

TestLine - zsoltix83tesztje-01 Minta feladatsor

Rendszerkezelési útmutató

Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication)

TestLine - zsoltix83tesztje-01 Minta feladatsor

Adatszerkezetek Hasító táblák. Dr. Iványi Péter

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

Számítógépek felépítése

A Számítógépes alapismeretek témakör oktatása. Dr. Nyéki Lajos 2019

file:///d:/okt/ad/jegyzet/ad1/b+fa.html

A programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai

tovább használhatjuk a Windows-t.

Bevitel-Kivitel. Eddig a számítógép agyáról volt szó. Szükség van eszközökre. Processzusok, memória, stb

BASH script programozás II. Vezérlési szerkezetek

Adatok titkosítása. Hálózatok biztonsága. IV. mérési utasítás SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK

Operációs rendszerek gyakorlat

UNIX fájlrendszerek alapismeretei

Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések. 1. Mi a programozás?

Listák, szótárak, fájlok Listák, szótárak, fájlok

Operációs rendszerek. Az NT folyamatok kezelése

ALAPOK. 0 és 255 közé eső számértékek tárolására. Számértékek, például távolságok, pontszámok, darabszámok.

Adatbáziskezelés. Indexek, normalizálás NZS 1

OPERÁCIÓS RENDSZEREK. Elmélet

Algoritmusok és adatszerkezetek gyakorlat 06 Adatszerkezetek

6. óra Mi van a számítógépházban? A számítógép: elektronikus berendezés. Tárolja az adatokat, feldolgozza és az adatok ki és bevitelére is képes.

Adatbázis-kezelő rendszerek. dr. Siki Zoltán

Operációs rendszerek

Operációs rendszerek II. Tárkezelés

Számítógép hálózatok gyakorlat

SQLServer. Particionálás

A hazai alállomási irányítástechnika kezdete. Szakmai félnap a debreceni alállomási irányítástechnika üzembehelyezésének 20. évfordulója alkalmából

Az adatok a vállalat kulcsfontosságú erőforrásai. Az információs rendszer adatai kezelésének két alapvető változata:

A számítógépek felépítése. A számítógép felépítése

OPERÁCIÓS RENDSZEREK I. BEVEZETÉS Koczka Ferenc -

elektronikus adattárolást memóriacím

Számítógép Architektúrák

Az operációs rendszer fogalma

Perifériák hozzáadása a rendszerhez

IT - Alapismeretek. Feladatgyűjtemény

Utolsó módosítás:

Adatszerkezetek 1. Dr. Iványi Péter

Kérdés Kép Válasz HIBAS Válasz HELYES Válasz HIBAS Válasz HIBAS Kérdés Kép Válasz HIBAS Válasz HELYES Válasz HIBAS Válasz HIBAS Kérdés Kép Válasz

HÁZI FELADAT PROGRAMOZÁS I. évf. Fizikus BSc. 2009/2010. I. félév

II. Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK

ELSŐ LÉPÉSEK A SZÁMÍTÓGÉPEK RODALMÁBA AMIT A SZÁMÍTÓGÉPEKRŐL TUDNI ÉRDEMES

Operációs rendszerek. Az NT memóriakezelése

Informatika érettségi vizsga

Adatbázis rendszerek. dr. Siki Zoltán

Laborgyakorlat: Partíció létrehozása Windows XP Professional operációs rendszerben

Ellenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t

Melyek a Windows Server 2008 R2 tiszta telepítésének (Clean Install) legfontosabb lépései?

Tervezte és készítette Géczy LászlL. szló

Fábián Zoltán Hálózatok elmélet

Programozás I gyakorlat

5.6.3 Laborgyakorlat: Windows rendszerleíró adatbázis biztonsági mentése és visszaállítása

MATLAB. 9. gyakorlat. Cellatömbök, struktúrák, fájlműveletek

Nyíregyházi Egyetem Matematika és Informatika Intézete. Input/Output

Átírás:

1 Fájl rendszer (implementáció) Fájl rendszer struktúra Allokációs módszerek Szabad hely kezelése Directory implementáció Helyreállítás

2 Fájl rendszer struktúra A fájl rendszer rétegekből (layers) áll, ezek a következők: - Alkalmazói programok: A fájl létrehozásával, olvasásával, módosításával kapcsolatos igények forrása. - Logikai fájl rendszer: A fájljegyzék (directory) felhasználásával, a fájl nevéből kiindulva ez határozza meg a szükséges információkat a szervezési modul számára. Felelős a fájl védelméért.

3 - Fájl szervezési modul: Ez ismeri és implementálja a kapcsolatot a logikai és fizikai rekordok között. Ismerve a fájl szervezési módját és allokációját a logikai rekord címeket fizikai blokkokra történő hivatkozássá alakítja. Adminisztrálja a szabad helyeket. - Alap fájl rendszer: Ez alakítja ki és adja ki a megfelelő device drivernek a megfelelő magas szintű parancsot egy blokk írására és olvasására. Cilinder, sáv, szektor logikában "gondolkodik". - I/O vezérlés: Device driverek, megszakítási kezelők (interrupt handlers) Ezek a modulok inputja viszonylag magas szintű utasításokból (pl. "read block B8A0") áll, az outputja pedig alacsony szintű, hardver specifikus bitképletekből áll (ezek a "portokba" kerülnek). - Fizikai berendezés: Különböző I/O eszközök: floppy, merevlemezek, SSD-megjatók, CD/DVD-lemezek, kártyák, pen-drivek, stb.

4 Fájl megnyitás és lezárás: Dos/Windows: OS rendszerben (egy) és processzus szintű (több) Open File Table (OFT), Egy tipikus fájl vezérlő blokk (File Control Block) ahol ACL- Access Control List

5 UNIX: OFT (apps.)+oft(os) + INODE (Index-NODE rövidítése) bejegyzésekből álló tábla (ILIST). Az INODE egy bejegyzés egy információs táblán (i-list). Minden fájlnak egyedi saját INODE-ja van. Maga a tábla pedig OS szintű.

6 Az INODE írja le egy fájl lemezen való elhelyezkedését, a fájl tulajdonosát, a hozzáférési jogosultságokat és időket. Minden fájl egy és csak is egy INODE-dal rendelkezik. A Linux ext2 fájlrendszerében az INODE a következő információkat tartalmazza: Tulajdonosazonosító. Csoporttulajdonos-azonosító. Típus: közönséges fájl, katalógus, karakter vagy blokk eszközmeghajtó, csővezeték, szimbolikus link. Hozzáférési jogok. A hozzáférési jogok három osztályba sorolhatók: a tulajdonos, a tulajdonos csoporttársa és bárki más jogai. Mindhárom osztályra megadható írási, olvasási és végrehajtási jog. Katalógusok esetén a végrehajtási jog a katalógusban való keresési jogot jelent. A fájl utolsó módosításának és hozzáférésének időpontja A fájlhoz tartozó nevek (link-ek) száma. A fájl mérete. A fájl által elfoglalt lemezblokkok táblázata. A fájl törlésének időpontja. Stb.

7 UNIX file rendszer logikai felépítése

8 What is meant by mounting a drive? Fájl rendszer mountolás Before your computer can use any kind of storage device (such as a hard drive, CD-ROM, or network share), you or your operating system must make it accessible through the computer's file system. This process is called mounting. You can access only files on mounted media. Tehát: a 'mountolás' egy adathordozó logikai illesztése a (fájl-) rendszerbe. Csak a sikeres mountolás után válnak elérhetővé a rajta lévő adatok (fájlok). Mountolás példa: + = Felismert adathordozó

9 Allokációs módszerek Folytonos (folyamatos) (Contiguous Allocation) A fájl egy folytonos fizikai blokk sorozatot foglal el. Hozzáférés egyszerű és gyors HDD esetén (a sáv folytonosan olvasható a forgó lemezről). Növekvő méretű fájloknak a helyfoglalás problémás: Milyen méretű szabad helyet allokáljunk? Új fájlok számára megfelelő szabad hely megtalálása nehéz, külső tördelődés lép fel. Fájl törlése után a méretének megfelelő számú blokk felszabadul. Erre a helyre kisebb vagy egyenlő méretű fájl írható. Ugyan azokat az algoritmusokat használhatjuk, mint a memória foglalás során (First fit, Next fit, Best fit, Worst fit). Növekvő fájlok: A Best fit allokációs stratégia különösen veszélyes. A fájl nagyobb szabad helyre másolása (erőforrás igényes).

10 Külső tördelődés csökkentése: Teljes másolás egy üres diszkre majd vissza (offline).rendszerleállással jár. Hosszú ideig tart és erőforrás igényes. Futási idejű (on-line) töredezettség csökkentés (defragmentation). Példa

11 Linkelt (Linked, Láncolt) A könyvtárakat leíró adatstruktúrák tartalmazzák az első és az utolsó blokk azonosítóját. Minden blokk tartalmazza a következő blokk azonosítóját A fájlhoz tartozó blokkok tetszőleges helyen lehetnek a diszken. Nincs külső töredezettség. Problémák: Szekvenciális fájl elérésre alkalmas, a fájlba indexelni viszont nehéz (pl. egy N-dik blokk direkt elérése esetén). A blokkokban lévő azonosítók helyet foglalnak. Sérülékeny (azonosítók fűzik a blokkokat össze). Sok pozicionálást (fejmozgás időigényes) okoz (seek művelet), a blokkok el vannak szórva a diszken. Pl. a FAT fájlrendszer ezt használja. Töredezettség mentesség ebben az esetben mást jelent:

12 Cél a fejmozgás minimalizálása egy file olvasása során. A fájlok egymás utáni blokkokon történő tárolását tűzi ki célul. Ezt is defragmentation-nak hívják... Ilyen célból ajánlott időnként pl. a Windows operációs rendszerek alatt a töredezettség mentesítő programok futtatása. Jelentősen nőhet a fájlkezelés sebessége. Az írást is gyorsítja, nem csak az olvasást! data

13 Indexelt (Indexed): Index blokkok használatán alapszik: Egyes blokkokat (clusters) fájlokhoz tartozó indexek (blokk azonosító) tárolására kell használni. Szekvenciális és indexelt elérésre is alkalmas. Összetettebb és sérülékeny (az index blokkok sérülése a fájlt elérhetetlenné teszi). Az index blokkokat viszont könnyű többszörözni (replikálni). Sok fejmozgást okoz (seek művelet), a blokkok el vannak szórva a diszken. Itt is lehet a láncolt listás töredezettség mentesítéshez hasonló algoritmusokat használni a fejmozgás minimalizálására.

14 Minden fájlnak van saját indexblokkja Indexblokk Fájl azonosító Indexblokk

15 Szabad hely kezelés (free space management) Bit térkép / vektor (bitmap, bitvector). Diszk minden blokkjához egy-egy bitet rendelünk, a bit értéke mutatja az adott blokk foglaltságát Láncolt lista (linked list). Láncolt lista a szabad blokkokról. Szabad helyek csoportjainak listája (Grouping). Valamely kritérium alapján csoportosított blokkok listája. Pl. egy-egy cilinderhez/sávhoz tartozó szabad blokkok. Egybefüggő szabad területek nyilvántartása (Space maps). Egymás mellett lévő szabad blokkok nyilvántartása.

16 Linked list bitvektor

17 Directory implementáció A jegyzék maga is egy fájl, ami bejegyzéseket tartalmaz más fájlokról. A bejegyzésekben a fájlok attribútumait tárolhatjuk. Miután a jegyzék is fájl, blokkok tartoznak hozzá is. Blokkjain belül vannak a bejegyzések, ezek lehetnek állandó, vagy változó hosszúságúak. A bejegyzésekben az attribútumok között a legfontosabb a fájlnév. A bejegyzések struktúrája lehet: Lineáris (vagy szekvenciális ) o nem rendezett bejegyzéseken alapszik, ezek a bejegyzések között nem foglalt bejegyzések is lehetnek (a törölt fájlokra); o rendezett, hézagok nélküli bejegyzéseken, ahol is gyorsabb keresési módszerek is megvalósíthatók; Hash táblás: a szokásos szekvenciális bejegyzések mellett egy hash táblát is implementálnak, ami a gyorsabb keresést segíti.

18 Hashing, hash tábla Egy olyan adatszerkezet, amely egy Hash függvény segítségével állapítja meg, hogy melyik kulcshoz milyen érték tartozik - így implementál egy érték-táblát (asszociatív tömb). A hash függvény segítségével a kulcsot leképezzük az adatokat tároló tömb egy adott indexére, ahol a keresett érték fellelhető. Ideális esetben minden értelmezett kulcsra egyedi hash-t állít elő a hashelő függvény, de ez a gyakorlatban ritkán megvalósítható - így számolnunk kell azzal, hogy két különböző kulcsra ugyanazt a hash-t kapjuk, és kezelnünk kell az ilyenkor fellépő hash ütközést (collision). Sok esetben a hash táblák teljesítménye elég magas, ezért széles körben használják asszociatív tömbök implementációjában, adatbázisok indexelésében, illetve a Cache memória felépítésében.

19 Helyreállítás Törölt fájlok, partíciók, mappák helyreállítása. Adatok biztonsági másolatainak készítése (Backup) és az alapján történő visszaállítás (Restore). Stratégiák: Fontos megjegyezni, hogy nincs olyan fájlrendszer, amely tökéletesen megfelelne mindenféle alkalmazáshoz. Minden fájlrendszernek vannak erősségei és gyengéi, amelyeket figyelembe kell venni. Emellett még a legkifinomultabb fájlrendszer sem helyettesíthet egy józan mentési stratégiát.

20 Alapvetően két fő típusa van a biztonsági mentéseknek (Backup). Az egyik (Rendszermentés) a rendszerprogramokat és a rendszer alapbeállításait menti, egy az eltávolítás után biztonságos helyen tárolható adathordozóra, a másik mentéstípus (Adatmentés) az adatok és az alkalmazások mentésére szolgál. A kettőt kombinálhatjuk is, de nem minden esetben érdemes. Jobb különválasztani az alapvető rendszerprogramokat és rendszerbeállításokat a felhasználói programoktól és adatterülettől. Az első típusba (Rendszermentés) tartozó biztonsági mentést akkor érdemes elkészíteni, amikor a rendszert először üzembe állítják, és perifériáit, hálózati és egyéb adatkapcsolatait már megfelelő módon beüzemelték. Ugyancsak e mentéskörbe tartozik a számítógép felhasználóinak adatbázisa és a Registry.